aboutsummaryrefslogtreecommitdiff
path: root/doc/guix.texi
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-01-10 15:50:30 +0100
committerLudovic Courtès <ludo@gnu.org>2021-02-01 17:32:35 +0100
commit9fd7b050e2198c89f0763fe79f5c541b77b8e5c9 (patch)
tree192d7a16bea53e80ce0e13a064aebb77ef1a9ef8 /doc/guix.texi
parent579506e272cf68649ec68ad8a976a17426ea630c (diff)
downloadguix-9fd7b050e2198c89f0763fe79f5c541b77b8e5c9.tar
guix-9fd7b050e2198c89f0763fe79f5c541b77b8e5c9.tar.gz
guix package: Add '--export-manifest'.
* guix/scripts/package.scm (export-manifest): New procedure. (show-help, %options): Add '--export-manifest'. (process-query): Honor it. * guix/build/profiles.scm (build-profile): Mention it. * tests/guix-package.sh: Test it. * doc/guix.texi (Invoking guix package): Document it.
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi21
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 7393cc8ecd..e5872b5f24 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3294,6 +3294,9 @@ objects, like this:
'("emacs" "guile@@2.2" "guile@@2.2:debug"))
@end lisp
+@xref{export-manifest, @option{--export-manifest}}, to learn how to
+obtain a manifest file from an existing profile.
+
@item --roll-back
@cindex rolling back
@cindex undoing transactions
@@ -3596,6 +3599,24 @@ zeroth generation is never deleted.
Note that deleting generations prevents rolling back to them.
Consequently, this command must be used with care.
+@cindex manifest, exporting
+@anchor{export-manifest}
+@item --export-manifest
+Write to standard output a manifest suitable for @option{--manifest}
+corresponding to the chosen profile(s).
+
+This option is meant to help you migrate from the ``imperative''
+operating mode---running @command{guix install}, @command{guix upgrade},
+etc.---to the declarative mode that @option{--manifest} offers.
+
+Be aware that the resulting manifest @emph{approximates} what your
+profile actually contains; for instance, depending on how your profile
+was created, it can refer to packages or package versions that are not
+exactly what you specified.
+
+Keep in mind that a manifest is purely symbolic: it only contains
+package names and possibly versions, and their meaning varies over time.
+
@end table
Finally, since @command{guix package} may actually start build