Am Sat, Jun 21, 2025 at 06:27:23PM +0200 schrieb Sébastien Gendre: > (specification->package "[email protected]") > Does a `guix pull' and a `guix system reconfigure' only update prosody > if a package corresponding to the 0.12 is available ? And otherwise do > nothing ?
No, if such a package is not available you will end up with an error; this is what Rutherther meant. > Like, if I have the 0.12.1 installed and a `guix pull' give me access to > a definition of the version 0.12.2, the update is done while > reconfigure. But if the definiton of the package prosody is at version > 0.13.0 the update is not done ? Again, there will be an error about a package that is not found. Most packages exist in only one version; when 0.13 is added, 0.12 is dropped. Only for some rare packages, old versions are kept. On the command line, you could do something like guix package --do-not-upgrade prosody -u . to upgrade everything but prosody; in a manifest or system configuration file, you specify everything together and cannot mix different Guix versions. Notice that what you suggested above would introduce state (as does the command line I suggested) - if your first paragraph worked, then the result would be different if your previous system generation contained prosody (it would not be updated, but still be present in its former version); or not (it would remain not present). The idea of declaring everything in a file is to reproduce the same system regardless of its current state. This is actually reflected in the command name: "guix system reconfigure" does not update your system (starting from its current state, go to a different state), but configures a new system from scratch. Andreas
