guix time-machine command provides access to other
revisions of Guix, for example to install older versions of packages,
or to reproduce a computation in an identical environment. The revision
of Guix to be used is defined by a commit or by a channel
description file created by
(see Invoking guix describe).
The general syntax is:
guix time-machine options… -- command arg…
where command and arg… are passed unmodified to the
guix command if the specified revision. The options that define
this revision are the same as for
guix pull (see Invoking guix pull):
guix channel from the specified url, at the
given commit (a valid Git commit ID represented as a hexadecimal
string), or branch.
Read the list of channels from file. file must contain Scheme code that evaluates to a list of channel objects. See Channels for more information.
guix pull, the absence of any options means that the
the latest commit on the master branch will be used. The command
guix time-machine -- build hello
will thus build the package
hello as defined in the master branch,
which is in general a newer revison of Guix than you have installed.
Time travel works in both directions!
guix time-machine can trigger builds of channels and
their dependencies, and these are controlled by the standard build
options (see Common Build Options).