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


Reply via email to