Packages are installed or upgraded to the latest version available in
the distribution currently available on your local machine. To update
that distribution, along with the Guix tools, you must run
pull: the command downloads the latest Guix source code and package
descriptions, and deploys it.
guix package will use packages and package
versions from this just-retrieved copy of Guix. Not only that, but all
the Guix commands and Scheme modules will also be taken from that latest
guix sub-commands added by the update also
Any user can update their Guix copy using
guix pull, and the
effect is limited to the user who run
guix pull. For
instance, when user
guix pull, this has no
effect on the version of Guix that user
alice sees, and vice
guix pull command is usually invoked with no arguments,
but it supports the following options:
Produce verbose output, writing build logs to the standard error output.
Download the source tarball of Guix from url.
By default, the tarball is taken from its canonical address at
gnu.org, for the stable branch of Guix.
With some Git servers, this can be used to deploy any version of Guix. For example, to download and deploy version 0.12.0 of Guix from the canonical Git repo:
guix pull --url=https://git.savannah.gnu.org/cgit/guix.git/snapshot/v0.12.0.tar.gz
It can also be used to deploy arbitrary Git revisions:
guix pull --url=https://git.savannah.gnu.org/cgit/guix.git/snapshot/74d862e8a.tar.gz
Use the bootstrap Guile to build the latest Guix. This option is only useful to Guix developers.
guix pull supports all the common build options
(see Common Build Options).
Under the hood,
guix pull updates the
~/.config/guix/latest symbolic link to point to the latest Guix,
guix command loads code from there. Currently, the
only way to roll back an invocation of
guix pull is to
manually update this symlink to point to the previous Guix.