nls: Update translations.
[jackhill/guix/guix.git] / po / guix / oc.po
index e7e85ca..2fbbe9d 100644 (file)
@@ -1,12 +1,13 @@
 # SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR the authors of Guix (msgids) and the following authors
+# Copyright (C) 2021 the authors of Guix (msgids) and the following authors (msgstr)
 # This file is distributed under the same license as the GNU guix package.
 # Quentin PAGÈS <quentinantonin@free.fr>, 2021.
+#: guix/diagnostics.scm:157
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU guix\n"
 "Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
-"POT-Creation-Date: 2021-05-10 22:57+0200\n"
+"POT-Creation-Date: 2022-01-08 15:18+0000\n"
 "PO-Revision-Date: 2021-05-03 02:58+0000\n"
 "Last-Translator: Quentin PAGÈS <quentinantonin@free.fr>\n"
 "Language-Team: Occitan <https://translate.fedoraproject.org/projects/guix/guix/oc/>\n"
@@ -64,7 +65,7 @@ msgstr ""
 msgid "choosing ~a@~a from ~a~%"
 msgstr ""
 
-#: gnu/packages.scm:486 guix/scripts/package.scm:214
+#: gnu/packages.scm:486 guix/scripts/package.scm:216
 #, scheme-format
 msgid "package '~a' has been superseded by '~a'~%"
 msgstr ""
@@ -84,134 +85,159 @@ msgstr "~A : paquet desconegut~%"
 msgid "package `~a' lacks output `~a'~%"
 msgstr ""
 
-#: gnu/services.scm:254
+#: gnu/services.scm:266
 #, scheme-format
 msgid "~a: no value specified for service of type '~a'"
 msgstr ""
 
-#: gnu/services.scm:358
+#: gnu/services.scm:376
 msgid ""
 "Build the operating system top-level directory, which in\n"
 "turn refers to everything the operating system needs: its kernel, initrd,\n"
 "system profile, boot script, and so on."
 msgstr ""
 
-#: gnu/services.scm:388
+#: gnu/services.scm:406
 msgid ""
 "Produce the operating system's boot script, which is spawned\n"
 "by the initrd once the root file system is mounted."
 msgstr ""
 
-#: gnu/services.scm:504
+#: gnu/services.scm:522
 msgid ""
 "Store provenance information about the system in the system\n"
 "itself: the channels used when building the system, and its configuration\n"
 "file, when available."
 msgstr ""
 
-#: gnu/services.scm:587
+#: gnu/services.scm:605
 msgid ""
 "Delete files from @file{/tmp}, @file{/var/run}, and other\n"
 "temporary locations at boot time."
 msgstr ""
 
-#: gnu/services.scm:649
+#: gnu/services.scm:667
 msgid ""
 "Run @dfn{activation} code at boot time and upon\n"
 "@command{guix system reconfigure} completion."
 msgstr ""
 
-#: gnu/services.scm:737
+#: gnu/services.scm:755
 msgid ""
 "Add special files to the root file system---e.g.,\n"
 "@file{/usr/bin/env}."
 msgstr ""
 
-#: gnu/services.scm:760
+#: gnu/services.scm:778
 #, scheme-format
 msgid "duplicate '~a' entry for /etc"
 msgstr ""
 
-#: gnu/services.scm:788
+#: gnu/services.scm:806
 msgid "Populate the @file{/etc} directory."
 msgstr ""
 
-#: gnu/services.scm:805
+#: gnu/services.scm:846
 msgid ""
 "Populate @file{/run/setuid-programs} with the specified\n"
 "executables, making them setuid-root."
 msgstr ""
 
-#: gnu/services.scm:831
+#: gnu/services.scm:872
 msgid ""
 "This is the @dfn{system profile}, available as\n"
 "@file{/run/current-system/profile}.  It contains packages that the sysadmin\n"
 "wants to be globally available to all the system users."
 msgstr ""
 
-#: gnu/services.scm:851
+#: gnu/services.scm:892
 msgid ""
 "Make ``firmware'' files loadable by the operating system\n"
 "kernel.  Firmware may then be uploaded to some of the machine's devices, such\n"
 "as Wifi cards."
 msgstr ""
 
-#: gnu/services.scm:882
+#: gnu/services.scm:923
 msgid ""
 "Register garbage-collector roots---i.e., store items that\n"
 "will not be reclaimed by the garbage collector."
 msgstr ""
 
-#: gnu/services.scm:908
+#: gnu/services.scm:981
+msgid ""
+"Builds the linux-libre kernel profile, containing\n"
+"the kernel itself and any linux-loadable kernel modules.  This can be extended\n"
+"with a function that accepts the current configuration and returns a new\n"
+"configuration."
+msgstr ""
+
+#: gnu/services.scm:1003
+msgid ""
+"Adds packages and package outputs as modules\n"
+"included in the booted linux-libre profile.  Other services can extend this\n"
+"service type to add particular modules to the set of linux-loadable modules."
+msgstr ""
+
+#: gnu/services.scm:1030
 #, scheme-format
 msgid "no target of type '~a' for service '~a'"
 msgstr ""
 
-#: gnu/services.scm:934 gnu/services.scm:1053
+#: gnu/services.scm:1056 gnu/services.scm:1175
 #, scheme-format
 msgid "more than one target service of type '~a'"
 msgstr ""
 
-#: gnu/services.scm:1043
+#: gnu/services.scm:1165
 #, scheme-format
 msgid "service of type '~a' not found"
 msgstr ""
 
-#: gnu/system.scm:352
+#: gnu/system.scm:359
 #, scheme-format
 msgid "unrecognized uuid ~a at '~a'~%"
 msgstr ""
 
-#: gnu/system.scm:434
+#: gnu/system.scm:441
 #, scheme-format
 msgid "unrecognized crypto-devices ~S at '~a'~%"
 msgstr ""
 
-#: gnu/system.scm:451
+#: gnu/system.scm:458
 #, scheme-format
 msgid "unrecognized boot parameters at '~a'~%"
 msgstr ""
 
-#: gnu/system.scm:564
+#: gnu/system.scm:571
 #, scheme-format
 msgid "mapped-device '~a' may not be mounted by the bootloader.~%"
 msgstr ""
 
-#: gnu/system.scm:1025
+#: gnu/system.scm:599
+#, scheme-format
+msgid "List elements of the field 'swap-devices' should now use the <swap-space> record, as the old method is deprecated. See \"(guix) operating-system Reference\" for more details.~%"
+msgstr ""
+
+#: gnu/system.scm:1077
 #, scheme-format
 msgid "using a string for file '~a' is deprecated; use 'plain-file' instead~%"
 msgstr ""
 
-#: gnu/system.scm:1041
+#: gnu/system.scm:1093
 #, scheme-format
 msgid "using a monadic value for '~a' is deprecated; use 'plain-file' instead~%"
 msgstr ""
 
-#: gnu/system.scm:1169
+#: gnu/system.scm:1147
+#, scheme-format
+msgid "representing setuid programs with file-like objects is deprecated; use 'setuid-program' instead~%"
+msgstr ""
+
+#: gnu/system.scm:1248
 msgid "missing root file system"
 msgstr ""
 
-#: gnu/system.scm:1245
+#: gnu/system.scm:1324
 #, scheme-format
 msgid "~a: invalid locale name"
 msgstr ""
@@ -242,6 +268,238 @@ msgid ""
 "@code{SIGKILL}."
 msgstr ""
 
+#: gnu/home/services.scm:127
+msgid ""
+"Build the home environment top-level directory,\n"
+"which in turn refers to everything the home environment needs: its\n"
+"packages, configuration files, activation script, and so on."
+msgstr ""
+
+#: gnu/home/services.scm:158
+#, scheme-format
+msgid ""
+"This is the @dfn{home profile} and can be found in\n"
+"@file{~/.guix-home/profile}.  It contains packages and\n"
+"configuration files that the user has declared in their\n"
+"@code{home-environment} record."
+msgstr ""
+
+#: gnu/home/services.scm:180
+#, scheme-format
+msgid "duplicate definition for `~a' environment variable ~%"
+msgstr ""
+
+#: gnu/home/services.scm:242
+msgid "Set the environment variables."
+msgstr ""
+
+#: gnu/home/services.scm:253
+#, scheme-format
+msgid "duplicate '~a' entry for files/"
+msgstr ""
+
+#: gnu/home/services.scm:277
+#, scheme-format
+msgid ""
+"Configuration files for programs that\n"
+"will be put in @file{~/.guix-home/files}."
+msgstr ""
+
+#. TRANSLATORS: 'on-first-login' is the name of a service and
+#. shouldn't be translated
+#: gnu/home/services.scm:308
+msgid ""
+"XDG_RUNTIME_DIR doesn't exists, on-first-login script\n"
+"won't execute anything.  You can check if xdg runtime directory exists,\n"
+"XDG_RUNTIME_DIR variable is set to appropriate value and manually execute the\n"
+"script by running '$HOME/.guix-home/on-first-login'"
+msgstr ""
+
+#: gnu/home/services.scm:328
+msgid ""
+"Run gexps on first user login.  Can be\n"
+"extended with one gexp."
+msgstr ""
+
+#: gnu/home/services.scm:391
+msgid ""
+"Run gexps to activate the current\n"
+"generation of home environment and update the state of the home\n"
+"directory.  @command{activate} script automatically called during\n"
+"reconfiguration or generation switching.  This service can be extended\n"
+"with one gexp, but many times, and all gexps must be idempotent."
+msgstr ""
+
+#: gnu/home/services.scm:472
+#, scheme-format
+msgid ""
+"Comparing ~a and\n"
+"~10t~a..."
+msgstr ""
+
+#: gnu/home/services.scm:474
+#, scheme-format
+msgid " done (~a)\n"
+msgstr ""
+
+#. TRANSLATORS: 'on-change' is the name of a service type, it
+#. probably shouldn't be translated.
+#: gnu/home/services.scm:483
+msgid ""
+"Evaluating on-change gexps.\n"
+"\n"
+msgstr ""
+
+#: gnu/home/services.scm:485
+msgid ""
+"On-change gexps evaluation finished.\n"
+"\n"
+msgstr ""
+
+#: gnu/home/services.scm:499
+msgid ""
+"G-expressions to run if the specified files have changed since the\n"
+"last generation.  The extension should be a list of lists where the\n"
+"first element is the pattern for file or directory that expected to be\n"
+"changed, and the second element is the G-expression to be evaluated."
+msgstr ""
+
+#: gnu/home/services.scm:519
+msgid ""
+"Store provenance information about the home environment in the home\n"
+"environment itself: the channels used when building the home\n"
+"environment, and its configuration file, when available."
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:144
+#, scheme-format
+msgid "Backing up ~a..."
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:147
+#: gnu/home/services/symlink-manager.scm:169
+#: gnu/home/services/symlink-manager.scm:184
+#: gnu/home/services/symlink-manager.scm:215
+#: gnu/home/services/symlink-manager.scm:223
+msgid " done\n"
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:154
+msgid ""
+"Cleaning up symlinks from previous home-environment.\n"
+"\n"
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:158
+msgid ""
+"Cleanup finished.\n"
+"\n"
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:166
+#: gnu/home/services/symlink-manager.scm:182
+#, scheme-format
+msgid "Removing ~a..."
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:172
+#, scheme-format
+msgid "Skipping ~a (not an empty directory)... done\n"
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:187
+#, scheme-format
+msgid "Skipping ~a (not a symlink to store)... done\n"
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:198
+msgid "New symlinks to home-environment will be created soon.\n"
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:200
+#, scheme-format
+msgid ""
+"All conflicting files will go to ~a.\n"
+"\n"
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:210
+#, scheme-format
+msgid "Skipping   ~a (directory already exists)... done\n"
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:213
+#, scheme-format
+msgid "Creating   ~a..."
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:220
+#, scheme-format
+msgid "Symlinking ~a -> ~a..."
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:234
+msgid ""
+" done\n"
+"Finished updating symlinks.\n"
+"\n"
+msgstr ""
+
+#: gnu/home/services/symlink-manager.scm:248
+msgid ""
+"Provide an @code{update-symlinks}\n"
+"script, which creates symlinks to configuration files and directories\n"
+"on every activation.  If an existing file would be overwritten by a\n"
+"symlink, backs up that file first."
+msgstr ""
+
+#: gnu/system/file-systems.scm:135
+#, scheme-format
+msgid "invalid file system mount flag:~{ ~s~}~%"
+msgid_plural "invalid file system mount flags:~{ ~s~}~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: gnu/system/file-systems.scm:715
+msgid "The store is on a Btrfs subvolume, but the subvolume name is unknown."
+msgstr ""
+
+#: gnu/system/file-systems.scm:719
+msgid "Use the @code{subvol} Btrfs file system option."
+msgstr ""
+
+#: gnu/system/image.scm:302
+#, scheme-format
+msgid "Unsupported image type ~a~%."
+msgstr ""
+
+#: gnu/system/image.scm:828
+#, scheme-format
+msgid "~a: no such image type"
+msgstr ""
+
+#: gnu/system/linux-container.scm:80
+msgid ""
+"Provide loopback and networking without actually doing\n"
+"anything.  This service is used by guest systems running in containers, where\n"
+"networking support is provided by the host."
+msgstr ""
+
+#: gnu/system/linux-container.scm:223
+#, scheme-format
+msgid "system container is running as PID ~a~%"
+msgstr ""
+
+#: gnu/system/linux-container.scm:224
+#, scheme-format
+msgid "Run 'sudo guix container exec ~a /run/current-system/profile/bin/bash --login'\n"
+msgstr ""
+
+#: gnu/system/linux-container.scm:226
+#, scheme-format
+msgid "or run 'sudo nsenter -a -t ~a' to get a shell into it.~%"
+msgstr ""
+
 #: gnu/system/mapped-devices.scm:134
 msgid "Map a device node using Linux's device mapper."
 msgstr ""
@@ -269,46 +527,285 @@ msgid ""
 "option of @command{guix system}.\n"
 msgstr ""
 
-#: gnu/system/mapped-devices.scm:251
+#: gnu/system/mapped-devices.scm:257
 #, scheme-format
 msgid "no LUKS partition with UUID '~a'"
 msgstr ""
 
-#: gnu/system/shadow.scm:254
+#: gnu/system/shadow.scm:260
 #, scheme-format
 msgid "the following accounts appear more than once:~{ ~a~}~%"
 msgstr ""
 
-#: gnu/system/shadow.scm:262
+#: gnu/system/shadow.scm:268
 #, scheme-format
 msgid "the following groups appear more than once:~{ ~a~}~%"
 msgstr ""
 
-#: gnu/system/shadow.scm:273
+#: gnu/system/shadow.scm:279
 #, scheme-format
 msgid "supplementary group '~a' of user '~a' is undeclared"
 msgstr ""
 
-#: gnu/system/shadow.scm:283
+#: gnu/system/shadow.scm:289
 #, scheme-format
 msgid "primary group '~a' of user '~a' is undeclared"
 msgstr ""
 
-#: gnu/system/shadow.scm:425
+#: gnu/system/shadow.scm:431
 msgid ""
 "Ensure the specified user accounts and groups exist, as well\n"
 "as each account home directory."
 msgstr ""
 
-#: guix/import/opam.scm:166
+#: guix/import/egg.scm:354
+msgid "Updater for CHICKEN egg packages"
+msgstr ""
+
+#: guix/import/cpan.scm:346
+#, scheme-format
+msgid "input '~a' of ~a is in Perl core~%"
+msgstr ""
+
+#: guix/import/cpan.scm:359
+msgid "Updater for CPAN packages"
+msgstr ""
+
+#: guix/import/cran.scm:176
+#, scheme-format
+msgid "failed to retrieve list of packages from ~a: ~a (~a)~%"
+msgstr ""
+
+#: guix/import/cran.scm:211
+#, scheme-format
+msgid "~A: hg download failed~%"
+msgstr ""
+
+#: guix/import/cran.scm:255
+#, scheme-format
+msgid "failed to retrieve package information from ~a: ~a (~a)~%"
+msgstr ""
+
+#: guix/import/cran.scm:611
+msgid "couldn't find meta-data for R package"
+msgstr ""
+
+#: guix/import/cran.scm:725
+msgid "Updater for CRAN packages"
+msgstr ""
+
+#: guix/import/cran.scm:732
+msgid "Updater for Bioconductor packages"
+msgstr ""
+
+#: guix/import/elpa.scm:103
+#, scheme-format
+msgid "~A: currently not supported~%"
+msgstr ""
+
+#: guix/import/elpa.scm:115
+#, scheme-format
+msgid "~A: download failed~%"
+msgstr ""
+
+#: guix/import/elpa.scm:270
+#, scheme-format
+msgid "Unsupported MELPA fetcher: ~a, falling back to unstable MELPA source.~%"
+msgstr ""
+
+#: guix/import/elpa.scm:448
+msgid "Updater for ELPA packages"
+msgstr ""
+
+#: guix/import/github.scm:170
+#, scheme-format
+msgid "~a is unreachable (~a)~%"
+msgstr ""
+
+#: guix/import/github.scm:260
+msgid "Updater for GitHub packages"
+msgstr ""
+
+#: guix/import/git.scm:70
+msgid "no valid tags found"
+msgstr ""
+
+#: guix/import/git.scm:77
+msgid "no tags were found"
+msgstr ""
+
+#: guix/import/git.scm:182
+#, scheme-format
+msgid "~a for ~a~%"
+msgstr ""
+
+#: guix/import/git.scm:189
+#, scheme-format
+msgid "failed to fetch Git repository for ~a~%"
+msgstr ""
+
+#: guix/import/git.scm:227
+msgid "Updater for packages hosted on Git repositories"
+msgstr ""
+
+#: guix/import/gnu.scm:118
+#, fuzzy, scheme-format
+#| msgid "~A: package not found for version ~a~%"
+msgid "no GNU package found for ~a"
+msgstr "~A : paquet pas trobat per la version ~a~%"
+
+#: guix/import/gnu.scm:126
+#, scheme-format
+msgid "failed to determine latest release of GNU ~a"
+msgstr ""
+
+#: guix/import/go.scm:569
+#, scheme-format
+msgid "unsupported vcs type '~a' for package '~a'"
+msgstr ""
+
+#: guix/import/go.scm:647
+#, scheme-format
+msgid ""
+"Failed to import package ~s.\n"
+"reason: ~s could not be fetched: HTTP error ~a (~s).\n"
+"This package and its dependencies won't be imported.~%"
+msgstr ""
+
+#: guix/import/go.scm:656
+#, scheme-format
+msgid ""
+"Failed to import package ~s.\n"
+"reason: ~s.~%"
+msgstr ""
+
+#: guix/import/minetest.scm:178
+#, scheme-format
+msgid "In ~a: author names must consist of at least a single character.~%"
+msgstr ""
+
+#: guix/import/minetest.scm:182
+#, scheme-format
+msgid "In ~a: mod names must consist of at least a single character.~%"
+msgstr ""
+
+#: guix/import/minetest.scm:187
+#, scheme-format
+msgid "In ~a: author names and mod names may not contain forward slashes.~%"
+msgstr ""
+
+#: guix/import/minetest.scm:191
+#, scheme-format
+msgid "mod names may not be empty.~%"
+msgstr ""
+
+#: guix/import/minetest.scm:192
+#, scheme-format
+msgid "The name of the author is missing in ~a.~%"
+msgstr ""
+
+#: guix/import/minetest.scm:213
+#, scheme-format
+msgid "~a is ambiguous, presuming ~a (other options include: ~a)~%"
+msgstr ""
+
+#: guix/import/minetest.scm:218
 #, scheme-format
-msgid "Package not found in opam repository: ~a~%"
+msgid "No mods with name ~a were found.~%"
 msgstr ""
 
-#: guix/import/opam.scm:388
+#: guix/import/minetest.scm:280
+#, scheme-format
+msgid "The package search API doesn't exist anymore.~%"
+msgstr ""
+
+#: guix/import/minetest.scm:423
+#, scheme-format
+msgid "The dependency ~a of ~a has multiple different implementations ~a.~%"
+msgstr ""
+
+#: guix/import/minetest.scm:430
+#, scheme-format
+msgid "The implementation with the highest score will be choosen!~%"
+msgstr ""
+
+#: guix/import/minetest.scm:433
+#, scheme-format
+msgid "The implementation that has been downloaded the most will be choosen!~%"
+msgstr ""
+
+#: guix/import/minetest.scm:437
+#, scheme-format
+msgid "The dependency ~a of ~a does not have any implementation.  It will be ignored!~%"
+msgstr ""
+
+#: guix/import/minetest.scm:451
+#, scheme-format
+msgid "no package metadata for ~a on ContentDB~%"
+msgstr ""
+
+#: guix/import/minetest.scm:454
+#, scheme-format
+msgid "no dependency information for ~a on ContentDB~%"
+msgstr ""
+
+#: guix/import/minetest.scm:457
+#, scheme-format
+msgid "no release of ~a on ContentDB~%"
+msgstr ""
+
+#: guix/import/minetest.scm:514
+msgid "Updater for Minetest packages on ContentDB"
+msgstr ""
+
+#: guix/import/opam.scm:144
+#, scheme-format
+msgid "'~a' is not a valid URI~%"
+msgstr ""
+
+#: guix/import/opam.scm:321
+#, fuzzy, scheme-format
+#| msgid "module ~a not found"
+msgid "opam: package '~a' not found~%"
+msgstr "modul ~a pas trobat"
+
+#: guix/import/opam.scm:427
 msgid "Updater for OPAM packages"
 msgstr ""
 
+#: guix/import/pypi.scm:230
+msgid "Could not extract requirement name in spec:"
+msgstr ""
+
+#: guix/import/pypi.scm:290
+#, scheme-format
+msgid "parse-requires.txt reached an unexpected condition on line ~a~%"
+msgstr ""
+
+#: guix/import/pypi.scm:356
+#, scheme-format
+msgid "Failed to extract file: ~a from wheel.~%"
+msgstr ""
+
+#: guix/import/pypi.scm:385
+#, scheme-format
+msgid "Cannot guess requirements from source archive: no requires.txt file found.~%"
+msgstr ""
+
+#: guix/import/pypi.scm:390
+#, scheme-format
+msgid "Unsupported archive format; cannot determine package dependencies from source archive: ~a~%"
+msgstr ""
+
+#: guix/import/pypi.scm:489
+#, scheme-format
+msgid "no source release for pypi package ~a ~a~%"
+msgstr ""
+
+#: guix/import/pypi.scm:554
+msgid "Updater for PyPI packages"
+msgstr ""
+
 #: gnu/installer.scm:214
 msgid "Locale"
 msgstr ""
@@ -392,10 +889,10 @@ msgstr ""
 #: gnu/installer/newt/network.scm:84 gnu/installer/newt/page.scm:309
 #: gnu/installer/newt/page.scm:673 gnu/installer/newt/page.scm:758
 #: gnu/installer/newt/partition.scm:56 gnu/installer/newt/partition.scm:91
-#: gnu/installer/newt/partition.scm:126 gnu/installer/newt/partition.scm:137
-#: gnu/installer/newt/partition.scm:634 gnu/installer/newt/partition.scm:655
-#: gnu/installer/newt/partition.scm:701 gnu/installer/newt/partition.scm:752
-#: gnu/installer/newt/partition.scm:763 gnu/installer/newt/services.scm:88
+#: gnu/installer/newt/partition.scm:126 gnu/installer/newt/partition.scm:141
+#: gnu/installer/newt/partition.scm:638 gnu/installer/newt/partition.scm:661
+#: gnu/installer/newt/partition.scm:707 gnu/installer/newt/partition.scm:765
+#: gnu/installer/newt/partition.scm:776 gnu/installer/newt/services.scm:130
 #: gnu/installer/newt/timezone.scm:63 gnu/installer/newt/user.scm:204
 #: gnu/installer/newt/wifi.scm:206
 msgid "Exit"
@@ -461,7 +958,7 @@ msgstr ""
 
 #: gnu/installer/newt/parameters.scm:55 gnu/installer/newt/keymap.scm:74
 #: gnu/installer/newt/locale.scm:63 gnu/installer/newt/locale.scm:78
-#: gnu/installer/newt/locale.scm:94 gnu/installer/newt/partition.scm:591
+#: gnu/installer/newt/locale.scm:94 gnu/installer/newt/partition.scm:595
 #: gnu/installer/newt/timezone.scm:64
 msgid "Back"
 msgstr ""
@@ -598,9 +1095,9 @@ msgid "Show"
 msgstr ""
 
 #: gnu/installer/newt/page.scm:225 gnu/installer/newt/page.scm:672
-#: gnu/installer/newt/page.scm:757 gnu/installer/newt/partition.scm:454
-#: gnu/installer/newt/partition.scm:633 gnu/installer/newt/partition.scm:654
-#: gnu/installer/newt/partition.scm:693 gnu/installer/newt/user.scm:66
+#: gnu/installer/newt/page.scm:757 gnu/installer/newt/partition.scm:458
+#: gnu/installer/newt/partition.scm:637 gnu/installer/newt/partition.scm:660
+#: gnu/installer/newt/partition.scm:699 gnu/installer/newt/user.scm:66
 #: gnu/installer/newt/user.scm:203
 msgid "OK"
 msgstr ""
@@ -684,208 +1181,233 @@ msgstr ""
 msgid "File-system type"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:146
+#: gnu/installer/newt/partition.scm:150
 msgid "Primary partitions count exceeded."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:147 gnu/installer/newt/partition.scm:152
-#: gnu/installer/newt/partition.scm:157
+#: gnu/installer/newt/partition.scm:151 gnu/installer/newt/partition.scm:156
+#: gnu/installer/newt/partition.scm:161
 msgid "Creation error"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:151
+#: gnu/installer/newt/partition.scm:155
 msgid "Extended partition creation error."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:156
+#: gnu/installer/newt/partition.scm:160
 msgid "Logical partition creation error."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:170
+#: gnu/installer/newt/partition.scm:174
 #, scheme-format
 msgid "Please enter the password for the encryption of partition ~a (label: ~a)."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:172 gnu/installer/newt/wifi.scm:92
+#: gnu/installer/newt/partition.scm:176 gnu/installer/newt/wifi.scm:92
 msgid "Password required"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:177
+#: gnu/installer/newt/partition.scm:181
 #, scheme-format
 msgid "Please confirm the password for the encryption of partition ~a (label: ~a)."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:179 gnu/installer/newt/user.scm:160
+#: gnu/installer/newt/partition.scm:183 gnu/installer/newt/user.scm:160
 msgid "Password confirmation required"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:191 gnu/installer/newt/user.scm:168
+#: gnu/installer/newt/partition.scm:195 gnu/installer/newt/user.scm:168
 msgid "Password mismatch, please try again."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:192 gnu/installer/newt/user.scm:169
+#: gnu/installer/newt/partition.scm:196 gnu/installer/newt/user.scm:169
 msgid "Password error"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:278
+#: gnu/installer/newt/partition.scm:282
 msgid "Please enter the partition gpt name."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:279
+#: gnu/installer/newt/partition.scm:283
 msgid "Partition name"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:309
+#: gnu/installer/newt/partition.scm:313
 msgid "Please enter the encrypted label"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:310
+#: gnu/installer/newt/partition.scm:314
 msgid "Encryption label"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:327
+#: gnu/installer/newt/partition.scm:331
 #, scheme-format
 msgid "Please enter the size of the partition. The maximum size is ~a."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:329
+#: gnu/installer/newt/partition.scm:333
 msgid "Partition size"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:347
+#: gnu/installer/newt/partition.scm:351
 msgid "The percentage can not be superior to 100."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:348 gnu/installer/newt/partition.scm:353
-#: gnu/installer/newt/partition.scm:358
+#: gnu/installer/newt/partition.scm:352 gnu/installer/newt/partition.scm:357
+#: gnu/installer/newt/partition.scm:362
 msgid "Size error"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:352
+#: gnu/installer/newt/partition.scm:356
 msgid "The requested size is incorrectly formatted, or too large."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:357
+#: gnu/installer/newt/partition.scm:361
 msgid "The request size is superior to the maximum size."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:377
+#: gnu/installer/newt/partition.scm:381
 msgid "Please enter the desired mounting point for this partition. Leave this field empty if you don't want to set a mounting point."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:379
+#: gnu/installer/newt/partition.scm:383
 msgid "Mounting point"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:443
+#: gnu/installer/newt/partition.scm:447
 #, scheme-format
 msgid "Creating ~a partition starting at ~a of ~a."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:445
+#: gnu/installer/newt/partition.scm:449
 #, scheme-format
 msgid "You are currently editing partition ~a."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:448
+#: gnu/installer/newt/partition.scm:452
 msgid "Partition creation"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:449
+#: gnu/installer/newt/partition.scm:453
 msgid "Partition edit"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:630
+#: gnu/installer/newt/partition.scm:634
 #, scheme-format
 msgid "Are you sure you want to delete everything on disk ~a?"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:632
+#: gnu/installer/newt/partition.scm:636
 msgid "Delete disk"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:646
+#: gnu/installer/newt/partition.scm:651
 msgid "You cannot delete a free space area."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:647 gnu/installer/newt/partition.scm:653
+#: gnu/installer/newt/partition.scm:652 gnu/installer/newt/partition.scm:659
 msgid "Delete partition"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:651
+#: gnu/installer/newt/partition.scm:657
 #, scheme-format
 msgid "Are you sure you want to delete partition ~a?"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:668
+#: gnu/installer/newt/partition.scm:674
 msgid ""
 "You can change a disk's partition table by selecting it and pressing ENTER. You can also edit a partition by selecting it and pressing ENTER, or remove it by pressing DELETE. To create a new partition, select a free space area and press ENTER.\n"
 "\n"
 "At least one partition must have its mounting point set to '/'."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:674
+#: gnu/installer/newt/partition.scm:680
 #, scheme-format
 msgid "This is the proposed partitioning. It is still possible to edit it or to go back to install menu by pressing the Exit button.~%~%"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:684
+#: gnu/installer/newt/partition.scm:690
 msgid "Guided partitioning"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:685
+#: gnu/installer/newt/partition.scm:691
 msgid "Manual partitioning"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:710
+#: gnu/installer/newt/partition.scm:716
 msgid "No root mount point found."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:711
+#: gnu/installer/newt/partition.scm:717
 msgid "Missing mount point"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:742
+#: gnu/installer/newt/partition.scm:721
+#, scheme-format
+msgid "Cannot read the ~a partition UUID. You may need to format it."
+msgstr ""
+
+#: gnu/installer/newt/partition.scm:724
+msgid "Wrong partition format"
+msgstr ""
+
+#: gnu/installer/newt/partition.scm:755
 msgid "Guided - using the entire disk"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:743
+#: gnu/installer/newt/partition.scm:756
 msgid "Guided - using the entire disk with encryption"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:744
+#: gnu/installer/newt/partition.scm:757
 msgid "Manual"
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:746
+#: gnu/installer/newt/partition.scm:759
 msgid "Please select a partitioning method."
 msgstr ""
 
-#: gnu/installer/newt/partition.scm:747
-msgid "Partitioning method"
+#: gnu/installer/newt/partition.scm:760
+msgid "Partitioning method"
+msgstr ""
+
+#: gnu/installer/newt/services.scm:39
+msgid "Please select the desktop environment(s) you wish to install.  If you select multiple desktop environments here, you will be able to choose from them later when you log in."
+msgstr ""
+
+#: gnu/installer/newt/services.scm:42
+msgid "Desktop environment"
+msgstr ""
+
+#: gnu/installer/newt/services.scm:59
+msgid "You can now select networking services to run on your system."
+msgstr ""
+
+#: gnu/installer/newt/services.scm:61
+msgid "Network service"
 msgstr ""
 
-#: gnu/installer/newt/services.scm:38
-msgid "Please select the desktop environment(s) you wish to install.  If you select multiple desktop environments here, you will be able to choose from them later when you log in."
+#: gnu/installer/newt/services.scm:79
+msgid "You can now select the CUPS printing service to run on your system."
 msgstr ""
 
-#: gnu/installer/newt/services.scm:41
-msgid "Desktop environment"
+#: gnu/installer/newt/services.scm:81
+msgid "Printing and document services"
 msgstr ""
 
-#: gnu/installer/newt/services.scm:58
-msgid "You can now select networking services to run on your system."
+#: gnu/installer/newt/services.scm:100
+msgid "Console services"
 msgstr ""
 
-#: gnu/installer/newt/services.scm:60
-msgid "Network service"
+#: gnu/installer/newt/services.scm:101
+msgid "Select miscellaneous services to run on your non-graphical system."
 msgstr ""
 
-#: gnu/installer/newt/services.scm:73
+#: gnu/installer/newt/services.scm:115
 msgid "Network management"
 msgstr ""
 
-#: gnu/installer/newt/services.scm:76
+#: gnu/installer/newt/services.scm:118
 msgid ""
 "Choose the method to manage network connections.\n"
 "\n"
@@ -1036,88 +1558,100 @@ msgstr ""
 msgid "Wifi"
 msgstr ""
 
-#: gnu/installer/parted.scm:399 gnu/installer/parted.scm:436
+#: gnu/installer/parted.scm:433 gnu/installer/parted.scm:470
 msgid "Free space"
 msgstr ""
 
-#: gnu/installer/parted.scm:525
+#: gnu/installer/parted.scm:559
 #, scheme-format
 msgid "Name: ~a"
 msgstr ""
 
-#: gnu/installer/parted.scm:526 gnu/installer/parted.scm:572
+#: gnu/installer/parted.scm:560 gnu/installer/parted.scm:606
 msgid "None"
 msgstr ""
 
-#: gnu/installer/parted.scm:531
+#: gnu/installer/parted.scm:565
 #, scheme-format
 msgid "Type: ~a"
 msgstr ""
 
-#: gnu/installer/parted.scm:535
+#: gnu/installer/parted.scm:569
 #, scheme-format
 msgid "File system type: ~a"
 msgstr ""
 
-#: gnu/installer/parted.scm:541
+#: gnu/installer/parted.scm:575
 #, scheme-format
 msgid "Bootable flag: ~:[off~;on~]"
 msgstr ""
 
-#: gnu/installer/parted.scm:545
+#: gnu/installer/parted.scm:579
 #, scheme-format
 msgid "ESP flag: ~:[off~;on~]"
 msgstr ""
 
-#: gnu/installer/parted.scm:551
+#: gnu/installer/parted.scm:585
 #, scheme-format
 msgid "Size: ~a"
 msgstr ""
 
-#: gnu/installer/parted.scm:557
+#: gnu/installer/parted.scm:591
 #, scheme-format
 msgid "Encryption: ~:[No~a~;Yes (label '~a')~]"
 msgstr ""
 
-#: gnu/installer/parted.scm:563
+#: gnu/installer/parted.scm:597
 #, scheme-format
 msgid "Format the partition? ~:[No~;Yes~]"
 msgstr ""
 
-#: gnu/installer/parted.scm:569
+#: gnu/installer/parted.scm:603
 #, scheme-format
 msgid "Mount point: ~a"
 msgstr ""
 
-#: gnu/installer/parted.scm:1388
+#: gnu/installer/parted.scm:1466
 #, scheme-format
 msgid "Device ~a is still in use."
 msgstr ""
 
-#: gnu/installer/services.scm:94
+#: gnu/installer/services.scm:95
 msgid "OpenSSH secure shell daemon (sshd)"
 msgstr ""
 
-#: gnu/installer/services.scm:98
+#: gnu/installer/services.scm:99
 msgid "Tor anonymous network router"
 msgstr ""
 
-#: gnu/installer/services.scm:102
+#: gnu/installer/services.scm:103
 msgid "Mozilla NSS certificates, for HTTPS access"
 msgstr ""
 
-#: gnu/installer/services.scm:109
+#: gnu/installer/services.scm:110
+msgid "Network time service (NTP), to set the clock automatically"
+msgstr ""
+
+#: gnu/installer/services.scm:115
+msgid "GPM mouse daemon, to use the mouse on the console"
+msgstr ""
+
+#: gnu/installer/services.scm:121
 msgid "NetworkManager network connection manager"
 msgstr ""
 
-#: gnu/installer/services.scm:114
+#: gnu/installer/services.scm:126
 msgid "Connman network connection manager"
 msgstr ""
 
-#: gnu/installer/services.scm:119
+#: gnu/installer/services.scm:131
 msgid "DHCP client (dynamic IP address assignment)"
 msgstr ""
 
+#: gnu/installer/services.scm:137
+msgid "CUPS printing system (no Web interface by default)"
+msgstr ""
+
 #. TRANSLATORS: This is a comment within a Scheme file.  Each line must
 #. start with ";; " (two semicolons and a space).  Please keep line
 #. length below 60 characters.
@@ -1142,73 +1676,88 @@ msgstr ""
 msgid "Command failed with exit code ~a.~%"
 msgstr ""
 
-#: gnu/machine/ssh.scm:114
+#: gnu/machine/ssh.scm:117
 #, scheme-format
 msgid "<machine-ssh-configuration> without a 'host-key' is deprecated~%"
 msgstr ""
 
-#: gnu/machine/ssh.scm:189
+#: gnu/machine/ssh.scm:192
 #, scheme-format
 msgid "device '~a' not found: ~a"
 msgstr ""
 
-#: gnu/machine/ssh.scm:204
+#: gnu/machine/ssh.scm:207
 #, scheme-format
 msgid "no file system with label '~a'"
 msgstr ""
 
-#: gnu/machine/ssh.scm:223
+#: gnu/machine/ssh.scm:226
 #, scheme-format
 msgid "no file system with UUID '~a'"
 msgstr ""
 
-#: gnu/machine/ssh.scm:273
+#: gnu/machine/ssh.scm:276
 #, scheme-format
 msgid "missing modules for ~a:~{ ~a~}~%"
 msgstr ""
 
-#: gnu/machine/ssh.scm:308
+#: gnu/machine/ssh.scm:311
 #, scheme-format
 msgid "incorrect target system ('~a' was given, while the system reports that it is '~a')~%"
 msgstr ""
 
-#: gnu/machine/ssh.scm:434
+#: gnu/machine/ssh.scm:437
 #, scheme-format
 msgid "no signing key '~a'. have you run 'guix archive --generate-key?'"
 msgstr ""
 
+#: gnu/machine/ssh.scm:469
+#, scheme-format
+msgid "failed to switch systems while deploying '~a':~%~{~s ~}"
+msgstr ""
+
+#: gnu/machine/ssh.scm:477
+#, scheme-format
+msgid "an error occurred while upgrading services on '~a':~%~{~s ~}~%"
+msgstr ""
+
 #: gnu/machine/ssh.scm:485
+#, scheme-format
+msgid "failed to install bootloader on '~a':~%~{~s ~}~%"
+msgstr ""
+
+#: gnu/machine/ssh.scm:518
 msgid "could not roll-back machine"
 msgstr ""
 
-#: gnu/machine/ssh.scm:526
+#: gnu/machine/ssh.scm:559
 msgid ""
 "Provisioning for machines that are accessible over SSH\n"
 "and have a known host-name. This entails little more than maintaining an SSH\n"
 "connection to the host."
 msgstr ""
 
-#: gnu/machine/ssh.scm:536
+#: gnu/machine/ssh.scm:569
 #, scheme-format
 msgid ""
 "unsupported machine configuration '~a'\n"
 "for environment of type '~a'"
 msgstr ""
 
-#: gnu/packages/bootstrap.scm:165
+#: gnu/packages/bootstrap.scm:178
 #, scheme-format
 msgid "could not find bootstrap binary '~a' for system '~a'"
 msgstr ""
 
-#: gnu/packages/bootstrap.scm:476
+#: gnu/packages/bootstrap.scm:492
 msgid "Raw build system with direct store access"
 msgstr ""
 
-#: gnu/packages/bootstrap.scm:484
+#: gnu/packages/bootstrap.scm:500
 msgid "Pre-built Guile for bootstrapping purposes."
 msgstr ""
 
-#: guix/build/utils.scm:715
+#: guix/build/utils.scm:822
 #, scheme-format
 msgid "'~a~{ ~a~}' exited with status ~a; output follows:~%~%~{  ~a~%~}"
 msgstr ""
@@ -1242,18 +1791,13 @@ msgstr ""
 msgid "invalid argument: ~a~%"
 msgstr ""
 
-#: guix/scripts.scm:166 guix/scripts/import/cran.scm:91
-#: guix/scripts/import/elpa.scm:85 guix/scripts/import/cpan.scm:71
-#: guix/scripts/import/crate.scm:80 guix/scripts/import/gem.scm:78
-#: guix/scripts/import/gnu.scm:86 guix/scripts/import/go.scm:89
-#: guix/scripts/import/hackage.scm:110 guix/scripts/import/json.scm:79
-#: guix/scripts/import/opam.scm:81 guix/scripts/import/pypi.scm:77
-#: guix/scripts/import/stackage.scm:94 guix/scripts/import/texlive.scm:78
+#: guix/scripts.scm:166 guix/scripts/import/minetest.scm:92
 #, scheme-format
 msgid "~A: unrecognized option~%"
 msgstr ""
 
-#: guix/scripts.scm:169
+#: guix/scripts.scm:169 guix/scripts/import.scm:140
+#: guix/scripts/system.scm:1370
 #, scheme-format
 msgid "Did you mean @code{~a}?~%"
 msgstr ""
@@ -1299,8 +1843,8 @@ msgstr ""
 
 #: guix/scripts/build.scm:154 guix/scripts/search.scm:42
 #: guix/scripts/show.scm:41 guix/scripts/lint.scm:112 guix/scripts/edit.scm:48
-#: guix/scripts/size.scm:246 guix/scripts/graph.scm:547
-#: guix/scripts/repl.scm:80
+#: guix/scripts/size.scm:246 guix/scripts/graph.scm:553
+#: guix/scripts/repl.scm:80 guix/scripts/style.scm:500
 msgid ""
 "\n"
 "  -L, --load-path=DIR    prepend DIR to the package module search path"
@@ -1445,16 +1989,16 @@ msgid ""
 "                         of \"package\", \"all\" (default), or \"transitive\""
 msgstr ""
 
-#: guix/scripts/build.scm:355 guix/scripts/pull.scm:121
-#: guix/scripts/pack.scm:1086 guix/scripts/archive.scm:95
-#: guix/scripts/environment.scm:151
+#: guix/scripts/build.scm:355 guix/scripts/pull.scm:119
+#: guix/scripts/pack.scm:1327 guix/scripts/archive.scm:95
+#: guix/scripts/environment.scm:97
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    attempt to build for SYSTEM--e.g., \"i686-linux\""
 msgstr ""
 
-#: guix/scripts/build.scm:357 guix/scripts/system.scm:1015
-#: guix/scripts/pack.scm:1088 guix/scripts/archive.scm:97
+#: guix/scripts/build.scm:357 guix/scripts/system.scm:1023
+#: guix/scripts/pack.scm:1329 guix/scripts/archive.scm:97
 msgid ""
 "\n"
 "      --target=TRIPLET   cross-build for TRIPLET--e.g., \"armel-linux-gnu\""
@@ -1478,20 +2022,21 @@ msgid ""
 "      --repair           repair the specified items"
 msgstr ""
 
-#: guix/scripts/build.scm:365 guix/scripts/pack.scm:1106
-#: guix/scripts/environment.scm:153
+#: guix/scripts/build.scm:365 guix/scripts/pack.scm:1347
+#: guix/scripts/environment.scm:99
 msgid ""
 "\n"
 "  -r, --root=FILE        make FILE a symlink to the result, and register it\n"
 "                         as a garbage collector root"
 msgstr ""
 
-#: guix/scripts/build.scm:368 guix/scripts/package.scm:480
+#: guix/scripts/build.scm:368 guix/scripts/package.scm:486
 #: guix/scripts/install.scm:37 guix/scripts/remove.scm:36
-#: guix/scripts/upgrade.scm:39 guix/scripts/pull.scm:119
-#: guix/scripts/system.scm:1017 guix/scripts/copy.scm:115
-#: guix/scripts/pack.scm:1111 guix/scripts/deploy.scm:58
-#: guix/scripts/archive.scm:99 guix/scripts/environment.scm:177
+#: guix/scripts/upgrade.scm:39 guix/scripts/pull.scm:117
+#: guix/scripts/system.scm:1025 guix/scripts/copy.scm:122
+#: guix/scripts/pack.scm:1352 guix/scripts/deploy.scm:60
+#: guix/scripts/archive.scm:99 guix/scripts/environment.scm:123
+#: guix/scripts/home.scm:94
 msgid ""
 "\n"
 "  -v, --verbosity=LEVEL  use the given verbosity LEVEL"
@@ -1510,54 +2055,59 @@ msgid ""
 msgstr ""
 
 #: guix/scripts/build.scm:379 guix/scripts/download.scm:104
-#: guix/scripts/package.scm:498 guix/scripts/install.scm:44
+#: guix/scripts/package.scm:504 guix/scripts/install.scm:44
 #: guix/scripts/remove.scm:41 guix/scripts/upgrade.scm:48
 #: guix/scripts/search.scm:37 guix/scripts/show.scm:36 guix/scripts/gc.scm:88
 #: guix/scripts/git.scm:34 guix/scripts/git/authenticate.scm:110
-#: guix/scripts/hash.scm:65 guix/scripts/import.scm:95
-#: guix/scripts/import/cran.scm:48 guix/scripts/pull.scm:127
-#: guix/scripts/substitute.scm:248 guix/scripts/system.scm:1024
-#: guix/scripts/lint.scm:115 guix/scripts/publish.scm:113
-#: guix/scripts/edit.scm:51 guix/scripts/size.scm:249
-#: guix/scripts/graph.scm:552 guix/scripts/challenge.scm:425
-#: guix/scripts/copy.scm:120 guix/scripts/pack.scm:1116
-#: guix/scripts/weather.scm:302 guix/scripts/describe.scm:96
-#: guix/scripts/processes.scm:301 guix/scripts/deploy.scm:53
-#: guix/scripts/container.scm:35 guix/scripts/container/exec.scm:43
-#: guix/scripts/archive.scm:106 guix/scripts/environment.scm:186
-#: guix/scripts/time-machine.scm:67 guix/scripts/import/cpan.scm:43
-#: guix/scripts/import/crate.scm:49 guix/scripts/import/gem.scm:44
-#: guix/scripts/import/gnu.scm:49 guix/scripts/import/go.scm:48
-#: guix/scripts/import/json.scm:51 guix/scripts/import/opam.scm:43
-#: guix/scripts/import/pypi.scm:44 guix/scripts/import/texlive.scm:46
-#: guix/scripts/refresh.scm:186 guix/scripts/repl.scm:83
+#: guix/scripts/hash.scm:98 guix/scripts/import.scm:98
+#: guix/scripts/import/minetest.scm:46 guix/scripts/import/cran.scm:49
+#: guix/scripts/pull.scm:125 guix/scripts/substitute.scm:250
+#: guix/scripts/system.scm:1032 guix/scripts/lint.scm:115
+#: guix/scripts/publish.scm:119 guix/scripts/edit.scm:51
+#: guix/scripts/size.scm:249 guix/scripts/graph.scm:558
+#: guix/scripts/challenge.scm:430 guix/scripts/copy.scm:127
+#: guix/scripts/pack.scm:1357 guix/scripts/weather.scm:336
+#: guix/scripts/describe.scm:96 guix/scripts/processes.scm:301
+#: guix/scripts/deploy.scm:55 guix/scripts/container.scm:35
+#: guix/scripts/container/exec.scm:43 guix/scripts/archive.scm:106
+#: guix/scripts/environment.scm:149 guix/scripts/home.scm:97
+#: guix/scripts/time-machine.scm:67 guix/scripts/import/cpan.scm:44
+#: guix/scripts/import/crate.scm:50 guix/scripts/import/egg.scm:45
+#: guix/scripts/import/gem.scm:46 guix/scripts/import/gnu.scm:50
+#: guix/scripts/import/go.scm:50 guix/scripts/import/json.scm:52
+#: guix/scripts/import/opam.scm:45 guix/scripts/import/pypi.scm:46
+#: guix/scripts/import/texlive.scm:45 guix/scripts/refresh.scm:187
+#: guix/scripts/repl.scm:83 guix/scripts/shell.scm:67
+#: guix/scripts/style.scm:509
 msgid ""
 "\n"
 "  -h, --help             display this help and exit"
 msgstr ""
 
 #: guix/scripts/build.scm:381 guix/scripts/download.scm:106
-#: guix/scripts/package.scm:500 guix/scripts/install.scm:46
+#: guix/scripts/package.scm:506 guix/scripts/install.scm:46
 #: guix/scripts/remove.scm:43 guix/scripts/upgrade.scm:50
 #: guix/scripts/search.scm:39 guix/scripts/show.scm:38 guix/scripts/gc.scm:90
 #: guix/scripts/git.scm:36 guix/scripts/git/authenticate.scm:112
-#: guix/scripts/hash.scm:67 guix/scripts/import.scm:97
-#: guix/scripts/import/cran.scm:54 guix/scripts/pull.scm:129
-#: guix/scripts/substitute.scm:250 guix/scripts/system.scm:1026
-#: guix/scripts/lint.scm:119 guix/scripts/publish.scm:115
-#: guix/scripts/edit.scm:53 guix/scripts/size.scm:251
-#: guix/scripts/graph.scm:554 guix/scripts/challenge.scm:427
-#: guix/scripts/copy.scm:122 guix/scripts/pack.scm:1118
-#: guix/scripts/weather.scm:304 guix/scripts/describe.scm:98
-#: guix/scripts/processes.scm:303 guix/scripts/deploy.scm:55
-#: guix/scripts/container.scm:37 guix/scripts/container/exec.scm:45
-#: guix/scripts/archive.scm:108 guix/scripts/environment.scm:188
-#: guix/scripts/time-machine.scm:69 guix/scripts/import/cpan.scm:45
-#: guix/scripts/import/crate.scm:51 guix/scripts/import/gem.scm:46
-#: guix/scripts/import/gnu.scm:51 guix/scripts/import/json.scm:53
-#: guix/scripts/import/opam.scm:49 guix/scripts/import/pypi.scm:48
-#: guix/scripts/import/texlive.scm:48 guix/scripts/refresh.scm:188
-#: guix/scripts/repl.scm:85
+#: guix/scripts/hash.scm:100 guix/scripts/import.scm:100
+#: guix/scripts/import/minetest.scm:50 guix/scripts/import/cran.scm:55
+#: guix/scripts/pull.scm:127 guix/scripts/substitute.scm:252
+#: guix/scripts/system.scm:1034 guix/scripts/lint.scm:119
+#: guix/scripts/publish.scm:121 guix/scripts/edit.scm:53
+#: guix/scripts/size.scm:251 guix/scripts/graph.scm:560
+#: guix/scripts/challenge.scm:432 guix/scripts/copy.scm:129
+#: guix/scripts/pack.scm:1359 guix/scripts/weather.scm:338
+#: guix/scripts/describe.scm:98 guix/scripts/processes.scm:303
+#: guix/scripts/deploy.scm:57 guix/scripts/container.scm:37
+#: guix/scripts/container/exec.scm:45 guix/scripts/archive.scm:108
+#: guix/scripts/environment.scm:151 guix/scripts/home.scm:99
+#: guix/scripts/time-machine.scm:69 guix/scripts/import/cpan.scm:46
+#: guix/scripts/import/crate.scm:52 guix/scripts/import/egg.scm:49
+#: guix/scripts/import/gem.scm:48 guix/scripts/import/gnu.scm:52
+#: guix/scripts/import/json.scm:54 guix/scripts/import/opam.scm:52
+#: guix/scripts/import/pypi.scm:50 guix/scripts/import/texlive.scm:47
+#: guix/scripts/refresh.scm:189 guix/scripts/repl.scm:85
+#: guix/scripts/shell.scm:69 guix/scripts/style.scm:511
 msgid ""
 "\n"
 "  -V, --version          display version information and exit"
@@ -1609,28 +2159,128 @@ msgstr ""
 msgid "no build log for '~a'~%"
 msgstr ""
 
+#: guix/scripts/build.scm:683
+#, scheme-format
+msgid "no arguments specified, nothing to do~%"
+msgstr ""
+
+#. TRANSLATORS: The goal is to emit "warning:" followed by a short phrase;
+#. "~a" is a placeholder for that phrase.
+#: guix/diagnostics.scm:156
+msgid "warning: "
+msgstr ""
+
+#: guix/diagnostics.scm:158
+msgid "error: "
+msgstr ""
+
+#: guix/diagnostics.scm:258
+msgid "<unknown location>"
+msgstr ""
+
+#: guix/diagnostics.scm:310
+#, scheme-format
+msgid "format string got ~a arguments, expected ~a~%"
+msgstr ""
+
 #: guix/discovery.scm:96
 #, scheme-format
 msgid "cannot access `~a': ~a~%"
 msgstr ""
 
-#: guix/lint.scm:184
+#: guix/ci.scm:311
+#, scheme-format
+msgid "could not find available substitutes at ~a~%"
+msgstr ""
+
+#: guix/cve.scm:200
+msgid "invalid CVE feed"
+msgstr ""
+
+#: guix/cve.scm:202
+#, scheme-format
+msgid "unsupported CVE format: '~a'"
+msgstr ""
+
+#: guix/cve.scm:205
+#, scheme-format
+msgid "unsupported CVE data version: '~a'"
+msgstr ""
+
+#: guix/git-authenticate.scm:111
+#, scheme-format
+msgid "commit ~a lacks a signature"
+msgstr ""
+
+#: guix/git-authenticate.scm:119
+#, scheme-format
+msgid "commit ~a has a ~a signature, which is not permitted"
+msgstr ""
+
+#: guix/git-authenticate.scm:137
+#, scheme-format
+msgid "signature verification failed for commit ~a"
+msgstr ""
+
+#: guix/git-authenticate.scm:144
+#, scheme-format
+msgid "could not authenticate commit ~a: key ~a is missing"
+msgstr ""
+
+#: guix/git-authenticate.scm:184
+#, scheme-format
+msgid "commit ~a attempts to remove '.guix-authorizations' file"
+msgstr ""
+
+#: guix/git-authenticate.scm:239
+#, scheme-format
+msgid "commit ~a not signed by an authorized key: ~a"
+msgstr ""
+
+#: guix/git-authenticate.scm:367
+#, scheme-format
+msgid "initial commit ~a is signed by '~a' instead of '~a'"
+msgstr ""
+
+#: guix/gnupg.scm:236
+#, scheme-format
+msgid "Would you like to add this key to keyring '~a'?~%"
+msgstr ""
+
+#. TRANSLATORS: 'modify-phases' is a Scheme syntax
+#. and should not be translated.
+#: guix/lint.scm:190
+msgid "incorrect call to ‘modify-phases’"
+msgstr ""
+
+#. TRANSLATORS: See ‘modify-phases’ in the manual.
+#: guix/lint.scm:218
+msgid "invalid phase clause"
+msgstr ""
+
+#: guix/lint.scm:265
 msgid "name should be longer than a single character"
 msgstr ""
 
-#: guix/lint.scm:189
+#: guix/lint.scm:270
 msgid "name should use hyphens instead of underscores"
 msgstr ""
 
-#: guix/lint.scm:210
+#. TRANSLATORS: #:tests? and #t are Scheme constants
+#. and must not be translated.
+#: guix/lint.scm:290
+msgid "#:tests? must not be explicitly set to #t"
+msgstr ""
+
+#: guix/lint.scm:311
 msgid "description should not be empty"
 msgstr ""
 
-#: guix/lint.scm:221
+#: guix/lint.scm:322
 msgid "Texinfo markup in description is invalid"
 msgstr ""
 
-#: guix/lint.scm:231
+#: guix/lint.scm:347
 #, scheme-format
 msgid ""
 "description should not contain ~\n"
@@ -1639,237 +2289,281 @@ msgstr ""
 
 #. TRANSLATORS: '@code' is Texinfo markup and must be kept
 #. as is.
-#: guix/lint.scm:244
+#: guix/lint.scm:360
 msgid "use @code or similar ornament instead of quotes"
 msgstr ""
 
-#: guix/lint.scm:256
+#: guix/lint.scm:372
 msgid "description should start with an upper-case letter or digit"
 msgstr ""
 
-#: guix/lint.scm:274
+#: guix/lint.scm:390
 #, scheme-format
 msgid ""
 "sentences in description should be followed ~\n"
 "by two spaces; possible infraction~p at ~{~a~^, ~}"
 msgstr ""
 
-#: guix/lint.scm:295
+#: guix/lint.scm:401
+msgid "description contains leading whitespace"
+msgstr ""
+
+#: guix/lint.scm:410
+msgid "description contains trailing whitespace"
+msgstr ""
+
+#: guix/lint.scm:435
 #, scheme-format
 msgid "invalid description: ~s"
 msgstr ""
 
-#: guix/lint.scm:365
+#: guix/lint.scm:506
 #, scheme-format
 msgid "'~a' should probably be a native input"
 msgstr ""
 
-#: guix/lint.scm:380
+#: guix/lint.scm:521
 #, scheme-format
 msgid "'~a' should probably not be an input at all"
 msgstr ""
 
-#: guix/lint.scm:401
+#: guix/lint.scm:532
+#, scheme-format
+msgid "label '~a' does not match package name '~a'"
+msgstr ""
+
+#: guix/lint.scm:562
+#, scheme-format
+msgid "\"bash-minimal\" should be in 'inputs' when '~a' is used"
+msgstr ""
+
+#: guix/lint.scm:616
 msgid "no period allowed at the end of the synopsis"
 msgstr ""
 
-#: guix/lint.scm:415
+#: guix/lint.scm:630
 msgid "no article allowed at the beginning of the synopsis"
 msgstr ""
 
-#: guix/lint.scm:424
+#: guix/lint.scm:639
 msgid "synopsis should be less than 80 characters long"
 msgstr ""
 
-#: guix/lint.scm:433
+#: guix/lint.scm:648
 msgid "synopsis should start with an upper-case letter or digit"
 msgstr ""
 
-#: guix/lint.scm:441
+#: guix/lint.scm:656
 msgid "synopsis should not start with the package name"
 msgstr ""
 
-#: guix/lint.scm:455
+#: guix/lint.scm:670
 msgid "Texinfo markup in synopsis is invalid"
 msgstr ""
 
-#: guix/lint.scm:470
+#: guix/lint.scm:678
+msgid "synopsis contains trailing whitespace"
+msgstr ""
+
+#: guix/lint.scm:695
 msgid "synopsis should not be empty"
 msgstr ""
 
-#: guix/lint.scm:480
+#: guix/lint.scm:705
 #, scheme-format
 msgid "invalid synopsis: ~s"
 msgstr ""
 
-#: guix/lint.scm:598
+#: guix/lint.scm:805
+#, scheme-format
+msgid "~a: HTTP GET error for ~a: ~a (~s)~%"
+msgstr ""
+
+#: guix/lint.scm:815
+#, scheme-format
+msgid "~a: host lookup failure: ~a~%"
+msgstr ""
+
+#: guix/lint.scm:820
+#, scheme-format
+msgid "~a: TLS certificate error: ~a"
+msgstr ""
+
+#: guix/lint.scm:825
+#, scheme-format
+msgid "~a: TLS error in '~a': ~a~%"
+msgstr ""
+
+#: guix/lint.scm:836 guix/ui.scm:820 guix/scripts/offload.scm:194
+#, scheme-format
+msgid "~a: ~a~%"
+msgstr ""
+
+#: guix/lint.scm:868
 #, scheme-format
 msgid "URI ~a returned suspiciously small file (~a bytes)"
 msgstr ""
 
-#: guix/lint.scm:607
+#: guix/lint.scm:877
 #, scheme-format
 msgid "permanent redirect from ~a to ~a"
 msgstr ""
 
-#: guix/lint.scm:613
+#: guix/lint.scm:883
 #, scheme-format
 msgid "invalid permanent redirect from ~a"
 msgstr ""
 
-#: guix/lint.scm:619 guix/lint.scm:629
+#: guix/lint.scm:889 guix/lint.scm:899
 #, scheme-format
 msgid "URI ~a not reachable: ~a (~s)"
 msgstr ""
 
-#: guix/lint.scm:635
+#: guix/lint.scm:905
 #, scheme-format
 msgid "URI ~a domain not found: ~a"
 msgstr ""
 
-#: guix/lint.scm:641
+#: guix/lint.scm:911
 #, scheme-format
 msgid "URI ~a unreachable: ~a"
 msgstr ""
 
-#: guix/lint.scm:649
+#: guix/lint.scm:919
 #, scheme-format
 msgid "TLS certificate error: ~a"
 msgstr ""
 
-#: guix/lint.scm:676
+#: guix/lint.scm:946
 msgid "invalid value for home page"
 msgstr ""
 
-#: guix/lint.scm:681
+#: guix/lint.scm:951
 #, scheme-format
 msgid "invalid home page URL: ~s"
 msgstr ""
 
-#: guix/lint.scm:718
+#: guix/lint.scm:988
 msgid "file names of patches should start with the package name"
 msgstr ""
 
-#: guix/lint.scm:734
+#: guix/lint.scm:1008
 #, scheme-format
-msgid "~a: file name is too long"
+msgid "~a: file name is too long, which may break 'make dist'"
 msgstr ""
 
-#: guix/lint.scm:755
+#: guix/lint.scm:1029
 #, scheme-format
 msgid "~a: empty patch"
 msgstr ""
 
-#: guix/lint.scm:763
+#: guix/lint.scm:1038
 #, scheme-format
 msgid "~a: patch lacks comment and upstream status"
 msgstr ""
 
-#: guix/lint.scm:824
+#: guix/lint.scm:1099
 #, scheme-format
 msgid "proposed synopsis: ~s~%"
 msgstr ""
 
-#: guix/lint.scm:838
+#: guix/lint.scm:1113
 #, scheme-format
 msgid "proposed description:~%     \"~a\"~%"
 msgstr ""
 
-#: guix/lint.scm:889
+#: guix/lint.scm:1164
 msgid "all the source URIs are unreachable:"
 msgstr ""
 
-#: guix/lint.scm:918
+#: guix/lint.scm:1193
 msgid "the source file name should contain the package name"
 msgstr ""
 
-#: guix/lint.scm:930
+#: guix/lint.scm:1205
 msgid "the source URI should not be an autogenerated tarball"
 msgstr ""
 
-#: guix/lint.scm:954
+#: guix/lint.scm:1229
 #, scheme-format
 msgid "URL should be 'mirror://~a/~a'"
 msgstr ""
 
-#: guix/lint.scm:999
-#, scheme-format
-msgid "URL should be '~a'"
-msgstr ""
-
-#: guix/lint.scm:1021 guix/lint.scm:1032 guix/lint.scm:1040
-#, scheme-format
-msgid "failed to create ~a derivation: ~a"
-msgstr ""
-
-#: guix/lint.scm:1026 guix/lint.scm:1054
+#: guix/lint.scm:1269
 #, scheme-format
-msgid "failed to create ~a derivation: ~s"
+msgid "while accessing '~a'"
 msgstr ""
 
-#: guix/lint.scm:1082
+#: guix/lint.scm:1276
 #, scheme-format
-msgid "propagated inputs ~a and ~a collide"
+msgid "URL should be '~a'"
 msgstr ""
 
-#: guix/lint.scm:1106
-msgid "invalid license field"
+#. TRANSLATORS: check and #:tests? are a
+#. Scheme symbol and keyword respectively
+#. and should not be translated.
+#: guix/lint.scm:1304
+msgid "the 'check' phase should respect #:tests?"
 msgstr ""
 
-#: guix/lint.scm:1113
+#: guix/lint.scm:1322 guix/lint.scm:1333 guix/lint.scm:1341
 #, scheme-format
-msgid "~a: HTTP GET error for ~a: ~a (~s)~%"
+msgid "failed to create ~a derivation: ~a"
 msgstr ""
 
-#: guix/lint.scm:1123
+#: guix/lint.scm:1327
 #, scheme-format
-msgid "~a: host lookup failure: ~a~%"
+msgid "failed to create ~a derivation: ~s"
 msgstr ""
 
-#: guix/lint.scm:1128
+#: guix/lint.scm:1379
 #, scheme-format
-msgid "~a: TLS certificate error: ~a"
+msgid "propagated inputs ~a and ~a collide"
 msgstr ""
 
-#: guix/lint.scm:1139 guix/ui.scm:848 guix/scripts/offload.scm:191
-#, scheme-format
-msgid "~a: ~a~%"
+#: guix/lint.scm:1403
+msgid "invalid license field"
 msgstr ""
 
-#: guix/lint.scm:1153
+#: guix/lint.scm:1410
 msgid "while retrieving CVE vulnerabilities"
 msgstr ""
 
-#: guix/lint.scm:1196
+#: guix/lint.scm:1453
 #, scheme-format
 msgid "probably vulnerable to ~a"
 msgstr ""
 
-#: guix/lint.scm:1204
+#: guix/lint.scm:1461
 #, scheme-format
 msgid "no updater for ~a"
 msgstr ""
 
-#: guix/lint.scm:1209 guix/lint.scm:1327
+#: guix/lint.scm:1466 guix/lint.scm:1641
 #, scheme-format
 msgid "while retrieving upstream info for '~a'"
 msgstr ""
 
-#: guix/lint.scm:1218
+#: guix/lint.scm:1475
 #, scheme-format
 msgid "can be upgraded to ~a"
 msgstr ""
 
-#: guix/lint.scm:1224
+#: guix/lint.scm:1481
 #, scheme-format
 msgid "updater '~a' failed to find upstream releases"
 msgstr ""
 
-#: guix/lint.scm:1241
+#: guix/lint.scm:1508
+#, scheme-format
+msgid "failed to access Disarchive database at ~a"
+msgstr ""
+
+#: guix/lint.scm:1535
 msgid "Software Heritage rate limit reached; try again later"
 msgstr ""
 
-#: guix/lint.scm:1245
+#: guix/lint.scm:1539
 #, scheme-format
 msgid "'~a' returned ~a"
 msgstr ""
@@ -1877,137 +2571,162 @@ msgstr ""
 #. TRANSLATORS: "Software Heritage" is a proper noun
 #. that must remain untranslated.  See
 #. <https://www.softwareheritage.org>.
-#: guix/lint.scm:1284
+#: guix/lint.scm:1578
 msgid "scheduled Software Heritage archival"
 msgstr ""
 
-#: guix/lint.scm:1290
+#: guix/lint.scm:1584
 msgid "archival rate limit exceeded; try again later"
 msgstr ""
 
-#: guix/lint.scm:1306
-msgid "source not archived on Software Heritage"
+#: guix/lint.scm:1605
+msgid "source not archived on Software Heritage and missing from the Disarchive database"
+msgstr ""
+
+#: guix/lint.scm:1615
+#, scheme-format
+msgid "Disarchive entry refers to non-existent SWH directory '~a'"
+msgstr ""
+
+#: guix/lint.scm:1624
+msgid "unsupported source type"
 msgstr ""
 
-#: guix/lint.scm:1319
+#: guix/lint.scm:1633
 msgid "while connecting to Software Heritage"
 msgstr ""
 
-#: guix/lint.scm:1336
+#: guix/lint.scm:1650
 #, scheme-format
 msgid "ahead of Stackage LTS version ~a"
 msgstr ""
 
-#: guix/lint.scm:1353
+#: guix/lint.scm:1667
 #, scheme-format
 msgid "tabulation on line ~a, column ~a"
 msgstr ""
 
-#: guix/lint.scm:1365
+#: guix/lint.scm:1679
 #, scheme-format
 msgid "trailing white space on line ~a"
 msgstr ""
 
-#: guix/lint.scm:1379
+#: guix/lint.scm:1693
 #, scheme-format
 msgid "line ~a is way too long (~a characters)"
 msgstr ""
 
-#: guix/lint.scm:1393
+#: guix/lint.scm:1707
 msgid "parentheses feel lonely, move to the previous or next line"
 msgstr ""
 
-#: guix/lint.scm:1470
+#: guix/lint.scm:1784
 msgid "source file not found"
 msgstr ""
 
-#: guix/lint.scm:1482
+#: guix/lint.scm:1796
 msgid "Validate package names"
 msgstr ""
 
-#: guix/lint.scm:1486
+#: guix/lint.scm:1800
+msgid "Check if tests are explicitly enabled"
+msgstr ""
+
+#: guix/lint.scm:1804
 msgid "Validate package descriptions"
 msgstr ""
 
-#: guix/lint.scm:1490
+#: guix/lint.scm:1808
 msgid "Identify inputs that should be native inputs"
 msgstr ""
 
-#: guix/lint.scm:1494
+#: guix/lint.scm:1812
 msgid "Identify inputs that shouldn't be inputs at all"
 msgstr ""
 
+#: guix/lint.scm:1816
+msgid "Identify input labels that do not match package names"
+msgstr ""
+
+#: guix/lint.scm:1820
+msgid "Make sure 'wrap-program' can finds its interpreter."
+msgstr ""
+
 #. TRANSLATORS: <license> is the name of a data type and must not be
 #. translated.
-#: guix/lint.scm:1500
+#: guix/lint.scm:1826
 msgid "Make sure the 'license' field is a <license> or a list thereof"
 msgstr ""
 
-#: guix/lint.scm:1505
+#: guix/lint.scm:1831
+msgid "Make sure tests are only run when requested"
+msgstr ""
+
+#: guix/lint.scm:1835
 msgid "Suggest 'mirror://' URLs"
 msgstr ""
 
-#: guix/lint.scm:1509
+#: guix/lint.scm:1839
 msgid "Validate file names of sources"
 msgstr ""
 
-#: guix/lint.scm:1513
+#: guix/lint.scm:1843
 msgid "Check for autogenerated tarballs"
 msgstr ""
 
-#: guix/lint.scm:1517
+#: guix/lint.scm:1847
 msgid "Report failure to compile a package to a derivation"
 msgstr ""
 
-#: guix/lint.scm:1522
+#: guix/lint.scm:1852
 msgid "Report collisions that would occur due to propagated inputs"
 msgstr ""
 
-#: guix/lint.scm:1527
+#: guix/lint.scm:1857
 msgid "Validate file names and availability of patches"
 msgstr ""
 
-#: guix/lint.scm:1531
+#: guix/lint.scm:1861
 msgid "Validate patch headers"
 msgstr ""
 
-#: guix/lint.scm:1535
+#: guix/lint.scm:1865
 msgid "Look for formatting issues in the source"
 msgstr ""
 
-#: guix/lint.scm:1542
+#: guix/lint.scm:1872
 msgid "Validate package synopses"
 msgstr ""
 
-#: guix/lint.scm:1546
+#: guix/lint.scm:1876
 msgid "Validate synopsis & description of GNU packages"
 msgstr ""
 
-#: guix/lint.scm:1550
+#: guix/lint.scm:1880
 msgid "Validate home-page URLs"
 msgstr ""
 
-#: guix/lint.scm:1554
+#: guix/lint.scm:1884
 msgid "Validate source URLs"
 msgstr ""
 
-#: guix/lint.scm:1558
+#: guix/lint.scm:1888
 msgid "Suggest GitHub URLs"
 msgstr ""
 
-#: guix/lint.scm:1562
+#: guix/lint.scm:1892
 msgid "Check the Common Vulnerabilities and Exposures (CVE) database"
 msgstr ""
 
-#: guix/lint.scm:1567
+#: guix/lint.scm:1897
 msgid "Check the package for new upstream releases"
 msgstr ""
 
-#: guix/lint.scm:1571
+#: guix/lint.scm:1901
 msgid "Ensure source code archival on Software Heritage"
 msgstr ""
 
-#: guix/lint.scm:1575
+#: guix/lint.scm:1905
 msgid "Ensure Haskell packages use Stackage LTS versions"
 msgstr ""
 
@@ -2018,19 +2737,19 @@ msgid ""
 "file name and the hash of its contents.\n"
 msgstr ""
 
-#: guix/scripts/download.scm:91 guix/scripts/hash.scm:53
+#: guix/scripts/download.scm:91 guix/scripts/hash.scm:86
 msgid ""
 "Supported formats: 'base64', 'nix-base32' (default), 'base32',\n"
 "and 'base16' ('hex' and 'hexadecimal' can be used as well).\n"
 msgstr ""
 
-#: guix/scripts/download.scm:94 guix/scripts/hash.scm:60
+#: guix/scripts/download.scm:94 guix/scripts/hash.scm:93
 msgid ""
 "\n"
 "  -f, --format=FMT       write the hash in the given format"
 msgstr ""
 
-#: guix/scripts/download.scm:96 guix/scripts/hash.scm:58
+#: guix/scripts/download.scm:96 guix/scripts/hash.scm:91
 msgid ""
 "\n"
 "  -H, --hash=ALGORITHM   use the given hash ALGORITHM"
@@ -2049,19 +2768,19 @@ msgid ""
 "  -o, --output=FILE      download to FILE"
 msgstr ""
 
-#: guix/scripts/download.scm:126 guix/scripts/hash.scm:97
+#: guix/scripts/download.scm:126 guix/scripts/hash.scm:130
 #, scheme-format
 msgid "unsupported hash format: ~a~%"
 msgstr ""
 
-#: guix/scripts/download.scm:134 guix/scripts/hash.scm:81
+#: guix/scripts/download.scm:134 guix/scripts/hash.scm:114
 #, scheme-format
 msgid "~a: unknown hash algorithm~%"
 msgstr ""
 
-#: guix/scripts/download.scm:171 guix/scripts/package.scm:1072
-#: guix/scripts/pull.scm:760 guix/scripts/publish.scm:1125
-#: guix/scripts/time-machine.scm:123
+#: guix/scripts/download.scm:171 guix/scripts/package.scm:1087
+#: guix/scripts/pull.scm:758 guix/scripts/publish.scm:1260
+#: guix/scripts/discover.scm:136 guix/scripts/time-machine.scm:123
 #, scheme-format
 msgid "~A: extraneous argument~%"
 msgstr ""
@@ -2081,27 +2800,27 @@ msgstr ""
 msgid "~a: download failed~%"
 msgstr ""
 
-#: guix/scripts/package.scm:128
+#: guix/scripts/package.scm:130
 #, scheme-format
 msgid "not removing generation ~a, which is current~%"
 msgstr ""
 
-#: guix/scripts/package.scm:135
+#: guix/scripts/package.scm:137
 #, scheme-format
 msgid "no matching generation~%"
 msgstr ""
 
-#: guix/scripts/package.scm:157
+#: guix/scripts/package.scm:159
 #, scheme-format
 msgid "nothing to be done~%"
 msgstr ""
 
-#: guix/scripts/package.scm:258
+#: guix/scripts/package.scm:260
 #, scheme-format
 msgid "package '~a' no longer exists~%"
 msgstr ""
 
-#: guix/scripts/package.scm:313
+#: guix/scripts/package.scm:315
 #, scheme-format
 msgid ""
 "Consider setting the necessary environment\n"
@@ -2115,7 +2834,7 @@ msgid ""
 "Alternately, see @command{guix package --search-paths -p ~s}."
 msgstr ""
 
-#: guix/scripts/package.scm:355
+#: guix/scripts/package.scm:361
 msgid ""
 ";; This \"manifest\" file can be passed to 'guix package -m' to reproduce\n"
 ";; the content of your profile.  This is \"symbolic\": it only specifies\n"
@@ -2124,44 +2843,44 @@ msgid ""
 ";; See the \"Replicating Guix\" section in the manual.\n"
 msgstr ""
 
-#: guix/scripts/package.scm:387
+#: guix/scripts/package.scm:393
 #, scheme-format
 msgid "no provenance information for this profile~%"
 msgstr ""
 
-#: guix/scripts/package.scm:389
+#: guix/scripts/package.scm:395
 msgid ""
 ";; This channel file can be passed to 'guix pull -C' or to\n"
 ";; 'guix time-machine -C' to obtain the Guix revision that was\n"
 ";; used to populate this profile.\n"
 msgstr ""
 
-#: guix/scripts/package.scm:401
+#: guix/scripts/package.scm:407
 #, scheme-format
 msgid ";; Note: these other commits were also used to install some of the packages in this profile:~%"
 msgstr ""
 
-#: guix/scripts/package.scm:431
+#: guix/scripts/package.scm:437
 msgid ""
 "Usage: guix package [OPTION]...\n"
 "Install, remove, or upgrade packages in a single transaction.\n"
 msgstr ""
 
-#: guix/scripts/package.scm:433
+#: guix/scripts/package.scm:439
 msgid ""
 "\n"
 "  -i, --install PACKAGE ...\n"
 "                         install PACKAGEs"
 msgstr ""
 
-#: guix/scripts/package.scm:436
+#: guix/scripts/package.scm:442
 msgid ""
 "\n"
 "  -e, --install-from-expression=EXP\n"
 "                         install the package EXP evaluates to"
 msgstr ""
 
-#: guix/scripts/package.scm:439
+#: guix/scripts/package.scm:445
 msgid ""
 "\n"
 "  -f, --install-from-file=FILE\n"
@@ -2169,159 +2888,164 @@ msgid ""
 "                         evaluates to"
 msgstr ""
 
-#: guix/scripts/package.scm:443
+#: guix/scripts/package.scm:449
 msgid ""
 "\n"
 "  -r, --remove PACKAGE ...\n"
 "                         remove PACKAGEs"
 msgstr ""
 
-#: guix/scripts/package.scm:446
+#: guix/scripts/package.scm:452
 msgid ""
 "\n"
 "  -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:448
+#: guix/scripts/package.scm:454
 msgid ""
 "\n"
 "  -m, --manifest=FILE    create a new profile generation with the manifest\n"
 "                         from FILE"
 msgstr ""
 
-#: guix/scripts/package.scm:451 guix/scripts/upgrade.scm:41
+#: guix/scripts/package.scm:457 guix/scripts/upgrade.scm:41
 msgid ""
 "\n"
 "      --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:453 guix/scripts/pull.scm:109
+#: guix/scripts/package.scm:459 guix/scripts/pull.scm:107
 msgid ""
 "\n"
 "      --roll-back        roll back to the previous generation"
 msgstr ""
 
-#: guix/scripts/package.scm:455
+#: guix/scripts/package.scm:461
 msgid ""
 "\n"
 "      --search-paths[=KIND]\n"
 "                         display needed environment variable definitions"
 msgstr ""
 
-#: guix/scripts/package.scm:458 guix/scripts/pull.scm:106
+#: guix/scripts/package.scm:464 guix/scripts/pull.scm:104
 msgid ""
 "\n"
 "  -l, --list-generations[=PATTERN]\n"
 "                         list generations matching PATTERN"
 msgstr ""
 
-#: guix/scripts/package.scm:461 guix/scripts/pull.scm:111
+#: guix/scripts/package.scm:467 guix/scripts/pull.scm:109
 msgid ""
 "\n"
 "  -d, --delete-generations[=PATTERN]\n"
 "                         delete generations matching PATTERN"
 msgstr ""
 
-#: guix/scripts/package.scm:464 guix/scripts/pull.scm:114
+#: guix/scripts/package.scm:470 guix/scripts/pull.scm:112
 msgid ""
 "\n"
 "  -S, --switch-generation=PATTERN\n"
 "                         switch to a generation matching PATTERN"
 msgstr ""
 
-#: guix/scripts/package.scm:467
+#: guix/scripts/package.scm:473
 msgid ""
 "\n"
 "      --export-manifest  print a manifest for the chosen profile"
 msgstr ""
 
-#: guix/scripts/package.scm:469
+#: guix/scripts/package.scm:475
 msgid ""
 "\n"
 "      --export-channels  print channels for the chosen profile"
 msgstr ""
 
-#: guix/scripts/package.scm:471 guix/scripts/install.scm:34
+#: guix/scripts/package.scm:477 guix/scripts/install.scm:34
 #: guix/scripts/remove.scm:33 guix/scripts/upgrade.scm:37
 msgid ""
 "\n"
 "  -p, --profile=PROFILE  use PROFILE instead of the user's default profile"
 msgstr ""
 
-#: guix/scripts/package.scm:473
+#: guix/scripts/package.scm:479
 msgid ""
 "\n"
 "      --list-profiles    list the user's profiles"
 msgstr ""
 
-#: guix/scripts/package.scm:476
+#: guix/scripts/package.scm:482
 msgid ""
 "\n"
 "      --allow-collisions do not treat collisions in the profile as an error"
 msgstr ""
 
-#: guix/scripts/package.scm:478
+#: guix/scripts/package.scm:484
 msgid ""
 "\n"
 "      --bootstrap        use the bootstrap Guile to build the profile"
 msgstr ""
 
-#: guix/scripts/package.scm:483
+#: guix/scripts/package.scm:489
 msgid ""
 "\n"
 "  -s, --search=REGEXP    search in synopsis and description using REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:485
+#: guix/scripts/package.scm:491
 msgid ""
 "\n"
 "  -I, --list-installed[=REGEXP]\n"
 "                         list installed packages matching REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:488
+#: guix/scripts/package.scm:494
 msgid ""
 "\n"
 "  -A, --list-available[=REGEXP]\n"
 "                         list available packages matching REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:491
+#: guix/scripts/package.scm:497
 msgid ""
 "\n"
 "      --show=PACKAGE     show details about PACKAGE"
 msgstr ""
 
-#: guix/scripts/package.scm:546
+#: guix/scripts/package.scm:552
 #, scheme-format
 msgid "upgrade regexp '~a' looks like a command-line option~%"
 msgstr ""
 
-#: guix/scripts/package.scm:549
+#: guix/scripts/package.scm:555
 #, scheme-format
 msgid "is this intended?~%"
 msgstr ""
 
-#: guix/scripts/package.scm:599
+#: guix/scripts/package.scm:605
 #, scheme-format
 msgid "~a: unsupported kind of search path~%"
 msgstr ""
 
-#: guix/scripts/package.scm:733
+#: guix/scripts/package.scm:739
 #, scheme-format
 msgid "cannot install non-package object: ~s~%"
 msgstr ""
 
-#: guix/scripts/package.scm:914
+#: guix/scripts/package.scm:918
 #, scheme-format
 msgid "~a~@[@~a~]: package not found~%"
 msgstr ""
 
-#: guix/scripts/package.scm:961 guix/scripts/pull.scm:689
+#: guix/scripts/package.scm:965 guix/scripts/pull.scm:687
 #, scheme-format
 msgid "cannot switch to generation '~a'~%"
 msgstr ""
 
+#: guix/scripts/package.scm:1060
+#, scheme-format
+msgid "nothing to do~%"
+msgstr ""
+
 #: guix/scripts/install.scm:31
 msgid ""
 "Usage: guix install [OPTION] PACKAGES...\n"
@@ -2526,8 +3250,8 @@ msgid ""
 "Operate on Git repositories.\n"
 msgstr ""
 
-#: guix/scripts/git.scm:29 guix/scripts/system.scm:939
-#: guix/scripts/container.scm:30
+#: guix/scripts/git.scm:29 guix/scripts/system.scm:945
+#: guix/scripts/container.scm:30 guix/scripts/home.scm:69
 msgid "The valid values for ACTION are:\n"
 msgstr ""
 
@@ -2598,303 +3322,331 @@ msgstr ""
 msgid "wrong number of arguments; expected COMMIT and SIGNER~%"
 msgstr ""
 
-#: guix/scripts/hash.scm:50
+#: guix/scripts/hash.scm:83
 msgid ""
 "Usage: guix hash [OPTION] FILE\n"
 "Return the cryptographic hash of FILE.\n"
 msgstr ""
 
-#: guix/scripts/hash.scm:56
+#: guix/scripts/hash.scm:89
 msgid ""
 "\n"
 "  -x, --exclude-vcs      exclude version control directories"
 msgstr ""
 
-#: guix/scripts/hash.scm:62
+#: guix/scripts/hash.scm:95
 msgid ""
 "\n"
-"  -r, --recursive        compute the hash on FILE recursively"
+"  -S, --serializer=TYPE  compute the hash on FILE according to TYPE serialization"
 msgstr ""
 
-#: guix/scripts/hash.scm:172 guix/ui.scm:400 guix/ui.scm:431 guix/ui.scm:791
-#: guix/ui.scm:839 guix/ui.scm:895
+#: guix/scripts/hash.scm:137
 #, scheme-format
-msgid "~a~%"
+msgid "'--recursive' is deprecated, use '--serializer' instead~%"
 msgstr ""
 
-#: guix/scripts/hash.scm:175 guix/scripts/system.scm:1298
-#: guix/scripts/system.scm:1314 guix/scripts/system.scm:1321
-#: guix/scripts/system.scm:1327 guix/scripts/import/gnu.scm:103
-#: guix/scripts/offload.scm:826 guix/scripts/offload.scm:838
+#: guix/scripts/hash.scm:152
 #, scheme-format
-msgid "wrong number of arguments~%"
+msgid "unsupported serializer type: ~a~%"
+msgstr ""
+
+#: guix/scripts/hash.scm:201
+#, scheme-format
+msgid "~a ~a~%"
+msgstr ""
+
+#: guix/scripts/hash.scm:210
+#, scheme-format
+msgid "no arguments specified~%"
 msgstr ""
 
-#: guix/scripts/import.scm:89
+#: guix/scripts/import.scm:92
 msgid ""
 "Usage: guix import IMPORTER ARGS ...\n"
 "Run IMPORTER with ARGS.\n"
 msgstr ""
 
-#: guix/scripts/import.scm:92
+#: guix/scripts/import.scm:95
 msgid "IMPORTER must be one of the importers listed below:\n"
 msgstr ""
 
-#: guix/scripts/import.scm:109
+#: guix/scripts/import.scm:112
 #, scheme-format
 msgid "guix import: missing importer name~%"
 msgstr ""
 
-#: guix/scripts/import.scm:131
+#: guix/scripts/import.scm:135
 #, scheme-format
 msgid "'~a' import failed~%"
 msgstr ""
 
-#: guix/scripts/import.scm:132
+#: guix/scripts/import.scm:137
 #, scheme-format
 msgid "~a: invalid importer~%"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:44
-msgid ""
-"Usage: guix import cran PACKAGE-NAME\n"
-"Import and convert the CRAN package for PACKAGE-NAME.\n"
-msgstr ""
-
-#: guix/scripts/import/cran.scm:46 guix/scripts/import/texlive.scm:44
+#: guix/scripts/import/minetest.scm:44
 msgid ""
-"\n"
-"  -a, --archive=ARCHIVE  specify the archive repository"
+"Usage: guix import minetest AUTHOR/NAME\n"
+"Import and convert the Minetest mod NAME by AUTHOR from ContentDB.\n"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:50 guix/scripts/import/crate.scm:46
-#: guix/scripts/import/opam.scm:45 guix/scripts/import/pypi.scm:46
+#: guix/scripts/import/minetest.scm:48 guix/scripts/import/cran.scm:51
+#: guix/scripts/import/crate.scm:47 guix/scripts/import/egg.scm:47
+#: guix/scripts/import/opam.scm:47 guix/scripts/import/pypi.scm:48
 msgid ""
 "\n"
 "  -r, --recursive        import packages recursively"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:52
+#: guix/scripts/import/minetest.scm:52
 msgid ""
 "\n"
-"  -s, --style=STYLE      choose output style, either specification or variable"
+"      --sort=KEY         when choosing between multiple implementations,\n"
+"                         choose the one with the highest value for KEY\n"
+"                         (one of \"score\" (standard) or \"downloads\")"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:116 guix/scripts/import/texlive.scm:95
+#: guix/scripts/import/minetest.scm:62
 #, scheme-format
-msgid "failed to download description for package '~a'~%"
+msgid "~a: not a valid key to sort by~%"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:120 guix/scripts/import/elpa.scm:113
-#: guix/scripts/import/cpan.scm:90 guix/scripts/import/crate.scm:107
-#: guix/scripts/import/gem.scm:104 guix/scripts/import/go.scm:125
-#: guix/scripts/import/hackage.scm:161 guix/scripts/import/json.scm:100
-#: guix/scripts/import/opam.scm:110 guix/scripts/import/pypi.scm:105
-#: guix/scripts/import/stackage.scm:133 guix/scripts/import/texlive.scm:99
+#: guix/scripts/import/minetest.scm:115 guix/scripts/import/cran.scm:120
+#: guix/scripts/import/elpa.scm:110 guix/scripts/import/cpan.scm:87
+#: guix/scripts/import/crate.scm:103 guix/scripts/import/egg.scm:106
+#: guix/scripts/import/gem.scm:102 guix/scripts/import/go.scm:121
+#: guix/scripts/import/hackage.scm:158 guix/scripts/import/json.scm:97
+#: guix/scripts/import/opam.scm:111 guix/scripts/import/pypi.scm:104
+#: guix/scripts/import/stackage.scm:130 guix/scripts/import/texlive.scm:88
 #, scheme-format
 msgid "too few arguments~%"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:122 guix/scripts/import/elpa.scm:115
-#: guix/scripts/import/cpan.scm:92 guix/scripts/import/crate.scm:109
-#: guix/scripts/import/gem.scm:106 guix/scripts/import/go.scm:127
-#: guix/scripts/import/hackage.scm:152 guix/scripts/import/hackage.scm:163
-#: guix/scripts/import/json.scm:102 guix/scripts/import/opam.scm:112
-#: guix/scripts/import/pypi.scm:107 guix/scripts/import/stackage.scm:135
-#: guix/scripts/import/texlive.scm:101
+#: guix/scripts/import/minetest.scm:117 guix/scripts/import/cran.scm:122
+#: guix/scripts/import/elpa.scm:112 guix/scripts/import/cpan.scm:89
+#: guix/scripts/import/crate.scm:105 guix/scripts/import/egg.scm:108
+#: guix/scripts/import/gem.scm:104 guix/scripts/import/go.scm:123
+#: guix/scripts/import/hackage.scm:149 guix/scripts/import/hackage.scm:160
+#: guix/scripts/import/json.scm:99 guix/scripts/import/opam.scm:113
+#: guix/scripts/import/pypi.scm:106 guix/scripts/import/stackage.scm:132
+#: guix/scripts/import/texlive.scm:90
 #, scheme-format
 msgid "too many arguments~%"
 msgstr ""
 
-#: guix/scripts/import/elpa.scm:44
+#: guix/scripts/import/cran.scm:45
+msgid ""
+"Usage: guix import cran PACKAGE-NAME\n"
+"Import and convert the CRAN package for PACKAGE-NAME.\n"
+msgstr ""
+
+#: guix/scripts/import/cran.scm:47
+msgid ""
+"\n"
+"  -a, --archive=ARCHIVE  specify the archive repository"
+msgstr ""
+
+#: guix/scripts/import/cran.scm:53
+msgid ""
+"\n"
+"  -s, --style=STYLE      choose output style, either specification or variable"
+msgstr ""
+
+#: guix/scripts/import/cran.scm:116 guix/scripts/import/texlive.scm:84
+#, scheme-format
+msgid "failed to download description for package '~a'~%"
+msgstr ""
+
+#: guix/scripts/import/elpa.scm:45
 msgid ""
 "Usage: guix import elpa PACKAGE-NAME\n"
 "Import the latest package named PACKAGE-NAME from an ELPA repository.\n"
 msgstr ""
 
-#: guix/scripts/import/elpa.scm:46
+#: guix/scripts/import/elpa.scm:47
 msgid ""
 "\n"
 "  -a, --archive=ARCHIVE          specify the archive repository"
 msgstr ""
 
-#: guix/scripts/import/elpa.scm:48
+#: guix/scripts/import/elpa.scm:49
 msgid ""
 "\n"
 "  -h, --help                     display this help and exit"
 msgstr ""
 
-#: guix/scripts/import/elpa.scm:50
+#: guix/scripts/import/elpa.scm:51
 msgid ""
 "\n"
 "  -r, --recursive                generate package expressions for all Emacs packages that are not yet in Guix"
 msgstr ""
 
-#: guix/scripts/import/elpa.scm:52
+#: guix/scripts/import/elpa.scm:53
 msgid ""
 "\n"
 "  -V, --version                  display version information and exit"
 msgstr ""
 
-#: guix/scripts/import/elpa.scm:110
+#: guix/scripts/import/elpa.scm:107
 #, scheme-format
 msgid "failed to download package '~a'~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:89
+#: guix/scripts/pull.scm:87
 msgid ""
 "Usage: guix pull [OPTION]...\n"
 "Download and deploy the latest version of Guix.\n"
 msgstr ""
 
-#: guix/scripts/pull.scm:91 guix/scripts/time-machine.scm:53
+#: guix/scripts/pull.scm:89 guix/scripts/time-machine.scm:53
 msgid ""
 "\n"
 "  -C, --channels=FILE    deploy the channels defined in FILE"
 msgstr ""
 
-#: guix/scripts/pull.scm:93
+#: guix/scripts/pull.scm:91
 msgid ""
 "\n"
 "      --url=URL          download \"guix\" channel from the Git repository at URL"
 msgstr ""
 
-#: guix/scripts/pull.scm:95
+#: guix/scripts/pull.scm:93
 msgid ""
 "\n"
 "      --commit=COMMIT    download the specified \"guix\" channel COMMIT"
 msgstr ""
 
-#: guix/scripts/pull.scm:97
+#: guix/scripts/pull.scm:95
 msgid ""
 "\n"
 "      --branch=BRANCH    download the tip of the specified \"guix\" channel BRANCH"
 msgstr ""
 
-#: guix/scripts/pull.scm:99
+#: guix/scripts/pull.scm:97
 msgid ""
 "\n"
 "      --allow-downgrades allow downgrades to earlier channel revisions"
 msgstr ""
 
-#: guix/scripts/pull.scm:101 guix/scripts/time-machine.scm:61
+#: guix/scripts/pull.scm:99 guix/scripts/time-machine.scm:61
 msgid ""
 "\n"
 "      --disable-authentication\n"
 "                         disable channel authentication"
 msgstr ""
 
-#: guix/scripts/pull.scm:104
+#: guix/scripts/pull.scm:102
 msgid ""
 "\n"
 "  -N, --news             display news compared to the previous generation"
 msgstr ""
 
-#: guix/scripts/pull.scm:117
+#: guix/scripts/pull.scm:115
 #, scheme-format
 msgid ""
 "\n"
 "  -p, --profile=PROFILE  use PROFILE instead of ~/.config/guix/current"
 msgstr ""
 
-#: guix/scripts/pull.scm:123
+#: guix/scripts/pull.scm:121
 msgid ""
 "\n"
 "      --bootstrap        use the bootstrap Guile to build the new Guix"
 msgstr ""
 
-#: guix/scripts/pull.scm:212 guix/scripts/system/reconfigure.scm:328
+#: guix/scripts/pull.scm:210 guix/scripts/system/reconfigure.scm:333
 #, scheme-format
 msgid "rolling back channel '~a' from ~a to ~a~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:215 guix/scripts/system/reconfigure.scm:331
+#: guix/scripts/pull.scm:213 guix/scripts/system/reconfigure.scm:336
 #, scheme-format
 msgid "moving channel '~a' from ~a to unrelated commit ~a~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:244
+#: guix/scripts/pull.scm:242
 msgid "New in this revision:\n"
 msgstr ""
 
 #. TRANSLATORS: This describes a "channel"; the first placeholder is
 #. the channel name (e.g., "guix") and the second placeholder is its
 #. URL.
-#: guix/scripts/pull.scm:253
+#: guix/scripts/pull.scm:251
 #, scheme-format
 msgid "    ~a at ~a~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:291
+#: guix/scripts/pull.scm:289
 #, scheme-format
 msgid "    commit ~a~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:328
+#: guix/scripts/pull.scm:326
 #, scheme-format
 msgid "News for channel '~a'~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:354
+#: guix/scripts/pull.scm:352
 #, scheme-format
 msgid "  ~a new channel:~%"
 msgid_plural "  ~a new channels:~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/scripts/pull.scm:364
+#: guix/scripts/pull.scm:362
 #, scheme-format
 msgid "  ~a channel removed:~%"
 msgid_plural "  ~a channels removed:~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/scripts/pull.scm:440
+#: guix/scripts/pull.scm:438
 msgid "Run @command{guix pull --news} to read all the news."
 msgstr ""
 
-#: guix/scripts/pull.scm:448
+#: guix/scripts/pull.scm:446
 #, scheme-format
 msgid ""
 "After setting @code{PATH}, run\n"
 "@command{hash guix} to make sure your shell refers to @file{~a}."
 msgstr ""
 
-#: guix/scripts/pull.scm:483
+#: guix/scripts/pull.scm:481
 #, scheme-format
 msgid "Migrating profile generations to '~a'...~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:527
+#: guix/scripts/pull.scm:525
 #, scheme-format
 msgid "while creating symlink '~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:616
+#: guix/scripts/pull.scm:614
 msgid "  ~h new package: ~a~%"
 msgid_plural "  ~h new packages: ~a~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/scripts/pull.scm:624
+#: guix/scripts/pull.scm:622
 msgid "  ~h package upgraded: ~a~%"
 msgid_plural "  ~h packages upgraded: ~a~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/scripts/pull.scm:713
+#: guix/scripts/pull.scm:711
 #, scheme-format
 msgid "'~a' did not return a list of channels~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:729
+#: guix/scripts/pull.scm:727
 #, scheme-format
 msgid ""
 "The 'GUIX_PULL_URL' environment variable is deprecated.\n"
 "Use '~/.config/guix/channels.scm' instead."
 msgstr ""
 
-#: guix/scripts/pull.scm:802
+#: guix/scripts/pull.scm:800
 #, scheme-format
 msgid "Building from this channel:~%"
 msgid_plural "Building from these channels:~%"
@@ -2906,30 +3658,30 @@ msgstr[1] ""
 msgid "authentication and authorization of substitutes disabled!~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:222
+#: guix/scripts/substitute.scm:224
 #, scheme-format
 msgid "host name lookup error: ~a~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:227
+#: guix/scripts/substitute.scm:229
 #, scheme-format
 msgid "TLS error in procedure '~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:238
+#: guix/scripts/substitute.scm:240
 msgid ""
-"Usage: guix substitute [OPTION]...\n"
+"Usage: guix substitute OPTION [ARGUMENT]...\n"
 "Internal tool to substitute a pre-built binary to a local build.\n"
 msgstr ""
 
-#: guix/scripts/substitute.scm:240
+#: guix/scripts/substitute.scm:242
 msgid ""
 "\n"
 "      --query            report on the availability of substitutes for the\n"
 "                         store file names passed on the standard input"
 msgstr ""
 
-#: guix/scripts/substitute.scm:243
+#: guix/scripts/substitute.scm:245
 msgid ""
 "\n"
 "      --substitute STORE-FILE DESTINATION\n"
@@ -2937,51 +3689,51 @@ msgid ""
 "                         DESTINATION"
 msgstr ""
 
-#: guix/scripts/substitute.scm:323
+#: guix/scripts/substitute.scm:325
 #, scheme-format
 msgid "updating substitutes from '~a'... ~5,1f%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:469
+#: guix/scripts/substitute.scm:471
 #, scheme-format
 msgid "download from '~a' failed: ~a, ~s~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:479
+#: guix/scripts/substitute.scm:481
 #, scheme-format
 msgid "while fetching ~a: server is somewhat slow~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:481
+#: guix/scripts/substitute.scm:483
 #, scheme-format
 msgid "try `--no-substitutes' if the problem persists~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:488
+#: guix/scripts/substitute.scm:490
 #, scheme-format
 msgid "unsupported substitute URI scheme: ~a~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:492
+#: guix/scripts/substitute.scm:494
 #, scheme-format
 msgid "no valid substitute for '~a'~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:501
+#: guix/scripts/substitute.scm:503
 #, scheme-format
 msgid "Downloading ~a...~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:605
+#: guix/scripts/substitute.scm:610
 msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n"
 msgstr ""
 
-#: guix/scripts/substitute.scm:690
+#: guix/scripts/substitute.scm:696
 #, scheme-format
 msgid "~a: invalid URI~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:777
+#: guix/scripts/substitute.scm:783
 #, scheme-format
 msgid "~a: unrecognized options~%"
 msgstr ""
@@ -3023,113 +3775,112 @@ msgstr ""
 msgid "wrong arguments~%"
 msgstr ""
 
-#: guix/scripts/system.scm:175
+#: guix/scripts/system.scm:178
 #, scheme-format
 msgid "copying to '~a'..."
 msgstr ""
 
-#: guix/scripts/system.scm:211
+#: guix/scripts/system.scm:214
 #, scheme-format
 msgid "initializing the current root file system~%"
 msgstr ""
 
-#: guix/scripts/system.scm:225
+#: guix/scripts/system.scm:228
 #, scheme-format
 msgid "not running as 'root', so the ownership of '~a' may be incorrect!~%"
 msgstr ""
 
-#: guix/scripts/system.scm:255 guix/scripts/system.scm:751
-#: guix/scripts/system.scm:857
+#: guix/scripts/system.scm:258
 #, scheme-format
-msgid "bootloader successfully installed on '~a'~%"
+msgid "bootloader successfully installed on~{ ~a~}~%"
 msgstr ""
 
-#: guix/scripts/system.scm:278
+#: guix/scripts/system.scm:281
 #, scheme-format
 msgid "while talking to shepherd: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:286
+#: guix/scripts/system.scm:289
 #, scheme-format
 msgid "service '~a' could not be found~%"
 msgstr ""
 
-#: guix/scripts/system.scm:289
+#: guix/scripts/system.scm:292
 #, scheme-format
 msgid "service '~a' does not have an action '~a'~%"
 msgstr ""
 
-#: guix/scripts/system.scm:293
+#: guix/scripts/system.scm:296
 #, scheme-format
 msgid "exception caught while executing '~a' on service '~a':~%"
 msgstr ""
 
-#: guix/scripts/system.scm:301
+#: guix/scripts/system.scm:304
 #, scheme-format
 msgid "something went wrong: ~s~%"
 msgstr ""
 
-#: guix/scripts/system.scm:304
+#: guix/scripts/system.scm:307
 #, scheme-format
 msgid "shepherd error~%"
 msgstr ""
 
-#: guix/scripts/system.scm:308
+#: guix/scripts/system.scm:311
 #, scheme-format
 msgid "some services could not be upgraded~%"
 msgstr ""
 
-#: guix/scripts/system.scm:309
+#: guix/scripts/system.scm:312
 msgid ""
 "To allow changes to all the system services to take\n"
 "effect, you will need to reboot."
 msgstr ""
 
-#: guix/scripts/system.scm:375
+#: guix/scripts/system.scm:378
 #, scheme-format
 msgid "cannot switch to system generation '~a'~%"
 msgstr ""
 
-#: guix/scripts/system.scm:451
+#: guix/scripts/system.scm:454
 msgid "the DAG of services"
 msgstr ""
 
-#: guix/scripts/system.scm:464
+#: guix/scripts/system.scm:467
 msgid "the dependency graph of shepherd services"
 msgstr ""
 
-#: guix/scripts/system.scm:479
+#: guix/scripts/system.scm:482 guix/scripts/home.scm:453
 #, scheme-format
 msgid "      repository URL: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:481
+#: guix/scripts/system.scm:484 guix/scripts/home.scm:455
 #, scheme-format
 msgid "      branch: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:482
+#: guix/scripts/system.scm:485 guix/scripts/home.scm:456
 #, scheme-format
 msgid "      commit: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:502
+#: guix/scripts/system.scm:505 guix/scripts/home.scm:469
 #, scheme-format
 msgid "  file name: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:503
+#: guix/scripts/system.scm:506 guix/scripts/home.scm:470
 #, scheme-format
 msgid "  canonical file name: ~a~%"
 msgstr ""
 
 #. TRANSLATORS: Please preserve the two-space indentation.
-#: guix/scripts/system.scm:505
+#: guix/scripts/system.scm:508
 #, scheme-format
 msgid "  label: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:506
+#: guix/scripts/system.scm:509
 #, scheme-format
 msgid "  bootloader: ~a~%"
 msgstr ""
@@ -3142,192 +3893,202 @@ msgstr ""
 #. root device: label: "my-root"
 #. or just:
 #. root device: /dev/sda3
-#: guix/scripts/system.scm:516
+#: guix/scripts/system.scm:519
 #, scheme-format
 msgid "  root device: ~[UUID: ~a~;label: ~s~;~a~]~%"
 msgstr ""
 
-#: guix/scripts/system.scm:522
+#: guix/scripts/system.scm:525
 #, scheme-format
 msgid "  kernel: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:527
+#: guix/scripts/system.scm:530
 #, scheme-format
 msgid "  multiboot: ~a~%"
 msgstr ""
 
 #. TRANSLATORS: Here "channel" is the same terminology as used in
 #. "guix describe" and "guix pull --channels".
-#: guix/scripts/system.scm:533
+#: guix/scripts/system.scm:536 guix/scripts/home.scm:476
 #, scheme-format
 msgid "  channels:~%"
 msgstr ""
 
-#: guix/scripts/system.scm:536
+#: guix/scripts/system.scm:539 guix/scripts/home.scm:479
 #, scheme-format
 msgid "  configuration file: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:609
+#: guix/scripts/system.scm:612
 #, scheme-format
 msgid "device '~a' not found: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:612
+#: guix/scripts/system.scm:615
 #, scheme-format
 msgid ""
 "If '~a' is a file system\n"
 "label, write @code{(file-system-label ~s)} in your @code{device} field."
 msgstr ""
 
-#: guix/scripts/system.scm:621
+#: guix/scripts/system.scm:624
 #, scheme-format
 msgid "file system with label '~a' not found~%"
 msgstr ""
 
-#: guix/scripts/system.scm:627
+#: guix/scripts/system.scm:630
 #, scheme-format
 msgid "file system with UUID '~a' not found~%"
 msgstr ""
 
-#: guix/scripts/system.scm:714
+#: guix/scripts/system.scm:718
 #, scheme-format
 msgid "'disk-image' is deprecated: use 'image' instead~%"
 msgstr ""
 
-#: guix/scripts/system.scm:716
+#: guix/scripts/system.scm:720
 #, scheme-format
 msgid "'vm-image' is deprecated: use 'image' instead~%"
 msgstr ""
 
-#: guix/scripts/system.scm:729
+#: guix/scripts/system.scm:722
+#, scheme-format
+msgid "'docker-image' is deprecated: use 'image' instead~%"
+msgstr ""
+
+#: guix/scripts/system.scm:732
 #, scheme-format
 msgid "Consider running 'guix pull' before 'reconfigure'.~%"
 msgstr ""
 
-#: guix/scripts/system.scm:730
+#: guix/scripts/system.scm:733
 #, scheme-format
 msgid "Failing to do that may downgrade your system!~%"
 msgstr ""
 
-#: guix/scripts/system.scm:850
+#: guix/scripts/system.scm:754 guix/scripts/system.scm:863
+#, scheme-format
+msgid "bootloader successfully installed on '~a'~%"
+msgstr ""
+
+#: guix/scripts/system.scm:856
 #, scheme-format
 msgid "activating system...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:861
+#: guix/scripts/system.scm:867
 msgid ""
 "To complete the upgrade, run 'herd restart SERVICE' to stop,\n"
 "upgrade, and restart each service that was not automatically restarted.\n"
 msgstr ""
 
-#: guix/scripts/system.scm:864
+#: guix/scripts/system.scm:870
 msgid "Run 'herd status' to view the list of services on your system.\n"
 msgstr ""
 
-#: guix/scripts/system.scm:868
+#: guix/scripts/system.scm:874
 #, scheme-format
 msgid "initializing operating system under '~a'...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:888 guix/scripts/graph.scm:437
+#: guix/scripts/system.scm:894 guix/scripts/graph.scm:437
 #, scheme-format
 msgid "~a: unknown backend~%"
 msgstr ""
 
-#: guix/scripts/system.scm:925
+#: guix/scripts/system.scm:931
 msgid "The available image types are:\n"
 msgstr ""
 
-#: guix/scripts/system.scm:935
+#: guix/scripts/system.scm:941
 msgid ""
 "Usage: guix system [OPTION ...] ACTION [ARG ...] [FILE]\n"
 "Build the operating system declared in FILE according to ACTION.\n"
 "Some ACTIONS support additional ARGS.\n"
 msgstr ""
 
-#: guix/scripts/system.scm:941
+#: guix/scripts/system.scm:947
 msgid "   search           search for existing service types\n"
 msgstr ""
 
-#: guix/scripts/system.scm:943
+#: guix/scripts/system.scm:949
 msgid "   reconfigure      switch to a new operating system configuration\n"
 msgstr ""
 
-#: guix/scripts/system.scm:945
+#: guix/scripts/system.scm:951
 msgid "   roll-back        switch to the previous operating system configuration\n"
 msgstr ""
 
-#: guix/scripts/system.scm:947
+#: guix/scripts/system.scm:953
 msgid "   describe         describe the current system\n"
 msgstr ""
 
-#: guix/scripts/system.scm:949
+#: guix/scripts/system.scm:955
 msgid "   list-generations list the system generations\n"
 msgstr ""
 
-#: guix/scripts/system.scm:951
+#: guix/scripts/system.scm:957
 msgid "   switch-generation switch to an existing operating system configuration\n"
 msgstr ""
 
-#: guix/scripts/system.scm:953
+#: guix/scripts/system.scm:959
 msgid "   delete-generations delete old system generations\n"
 msgstr ""
 
-#: guix/scripts/system.scm:955
+#: guix/scripts/system.scm:961
 msgid "   build            build the operating system without installing anything\n"
 msgstr ""
 
-#: guix/scripts/system.scm:957
+#: guix/scripts/system.scm:963
 msgid "   container        build a container that shares the host's store\n"
 msgstr ""
 
-#: guix/scripts/system.scm:959
+#: guix/scripts/system.scm:965
 msgid "   vm               build a virtual machine image that shares the host's store\n"
 msgstr ""
 
-#: guix/scripts/system.scm:961
+#: guix/scripts/system.scm:967
 msgid "   image            build a Guix System image\n"
 msgstr ""
 
-#: guix/scripts/system.scm:963
+#: guix/scripts/system.scm:969
 msgid "   docker-image     build a Docker image\n"
 msgstr ""
 
-#: guix/scripts/system.scm:965
+#: guix/scripts/system.scm:971
 msgid "   init             initialize a root file system to run GNU\n"
 msgstr ""
 
-#: guix/scripts/system.scm:967
+#: guix/scripts/system.scm:973
 msgid "   extension-graph  emit the service extension graph in Dot format\n"
 msgstr ""
 
-#: guix/scripts/system.scm:969
+#: guix/scripts/system.scm:975
 msgid "   shepherd-graph   emit the graph of shepherd services in Dot format\n"
 msgstr ""
 
-#: guix/scripts/system.scm:973
+#: guix/scripts/system.scm:979
 msgid ""
 "\n"
 "  -d, --derivation       return the derivation of the given system"
 msgstr ""
 
-#: guix/scripts/system.scm:975
+#: guix/scripts/system.scm:981
 msgid ""
 "\n"
 "  -e, --expression=EXPR  consider the operating-system EXPR evaluates to\n"
 "                         instead of reading FILE, when applicable"
 msgstr ""
 
-#: guix/scripts/system.scm:978
+#: guix/scripts/system.scm:984
 msgid ""
 "\n"
 "      --allow-downgrades for 'reconfigure', allow downgrades to earlier\n"
 "                         channel revisions"
 msgstr ""
 
-#: guix/scripts/system.scm:981
+#: guix/scripts/system.scm:987
 msgid ""
 "\n"
 "      --on-error=STRATEGY\n"
@@ -3335,69 +4096,69 @@ msgid ""
 "                         or debug) when an error occurs while reading FILE"
 msgstr ""
 
-#: guix/scripts/system.scm:985
+#: guix/scripts/system.scm:991
 msgid ""
 "\n"
 "      --list-image-types list available image types"
 msgstr ""
 
-#: guix/scripts/system.scm:987
+#: guix/scripts/system.scm:993
 msgid ""
 "\n"
 "  -t, --image-type=TYPE  for 'image', produce an image of TYPE"
 msgstr ""
 
-#: guix/scripts/system.scm:989
+#: guix/scripts/system.scm:995
 msgid ""
 "\n"
 "      --image-size=SIZE  for 'image', produce an image of SIZE"
 msgstr ""
 
-#: guix/scripts/system.scm:991
+#: guix/scripts/system.scm:997
 msgid ""
 "\n"
 "      --no-bootloader    for 'init', do not install a bootloader"
 msgstr ""
 
-#: guix/scripts/system.scm:993
+#: guix/scripts/system.scm:999
 msgid ""
 "\n"
 "      --volatile         for 'image', make the root file system volatile"
 msgstr ""
 
-#: guix/scripts/system.scm:995
+#: guix/scripts/system.scm:1001
 msgid ""
 "\n"
 "      --label=LABEL      for 'image', label disk image with LABEL"
 msgstr ""
 
-#: guix/scripts/system.scm:997 guix/scripts/pack.scm:1099
+#: guix/scripts/system.scm:1003 guix/scripts/pack.scm:1340
 msgid ""
 "\n"
 "      --save-provenance  save provenance information"
 msgstr ""
 
-#: guix/scripts/system.scm:999
+#: guix/scripts/system.scm:1005
 msgid ""
 "\n"
 "      --share=SPEC       for 'vm' and 'container', share host file system with\n"
 "                         read/write access according to SPEC"
 msgstr ""
 
-#: guix/scripts/system.scm:1002
+#: guix/scripts/system.scm:1008
 msgid ""
 "\n"
 "      --expose=SPEC      for 'vm' and 'container', expose host file system\n"
 "                         directory as read-only according to SPEC"
 msgstr ""
 
-#: guix/scripts/system.scm:1005
+#: guix/scripts/system.scm:1011
 msgid ""
 "\n"
 "  -N, --network          for 'container', allow containers to access the network"
 msgstr ""
 
-#: guix/scripts/system.scm:1007
+#: guix/scripts/system.scm:1013
 msgid ""
 "\n"
 "  -r, --root=FILE        for 'vm', 'image', 'container' and 'build',\n"
@@ -3405,66 +4166,82 @@ msgid ""
 "                         register it as a garbage collector root"
 msgstr ""
 
-#: guix/scripts/system.scm:1011
+#: guix/scripts/system.scm:1017
 msgid ""
 "\n"
 "      --full-boot        for 'vm', make a full boot sequence"
 msgstr ""
 
-#: guix/scripts/system.scm:1013
+#: guix/scripts/system.scm:1019
+msgid ""
+"\n"
+"      --no-graphic       for 'vm', use the tty that we are started in for IO"
+msgstr ""
+
+#: guix/scripts/system.scm:1021
 msgid ""
 "\n"
 "      --skip-checks      skip file system and initrd module safety checks"
 msgstr ""
 
-#: guix/scripts/system.scm:1020
+#: guix/scripts/system.scm:1028
 msgid ""
 "\n"
 "      --graph-backend=BACKEND\n"
 "                         use BACKEND for 'extension-graphs' and 'shepherd-graph'"
 msgstr ""
 
-#: guix/scripts/system.scm:1162
+#: guix/scripts/system.scm:1180
 #, scheme-format
 msgid "'~a' does not return an operating system or an image~%"
 msgstr ""
 
-#: guix/scripts/system.scm:1186
+#: guix/scripts/system.scm:1204 guix/scripts/home.scm:216
 #, scheme-format
 msgid "both file and expression cannot be specified~%"
 msgstr ""
 
-#: guix/scripts/system.scm:1193
+#: guix/scripts/system.scm:1211 guix/scripts/home.scm:223
 #, scheme-format
 msgid "no configuration specified~%"
 msgstr ""
 
-#: guix/scripts/system.scm:1303
+#: guix/scripts/system.scm:1319 guix/scripts/system.scm:1335
+#: guix/scripts/system.scm:1342 guix/scripts/system.scm:1348
+#: guix/scripts/home.scm:274 guix/scripts/home.scm:296
+#: guix/scripts/home.scm:301 guix/scripts/home.scm:307
+#: guix/scripts/home.scm:314 guix/scripts/import/gnu.scm:100
+#: guix/scripts/offload.scm:836 guix/scripts/offload.scm:848
+#, scheme-format
+msgid "wrong number of arguments~%"
+msgstr ""
+
+#: guix/scripts/system.scm:1324
 #, scheme-format
 msgid "no system generation, nothing to describe~%"
 msgstr ""
 
-#: guix/scripts/system.scm:1349
+#: guix/scripts/system.scm:1367 guix/scripts/home.scm:337
 #, scheme-format
 msgid "~a: unknown action~%"
 msgstr ""
 
-#: guix/scripts/system.scm:1365
+#: guix/scripts/system.scm:1387 guix/scripts/home.scm:353
 #, scheme-format
 msgid "wrong number of arguments for action '~a'~%"
 msgstr ""
 
-#: guix/scripts/system.scm:1370
+#: guix/scripts/system.scm:1392
 #, scheme-format
 msgid "guix system: missing command name~%"
 msgstr ""
 
-#: guix/scripts/system.scm:1372
+#: guix/scripts/system.scm:1394
 #, scheme-format
 msgid "Try 'guix system --help' for more information.~%"
 msgstr ""
 
-#: guix/scripts/system/search.scm:93 guix/ui.scm:1546 guix/ui.scm:1564
+#: guix/scripts/system/search.scm:93 guix/ui.scm:1541 guix/ui.scm:1559
 msgid "unknown"
 msgstr ""
 
@@ -3516,134 +4293,140 @@ msgstr ""
 msgid "~a: invalid checker~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:82
+#: guix/scripts/publish.scm:86
 #, scheme-format
 msgid ""
 "Usage: guix publish [OPTION]...\n"
 "Publish ~a over HTTP.\n"
 msgstr ""
 
-#: guix/scripts/publish.scm:84
+#: guix/scripts/publish.scm:88
 msgid ""
 "\n"
 "  -p, --port=PORT        listen on PORT"
 msgstr ""
 
-#: guix/scripts/publish.scm:86
+#: guix/scripts/publish.scm:90
 msgid ""
 "\n"
 "      --listen=HOST      listen on the network interface for HOST"
 msgstr ""
 
-#: guix/scripts/publish.scm:88
+#: guix/scripts/publish.scm:92
 msgid ""
 "\n"
 "  -u, --user=USER        change privileges to USER as soon as possible"
 msgstr ""
 
-#: guix/scripts/publish.scm:90
+#: guix/scripts/publish.scm:94
 msgid ""
 "\n"
 "  -a, --advertise        advertise on the local network"
 msgstr ""
 
-#: guix/scripts/publish.scm:92
+#: guix/scripts/publish.scm:96
 msgid ""
 "\n"
 "  -C, --compression[=METHOD:LEVEL]\n"
 "                         compress archives with METHOD at LEVEL"
 msgstr ""
 
-#: guix/scripts/publish.scm:95
+#: guix/scripts/publish.scm:99
 msgid ""
 "\n"
 "  -c, --cache=DIRECTORY  cache published items to DIRECTORY"
 msgstr ""
 
-#: guix/scripts/publish.scm:97
+#: guix/scripts/publish.scm:101
 msgid ""
 "\n"
 "      --cache-bypass-threshold=SIZE\n"
 "                         serve store items below SIZE even when not cached"
 msgstr ""
 
-#: guix/scripts/publish.scm:100
+#: guix/scripts/publish.scm:104
 msgid ""
 "\n"
 "      --workers=N        use N workers to bake items"
 msgstr ""
 
-#: guix/scripts/publish.scm:102
+#: guix/scripts/publish.scm:106
 msgid ""
 "\n"
 "      --ttl=TTL          announce narinfos can be cached for TTL seconds"
 msgstr ""
 
-#: guix/scripts/publish.scm:104
+#: guix/scripts/publish.scm:108
+msgid ""
+"\n"
+"      --negative-ttl=TTL announce missing narinfos can be cached for TTL seconds"
+msgstr ""
+
+#: guix/scripts/publish.scm:110
 msgid ""
 "\n"
 "      --nar-path=PATH    use PATH as the prefix for nar URLs"
 msgstr ""
 
-#: guix/scripts/publish.scm:106
+#: guix/scripts/publish.scm:112
 msgid ""
 "\n"
 "      --public-key=FILE  use FILE as the public key for signatures"
 msgstr ""
 
-#: guix/scripts/publish.scm:108
+#: guix/scripts/publish.scm:114
 msgid ""
 "\n"
 "      --private-key=FILE use FILE as the private key for signatures"
 msgstr ""
 
-#: guix/scripts/publish.scm:110
+#: guix/scripts/publish.scm:116
 msgid ""
 "\n"
 "  -r, --repl[=PORT]      spawn REPL server on PORT"
 msgstr ""
 
-#: guix/scripts/publish.scm:126
+#: guix/scripts/publish.scm:132
 #, scheme-format
 msgid "lookup of host '~a' failed: ~a~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:183
+#: guix/scripts/publish.scm:189
 #, scheme-format
 msgid "lookup of host '~a' returned nothing"
 msgstr ""
 
-#: guix/scripts/publish.scm:206
+#: guix/scripts/publish.scm:212
 #, scheme-format
 msgid "~a: unsupported compression type~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:224
+#: guix/scripts/publish.scm:230 guix/scripts/publish.scm:237
 #, scheme-format
 msgid "~a: invalid duration~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:1077
+#: guix/scripts/publish.scm:1211
 #, scheme-format
 msgid "Advertising ~a~%."
 msgstr ""
 
-#: guix/scripts/publish.scm:1108
+#: guix/scripts/publish.scm:1243
 #, scheme-format
 msgid "user '~a' not found: ~a~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:1160
+#: guix/scripts/publish.scm:1296
 #, scheme-format
 msgid "server running as root; consider using the '--user' option!~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:1168
+#: guix/scripts/publish.scm:1304
 #, scheme-format
 msgid "publishing ~a on ~a, port ~d~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:1174
+#: guix/scripts/publish.scm:1310
 #, scheme-format
 msgid "using '~a' compression method, level ~a~%"
 msgstr ""
@@ -3659,7 +4442,12 @@ msgstr ""
 msgid "file '~a' not found in search path ~s~%"
 msgstr ""
 
-#: guix/scripts/edit.scm:104
+#: guix/scripts/edit.scm:95
+#, scheme-format
+msgid "no packages specified, nothing to edit~%"
+msgstr ""
+
+#: guix/scripts/edit.scm:106
 #, scheme-format
 msgid "failed to launch '~a': ~a~%"
 msgstr ""
@@ -3805,144 +4593,155 @@ msgstr ""
 
 #. TRANSLATORS: Here 'dot' is the name of a program; it must not be
 #. translated.
-#: guix/scripts/graph.scm:530
+#: guix/scripts/graph.scm:534
 msgid ""
 "Usage: guix graph PACKAGE...\n"
 "Emit a representation of the dependency graph of PACKAGE...\n"
 msgstr ""
 
-#: guix/scripts/graph.scm:532
+#: guix/scripts/graph.scm:536
 msgid ""
 "\n"
 "  -b, --backend=TYPE     produce a graph with the given backend TYPE"
 msgstr ""
 
-#: guix/scripts/graph.scm:534
+#: guix/scripts/graph.scm:538
 msgid ""
 "\n"
 "      --list-backends    list the available graph backends"
 msgstr ""
 
-#: guix/scripts/graph.scm:536
+#: guix/scripts/graph.scm:540
 msgid ""
 "\n"
 "  -t, --type=TYPE        represent nodes of the given TYPE"
 msgstr ""
 
-#: guix/scripts/graph.scm:538
+#: guix/scripts/graph.scm:542
 msgid ""
 "\n"
 "      --list-types       list the available graph types"
 msgstr ""
 
-#: guix/scripts/graph.scm:540
+#: guix/scripts/graph.scm:544
+msgid ""
+"\n"
+"  -M, --max-depth=DEPTH  limit to nodes within distance DEPTH"
+msgstr ""
+
+#: guix/scripts/graph.scm:546
 msgid ""
 "\n"
 "      --path             display the shortest path between the given nodes"
 msgstr ""
 
-#: guix/scripts/graph.scm:542 guix/scripts/pack.scm:1084
-#: guix/scripts/refresh.scm:149
+#: guix/scripts/graph.scm:548 guix/scripts/pack.scm:1325
+#: guix/scripts/refresh.scm:150 guix/scripts/style.scm:502
 msgid ""
 "\n"
 "  -e, --expression=EXPR  consider the package EXPR evaluates to"
 msgstr ""
 
-#: guix/scripts/graph.scm:544
+#: guix/scripts/graph.scm:550
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    consider the graph for SYSTEM--e.g., \"i686-linux\""
 msgstr ""
 
-#: guix/scripts/graph.scm:607
+#: guix/scripts/graph.scm:605
+#, scheme-format
+msgid "no arguments specified; creating an empty graph~%"
+msgstr ""
+
+#: guix/scripts/graph.scm:618
 #, scheme-format
 msgid "'--path' option requires exactly two nodes (given ~a)~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:303
+#: guix/scripts/challenge.scm:308
 #, scheme-format
 msgid "  differing file:~%"
 msgid_plural "  differing files:~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/scripts/challenge.scm:372
+#: guix/scripts/challenge.scm:377
 #, scheme-format
 msgid "  local hash: ~a~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:373
+#: guix/scripts/challenge.scm:378
 #, scheme-format
 msgid "  no local build for '~a'~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:375
+#: guix/scripts/challenge.scm:380
 #, scheme-format
 msgid "  ~50a: ~a~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:383
+#: guix/scripts/challenge.scm:388
 #, scheme-format
 msgid "~a contents differ:~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:387
+#: guix/scripts/challenge.scm:392
 #, scheme-format
 msgid "could not challenge '~a': no local build~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:389
+#: guix/scripts/challenge.scm:394
 #, scheme-format
 msgid "could not challenge '~a': no substitutes~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:392
+#: guix/scripts/challenge.scm:397
 #, scheme-format
 msgid "~a contents match:~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:401
+#: guix/scripts/challenge.scm:406
 msgid "~h store items were analyzed:~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:402
+#: guix/scripts/challenge.scm:407
 msgid "  - ~h (~,1f%) were identical~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:404
+#: guix/scripts/challenge.scm:409
 msgid "  - ~h (~,1f%) differed~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:406
+#: guix/scripts/challenge.scm:411
 msgid "  - ~h (~,1f%) were inconclusive~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:415
+#: guix/scripts/challenge.scm:420
 msgid ""
 "Usage: guix challenge [PACKAGE...]\n"
 "Challenge the substitutes for PACKAGE... provided by one or more servers.\n"
 msgstr ""
 
-#: guix/scripts/challenge.scm:417
+#: guix/scripts/challenge.scm:422
 msgid ""
 "\n"
 "      --substitute-urls=URLS\n"
 "                         compare build results with those at URLS"
 msgstr ""
 
-#: guix/scripts/challenge.scm:420
+#: guix/scripts/challenge.scm:425
 msgid ""
 "\n"
 "  -v, --verbose          show details about successful comparisons"
 msgstr ""
 
-#: guix/scripts/challenge.scm:422
+#: guix/scripts/challenge.scm:427
 msgid ""
 "\n"
 "      --diff=MODE        show differences according to MODE"
 msgstr ""
 
-#: guix/scripts/challenge.scm:451
+#: guix/scripts/challenge.scm:456
 #, scheme-format
 msgid "~a: unknown diff mode~%"
 msgstr ""
@@ -3957,281 +4756,335 @@ msgstr ""
 msgid "~a: invalid SSH specification~%"
 msgstr ""
 
-#: guix/scripts/copy.scm:109
+#: guix/scripts/copy.scm:67
+#, scheme-format
+msgid "no arguments specified, nothing to copy~%"
+msgstr ""
+
+#: guix/scripts/copy.scm:116
 msgid ""
 "Usage: guix copy [OPTION]... ITEMS...\n"
 "Copy ITEMS to or from the specified host over SSH.\n"
 msgstr ""
 
-#: guix/scripts/copy.scm:111
+#: guix/scripts/copy.scm:118
 msgid ""
 "\n"
 "      --to=HOST          send ITEMS to HOST"
 msgstr ""
 
-#: guix/scripts/copy.scm:113
+#: guix/scripts/copy.scm:120
 msgid ""
 "\n"
 "      --from=HOST        receive ITEMS from HOST"
 msgstr ""
 
-#: guix/scripts/copy.scm:192
+#: guix/scripts/copy.scm:199
 #, scheme-format
 msgid "use '--to' or '--from'~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:111
+#: guix/scripts/pack.scm:120
 #, scheme-format
 msgid "~a: compressor not found~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:323
+#: guix/scripts/pack.scm:328 guix/scripts/pack.scm:683
 #, scheme-format
 msgid "entry point not supported in the '~a' format~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:705
+#: guix/scripts/pack.scm:679
+#, scheme-format
+msgid "~a is not a valid Debian archive compressor.  Valid compressors are: ~a~%"
+msgstr ""
+
+#: guix/scripts/pack.scm:908
 #, scheme-format
 msgid ""
 "cross-compilation not implemented here;\n"
 "please email '~a'~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:965
+#: guix/scripts/pack.scm:1169
 msgid "The supported formats for 'guix pack' are:"
 msgstr ""
 
-#: guix/scripts/pack.scm:967
+#: guix/scripts/pack.scm:1171
 msgid ""
 "\n"
 "  tarball       Self-contained tarball, ready to run on another machine"
 msgstr ""
 
-#: guix/scripts/pack.scm:969
+#: guix/scripts/pack.scm:1173
 msgid ""
 "\n"
 "  squashfs      Squashfs image suitable for Singularity"
 msgstr ""
 
-#: guix/scripts/pack.scm:971
+#: guix/scripts/pack.scm:1175
 msgid ""
 "\n"
 "  docker        Tarball ready for 'docker load'"
 msgstr ""
 
-#: guix/scripts/pack.scm:1040
+#: guix/scripts/pack.scm:1177
+msgid ""
+"\n"
+"  deb           Debian archive installable via dpkg/apt"
+msgstr ""
+
+#: guix/scripts/pack.scm:1193
+msgid ""
+"\n"
+"      --help-deb-format  list options specific to the deb format"
+msgstr ""
+
+#: guix/scripts/pack.scm:1197
+msgid ""
+"\n"
+"      --control-file=FILE\n"
+"                         Embed the provided control FILE"
+msgstr ""
+
+#: guix/scripts/pack.scm:1200
+msgid ""
+"\n"
+"      --postinst-file=FILE\n"
+"                         Embed the provided postinst script"
+msgstr ""
+
+#: guix/scripts/pack.scm:1203
+msgid ""
+"\n"
+"      --triggers-file=FILE\n"
+"                         Embed the provided triggers FILE"
+msgstr ""
+
+#: guix/scripts/pack.scm:1274
 #, scheme-format
 msgid "~a: invalid symlink specification~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:1054
+#: guix/scripts/pack.scm:1288
 #, scheme-format
 msgid "~a: unsupported profile name~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:1072
+#: guix/scripts/pack.scm:1311
 msgid ""
 "Usage: guix pack [OPTION]... PACKAGE...\n"
 "Create a bundle of PACKAGE.\n"
 msgstr ""
 
-#: guix/scripts/pack.scm:1078
+#: guix/scripts/pack.scm:1319
 msgid ""
 "\n"
 "  -f, --format=FORMAT    build a pack in the given FORMAT"
 msgstr ""
 
-#: guix/scripts/pack.scm:1080
+#: guix/scripts/pack.scm:1321
 msgid ""
 "\n"
 "      --list-formats     list the formats available"
 msgstr ""
 
-#: guix/scripts/pack.scm:1082
+#: guix/scripts/pack.scm:1323
 msgid ""
 "\n"
 "  -R, --relocatable      produce relocatable executables"
 msgstr ""
 
-#: guix/scripts/pack.scm:1090
+#: guix/scripts/pack.scm:1331
 msgid ""
 "\n"
 "  -C, --compression=TOOL compress using TOOL--e.g., \"lzip\""
 msgstr ""
 
-#: guix/scripts/pack.scm:1092
+#: guix/scripts/pack.scm:1333
 msgid ""
 "\n"
 "  -S, --symlink=SPEC     create symlinks to the profile according to SPEC"
 msgstr ""
 
-#: guix/scripts/pack.scm:1094
+#: guix/scripts/pack.scm:1335
 msgid ""
 "\n"
 "  -m, --manifest=FILE    create a pack with the manifest from FILE"
 msgstr ""
 
-#: guix/scripts/pack.scm:1096
+#: guix/scripts/pack.scm:1337
 msgid ""
 "\n"
 "      --entry-point=PROGRAM\n"
 "                         use PROGRAM as the entry point of the pack"
 msgstr ""
 
-#: guix/scripts/pack.scm:1101
+#: guix/scripts/pack.scm:1342
 msgid ""
 "\n"
 "      --localstatedir    include /var/guix in the resulting pack"
 msgstr ""
 
-#: guix/scripts/pack.scm:1103
+#: guix/scripts/pack.scm:1344
 msgid ""
 "\n"
 "      --profile-name=NAME\n"
 "                         populate /var/guix/profiles/.../NAME"
 msgstr ""
 
-#: guix/scripts/pack.scm:1109
+#: guix/scripts/pack.scm:1350
 msgid ""
 "\n"
 "  -d, --derivation       return the derivation of the pack"
 msgstr ""
 
-#: guix/scripts/pack.scm:1113
+#: guix/scripts/pack.scm:1354
 msgid ""
 "\n"
 "      --bootstrap        use the bootstrap binaries to build the pack"
 msgstr ""
 
-#: guix/scripts/pack.scm:1167
+#: guix/scripts/pack.scm:1408
 #, scheme-format
 msgid "could not determine provenance of package ~a~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:1176
+#: guix/scripts/pack.scm:1417
 #, scheme-format
 msgid "both a manifest and a package list were given~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:1235
+#: guix/scripts/pack.scm:1434
+#, scheme-format
+msgid "file provided with option ~a does not exist: ~a~%"
+msgstr ""
+
+#: guix/scripts/pack.scm:1495
 #, scheme-format
 msgid "~a: unknown pack format~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:1259
+#: guix/scripts/pack.scm:1522
 #, scheme-format
 msgid "no packages specified; building an empty pack~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:1263
+#: guix/scripts/pack.scm:1526
 #, scheme-format
 msgid "Singularity requires you to provide a shell~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:1264
+#: guix/scripts/pack.scm:1527
 msgid "Add @code{bash} or @code{bash-minimal} to your package list."
 msgstr ""
 
-#: guix/scripts/weather.scm:93
+#: guix/scripts/weather.scm:96
 msgid "computing ~h package derivations for ~a...~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:181
+#. TRANSLATORS: it is quite possible zero store items are
+#. looked for.
+#: guix/scripts/weather.scm:197
 msgid "looking for ~h store items on ~a...~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:201
+#: guix/scripts/weather.scm:218
 msgid "  ~,1f% substitutes available (~h out of ~h)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:207
+#: guix/scripts/weather.scm:224
 #, scheme-format
 msgid "  unknown substitute sizes~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:210
+#: guix/scripts/weather.scm:227
 msgid "  ~,1h MiB of nars (compressed)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:211
+#: guix/scripts/weather.scm:228
 msgid "  at least ~,1h MiB of nars (compressed)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:213
+#: guix/scripts/weather.scm:230
 msgid "  ~,1h MiB on disk (uncompressed)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:216
+#: guix/scripts/weather.scm:233
 msgid "  ~,3h seconds per request (~,1h seconds in total)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:218
+#: guix/scripts/weather.scm:235
 msgid "  ~,1h requests per second~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:224
+#: guix/scripts/weather.scm:241
 #, scheme-format
 msgid "  (continuous integration information unavailable)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:227
+#: guix/scripts/weather.scm:244
 #, scheme-format
 msgid "  '~a' returned ~a (~s)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:244
+#: guix/scripts/weather.scm:261
 msgid "  ~,1f% (~h out of ~h) of the missing items are queued~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:250
+#: guix/scripts/weather.scm:267
 msgid "  at least ~h queued builds~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:251
+#: guix/scripts/weather.scm:268
 msgid "  ~h queued builds~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:254
+#: guix/scripts/weather.scm:271
 #, scheme-format
 msgid "      ~a: ~a (~0,1f%)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:260
+#: guix/scripts/weather.scm:277
 #, scheme-format
 msgid "  build rate: ~1,2f builds per hour~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:264
+#: guix/scripts/weather.scm:281
 #, scheme-format
 msgid "      ~a: ~,2f builds per hour~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:272
+#: guix/scripts/weather.scm:289
 #, scheme-format
 msgid "Substitutes are missing for the following items:~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:285
+#: guix/scripts/weather.scm:304
+msgid "unknown system"
+msgstr ""
+
+#: guix/scripts/weather.scm:319
 msgid ""
 "Usage: guix weather [OPTIONS] [PACKAGES ...]\n"
 "Report the availability of substitutes.\n"
 msgstr ""
 
-#: guix/scripts/weather.scm:287
+#: guix/scripts/weather.scm:321
 msgid ""
 "\n"
 "      --substitute-urls=URLS\n"
 "                         check for available substitutes at URLS"
 msgstr ""
 
-#: guix/scripts/weather.scm:290
+#: guix/scripts/weather.scm:324
 msgid ""
 "\n"
 "  -m, --manifest=MANIFEST\n"
 "                         look up substitutes for packages specified in MANIFEST"
 msgstr ""
 
-#: guix/scripts/weather.scm:293
+#: guix/scripts/weather.scm:327
 msgid ""
 "\n"
 "  -c, --coverage[=COUNT]\n"
@@ -4239,31 +5092,31 @@ msgid ""
 "                         COUNT dependents"
 msgstr ""
 
-#: guix/scripts/weather.scm:297
+#: guix/scripts/weather.scm:331
 msgid ""
 "\n"
 "      --display-missing  display the list of missing substitutes"
 msgstr ""
 
-#: guix/scripts/weather.scm:299
+#: guix/scripts/weather.scm:333
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    consider substitutes for SYSTEM--e.g., \"i686-linux\""
 msgstr ""
 
-#: guix/scripts/weather.scm:323
+#: guix/scripts/weather.scm:357
 #, scheme-format
 msgid "~a: invalid URL~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:456
+#: guix/scripts/weather.scm:490
 #, scheme-format
 msgid "The following ~a package is missing from '~a' for '~a':~%"
 msgid_plural "The following ~a packages are missing from '~a' for '~a':~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/scripts/weather.scm:462
+#: guix/scripts/weather.scm:496
 #, scheme-format
 msgid "~a package is missing from '~a' for '~a':~%"
 msgid_plural "~a packages are missing from '~a' for '~a', among which:~%"
@@ -4373,76 +5226,81 @@ msgid ""
 "  -f, --format=FORMAT    display results as normalized record sets"
 msgstr ""
 
-#: guix/scripts/deploy.scm:49
+#: guix/scripts/deploy.scm:51
 msgid ""
 "Usage: guix deploy [OPTION] FILE...\n"
 "Perform the deployment specified by FILE.\n"
 msgstr ""
 
-#: guix/scripts/deploy.scm:106
+#: guix/scripts/deploy.scm:108
 #, scheme-format
 msgid "The following ~d machine will be deployed:~%"
 msgid_plural "The following ~d machines will be deployed:~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/scripts/deploy.scm:120
+#: guix/scripts/deploy.scm:122
 #, scheme-format
 msgid "deploying to ~a...~%"
 msgstr ""
 
-#: guix/scripts/deploy.scm:135
+#: guix/scripts/deploy.scm:134 guix/scripts/deploy.scm:138
 #, scheme-format
 msgid "failed to deploy ~a: ~a~%"
 msgstr ""
 
-#: guix/scripts/deploy.scm:140
+#: guix/scripts/deploy.scm:146
 #, scheme-format
 msgid "rolling back ~a...~%"
 msgstr ""
 
-#: guix/scripts/deploy.scm:146
+#: guix/scripts/deploy.scm:152
 #, scheme-format
 msgid "successfully deployed ~a~%"
 msgstr ""
 
-#: guix/gexp.scm:423
+#: guix/scripts/deploy.scm:167
+#, scheme-format
+msgid "missing deployment file argument~%"
+msgstr ""
+
+#: guix/gexp.scm:465
 #, scheme-format
 msgid "resolving '~a' relative to current directory~%"
 msgstr ""
 
-#: guix/gexp.scm:815
+#: guix/gexp.scm:858
 #, scheme-format
 msgid "importing module~{ ~a~} from the host~%"
 msgid_plural "importing modules~{ ~a~} from the host~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/gnu-maintenance.scm:809
+#: guix/gnu-maintenance.scm:831
 msgid "Updater for GNU packages"
 msgstr ""
 
-#: guix/gnu-maintenance.scm:818
+#: guix/gnu-maintenance.scm:840
 msgid "Updater for GNU packages only available via FTP"
 msgstr ""
 
-#: guix/gnu-maintenance.scm:827
+#: guix/gnu-maintenance.scm:849
 msgid "Updater for packages hosted on savannah.gnu.org"
 msgstr ""
 
-#: guix/gnu-maintenance.scm:834
+#: guix/gnu-maintenance.scm:856
 msgid "Updater for packages hosted on sourceforge.net"
 msgstr ""
 
-#: guix/gnu-maintenance.scm:841
+#: guix/gnu-maintenance.scm:863
 msgid "Updater for X.org packages"
 msgstr ""
 
-#: guix/gnu-maintenance.scm:848
+#: guix/gnu-maintenance.scm:870
 msgid "Updater for packages hosted on kernel.org"
 msgstr ""
 
-#: guix/gnu-maintenance.scm:855
+#: guix/gnu-maintenance.scm:877
 msgid "Updater that crawls HTML pages."
 msgstr ""
 
@@ -4497,165 +5355,189 @@ msgstr ""
 msgid "exec failed with status ~d~%"
 msgstr ""
 
-#: guix/transformations.scm:178 guix/transformations.scm:246
+#: guix/transformations.scm:185 guix/transformations.scm:253
 #, scheme-format
 msgid "invalid replacement specification: ~s"
 msgstr ""
 
-#: guix/transformations.scm:227
+#: guix/transformations.scm:234
 #, scheme-format
 msgid "the source of ~a is not a Git reference"
 msgstr ""
 
-#: guix/transformations.scm:319
+#: guix/transformations.scm:337
 #, scheme-format
 msgid "~a: invalid Git URL replacement specification"
 msgstr ""
 
-#: guix/transformations.scm:397
+#: guix/transformations.scm:415
 #, scheme-format
 msgid "~a: invalid toolchain replacement specification"
 msgstr ""
 
-#: guix/transformations.scm:501
+#: guix/transformations.scm:517
+msgid "failed to determine which compiler is used"
+msgstr ""
+
+#: guix/transformations.scm:523
+#, scheme-format
+msgid "failed to determine whether ~a supports ~a"
+msgstr ""
+
+#: guix/transformations.scm:529
+#, scheme-format
+msgid "compiler ~a does not support micro-architecture ~a"
+msgstr ""
+
+#: guix/transformations.scm:581
+#, scheme-format
+msgid "tuning ~a for CPU ~a~%"
+msgstr ""
+
+#: guix/transformations.scm:721
 #, scheme-format
 msgid "~a: invalid package patch specification"
 msgstr ""
 
-#: guix/transformations.scm:524
+#: guix/transformations.scm:744
 #, scheme-format
 msgid "could not determine latest upstream release of '~a'~%"
 msgstr ""
 
-#: guix/transformations.scm:532
+#: guix/transformations.scm:752
 #, scheme-format
 msgid "cannot authenticate source of '~a', version ~a~%"
 msgstr ""
 
-#: guix/transformations.scm:616
+#: guix/transformations.scm:833
+#, scheme-format
+msgid "building for ~a instead of ~a, so tuning cannot be guessed~%"
+msgstr ""
+
+#: guix/transformations.scm:859
 #, scheme-format
 msgid "Available package transformation options:~%"
 msgstr ""
 
-#: guix/transformations.scm:622
+#: guix/transformations.scm:865
 msgid ""
 "\n"
 "      --with-source=[PACKAGE=]SOURCE\n"
 "                         use SOURCE when building the corresponding package"
 msgstr ""
 
-#: guix/transformations.scm:625
+#: guix/transformations.scm:868
 msgid ""
 "\n"
 "      --with-input=PACKAGE=REPLACEMENT\n"
 "                         replace dependency PACKAGE by REPLACEMENT"
 msgstr ""
 
-#: guix/transformations.scm:628
+#: guix/transformations.scm:871
 msgid ""
 "\n"
 "      --with-graft=PACKAGE=REPLACEMENT\n"
 "                         graft REPLACEMENT on packages that refer to PACKAGE"
 msgstr ""
 
-#: guix/transformations.scm:631
+#: guix/transformations.scm:874
 msgid ""
 "\n"
 "      --with-branch=PACKAGE=BRANCH\n"
 "                         build PACKAGE from the latest commit of BRANCH"
 msgstr ""
 
-#: guix/transformations.scm:634
+#: guix/transformations.scm:877
 msgid ""
 "\n"
 "      --with-commit=PACKAGE=COMMIT\n"
 "                         build PACKAGE from COMMIT"
 msgstr ""
 
-#: guix/transformations.scm:637
+#: guix/transformations.scm:880
 msgid ""
 "\n"
 "      --with-git-url=PACKAGE=URL\n"
 "                         build PACKAGE from the repository at URL"
 msgstr ""
 
-#: guix/transformations.scm:640
+#: guix/transformations.scm:883
 msgid ""
 "\n"
 "      --with-patch=PACKAGE=FILE\n"
 "                         add FILE to the list of patches of PACKAGE"
 msgstr ""
 
-#: guix/transformations.scm:643
+#: guix/transformations.scm:886
 msgid ""
 "\n"
 "      --with-latest=PACKAGE\n"
 "                         use the latest upstream release of PACKAGE"
 msgstr ""
 
-#: guix/transformations.scm:646
+#: guix/transformations.scm:889
 msgid ""
 "\n"
 "      --with-c-toolchain=PACKAGE=TOOLCHAIN\n"
 "                         build PACKAGE and its dependents with TOOLCHAIN"
 msgstr ""
 
-#: guix/transformations.scm:649
+#: guix/transformations.scm:892
 msgid ""
 "\n"
 "      --with-debug-info=PACKAGE\n"
 "                         build PACKAGE and preserve its debug info"
 msgstr ""
 
-#: guix/transformations.scm:652
+#: guix/transformations.scm:895
 msgid ""
 "\n"
 "      --without-tests=PACKAGE\n"
 "                         build PACKAGE without running its tests"
 msgstr ""
 
-#: guix/transformations.scm:658
+#: guix/transformations.scm:901
 msgid ""
 "\n"
 "      --help-transform   list package transformation options not shown here"
 msgstr ""
 
-#: guix/transformations.scm:707
+#: guix/transformations.scm:950
 #, scheme-format
 msgid "transformation '~a' had no effect on ~a~%"
 msgstr ""
 
-#: guix/upstream.scm:348
+#: guix/upstream.scm:359
 #, scheme-format
 msgid "failed to download detached signature from ~a~%"
 msgstr ""
 
-#: guix/upstream.scm:352
+#: guix/upstream.scm:363
 #, scheme-format
 msgid "signature verification failed for '~a' (key: ~a)~%"
 msgstr ""
 
-#: guix/upstream.scm:356
+#: guix/upstream.scm:367
 #, scheme-format
 msgid "missing public key ~a for '~a'~%"
 msgstr ""
 
-#: guix/upstream.scm:370
+#: guix/upstream.scm:380
 #, scheme-format
 msgid "failed to fetch source from '~a'"
 msgstr ""
 
-#: guix/upstream.scm:454
+#: guix/upstream.scm:503
 #, scheme-format
 msgid "cannot download for this method: ~s"
 msgstr ""
 
-#: guix/upstream.scm:519
+#: guix/upstream.scm:584
 #, scheme-format
 msgid "~a: could not locate source file"
 msgstr ""
 
-#: guix/upstream.scm:523
+#: guix/upstream.scm:588
 #, scheme-format
 msgid "~a: no `version' field in source; skipping~%"
 msgstr ""
@@ -4665,24 +5547,24 @@ msgstr ""
 msgid "error: ~a: unbound variable"
 msgstr ""
 
-#: guix/ui.scm:262
+#: guix/ui.scm:253
 msgid "entering debugger; type ',bt' for a backtrace\n"
 msgstr ""
 
-#: guix/ui.scm:320
+#: guix/ui.scm:311
 msgid "hint: "
 msgstr ""
 
-#: guix/ui.scm:337
+#: guix/ui.scm:328
 msgid "Did you forget a @code{use-modules} form?"
 msgstr ""
 
-#: guix/ui.scm:339
+#: guix/ui.scm:330
 #, scheme-format
 msgid "Did you forget @code{(use-modules ~a)}?"
 msgstr ""
 
-#: guix/ui.scm:349
+#: guix/ui.scm:340
 #, scheme-format
 msgid ""
 "File @file{~a} should probably start with:\n"
@@ -4692,54 +5574,64 @@ msgid ""
 "@end example"
 msgstr ""
 
-#: guix/ui.scm:363
+#: guix/ui.scm:354
 #, scheme-format
 msgid "module name ~a does not match file name '~a'~%"
 msgstr ""
 
-#: guix/ui.scm:367
+#: guix/ui.scm:358
 #, scheme-format
 msgid "~a: file is empty~%"
 msgstr ""
 
-#: guix/ui.scm:378 guix/ui.scm:428 guix/ui.scm:436 guix/ui.scm:440
+#: guix/ui.scm:369 guix/ui.scm:420 guix/ui.scm:428 guix/ui.scm:432
 #, scheme-format
 msgid "failed to load '~a': ~a~%"
 msgstr ""
 
-#: guix/ui.scm:387
+#: guix/ui.scm:378
 #, scheme-format
 msgid "~amissing closing parenthesis~%"
 msgstr ""
 
-#: guix/ui.scm:392
+#: guix/ui.scm:380
+#, scheme-format
+msgid "read error while loading '~a': ~a~%"
+msgstr ""
+
+#: guix/ui.scm:384
 #, scheme-format
 msgid "~s: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:408 guix/ui.scm:904
+#: guix/ui.scm:392 guix/ui.scm:423 guix/ui.scm:777 guix/ui.scm:827
+#: guix/ui.scm:878
+#, scheme-format
+msgid "~a~%"
+msgstr ""
+
+#: guix/ui.scm:400 guix/ui.scm:887
 #, scheme-format
 msgid "exception thrown: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:412 guix/ui.scm:450
+#: guix/ui.scm:404 guix/ui.scm:442
 #, scheme-format
 msgid "failed to load '~a':~%"
 msgstr ""
 
-#: guix/ui.scm:447
+#: guix/ui.scm:439
 #, scheme-format
 msgid "failed to load '~a': exception thrown: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:495
+#: guix/ui.scm:487
 msgid ""
-"Consider installing the @code{glibc-utf8-locales} or\n"
-"@code{glibc-locales} package and defining @code{GUIX_LOCPATH}, along these\n"
-"lines:\n"
+"Consider installing the @code{glibc-locales} package\n"
+"and defining @code{GUIX_LOCPATH}, along these lines:\n"
 "\n"
 "@example\n"
-"guix install glibc-utf8-locales\n"
+"guix install glibc-locales\n"
 "export GUIX_LOCPATH=\"$HOME/.guix-profile/lib/locale\"\n"
 "@end example\n"
 "\n"
@@ -4749,15 +5641,15 @@ msgstr ""
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.  */
-#: guix/ui.scm:537
+#: guix/ui.scm:528
 msgid "(C)"
 msgstr ""
 
-#: guix/ui.scm:538
+#: guix/ui.scm:529
 msgid "the Guix authors\n"
 msgstr ""
 
-#: guix/ui.scm:539
+#: guix/ui.scm:530
 msgid ""
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
 "This is free software: you are free to change and redistribute it.\n"
@@ -4768,21 +5660,21 @@ msgstr ""
 #. package.  Please add another line saying "Report translation bugs to
 #. ...\n" with the address for translation bugs (typically your translation
 #. team's web or email address).
-#: guix/ui.scm:551
+#: guix/ui.scm:542
 #, scheme-format
 msgid ""
 "\n"
 "Report bugs to: ~a."
 msgstr ""
 
-#: guix/ui.scm:553
+#: guix/ui.scm:544
 #, scheme-format
 msgid ""
 "\n"
 "~a home page: <~a>"
 msgstr ""
 
-#: guix/ui.scm:555
+#: guix/ui.scm:546
 #, scheme-format
 msgid ""
 "\n"
@@ -4791,149 +5683,149 @@ msgstr ""
 
 #. TRANSLATORS: Change the "/en" bit of this URL appropriately if
 #. the web site is translated in your language.
-#: guix/ui.scm:559
+#: guix/ui.scm:550
 msgid "https://guix.gnu.org/en/help/"
 msgstr ""
 
-#: guix/ui.scm:613
+#: guix/ui.scm:604
 #, scheme-format
 msgid "'~a' is not a valid regular expression: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:619
+#: guix/ui.scm:610
 #, scheme-format
 msgid "~a: invalid number~%"
 msgstr ""
 
-#: guix/ui.scm:637
+#: guix/ui.scm:628
 #, scheme-format
 msgid "invalid number: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:660
+#: guix/ui.scm:651
 #, scheme-format
 msgid "unknown unit: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:675
+#: guix/ui.scm:666
 #, scheme-format
 msgid ""
 "You cannot have two different versions\n"
 "or variants of @code{~a} in the same profile."
 msgstr ""
 
-#: guix/ui.scm:678
+#: guix/ui.scm:669
 #, scheme-format
 msgid ""
 "Try upgrading both @code{~a} and @code{~a},\n"
 "or remove one of them from the profile."
 msgstr ""
 
-#: guix/ui.scm:714
+#: guix/ui.scm:700
 #, scheme-format
 msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:721
+#: guix/ui.scm:707
 #, scheme-format
 msgid "~a: ~a: build system `~a' does not support cross builds~%"
 msgstr ""
 
-#: guix/ui.scm:727
+#: guix/ui.scm:713
 #, scheme-format
 msgid "~s: invalid G-expression input~%"
 msgstr ""
 
-#: guix/ui.scm:730
+#: guix/ui.scm:716
 #, scheme-format
 msgid "profile '~a' does not exist~%"
 msgstr ""
 
-#: guix/ui.scm:733
+#: guix/ui.scm:719
 #, scheme-format
 msgid "generation ~a of profile '~a' does not exist~%"
 msgstr ""
 
-#: guix/ui.scm:738
+#: guix/ui.scm:724
 #, scheme-format
 msgid "package '~a~@[@~a~]~@[:~a~]' not found in profile~%"
 msgstr ""
 
-#: guix/ui.scm:750
+#: guix/ui.scm:736
 #, scheme-format
 msgid "   ... propagated from ~a@~a~%"
 msgstr ""
 
-#: guix/ui.scm:760
+#: guix/ui.scm:746
 #, scheme-format
 msgid "profile contains conflicting entries for ~a~a~%"
 msgstr ""
 
-#: guix/ui.scm:763
+#: guix/ui.scm:749
 #, scheme-format
 msgid "  first entry: ~a@~a~a ~a~%"
 msgstr ""
 
-#: guix/ui.scm:769
+#: guix/ui.scm:755
 #, scheme-format
 msgid "  second entry: ~a@~a~a ~a~%"
 msgstr ""
 
-#: guix/ui.scm:781
+#: guix/ui.scm:767
 #, scheme-format
 msgid "corrupt input while restoring '~a' from ~s~%"
 msgstr ""
 
-#: guix/ui.scm:783
+#: guix/ui.scm:769
 #, scheme-format
 msgid "corrupt input while restoring archive from ~s~%"
 msgstr ""
 
-#: guix/ui.scm:786
+#: guix/ui.scm:772
 #, scheme-format
 msgid "failed to connect to `~a': ~a~%"
 msgstr ""
 
-#: guix/ui.scm:794
+#: guix/ui.scm:780
 #, scheme-format
 msgid "reference to invalid output '~a' of derivation '~a'~%"
 msgstr ""
 
-#: guix/ui.scm:798
+#: guix/ui.scm:784
 #, scheme-format
 msgid "file '~a' could not be found in these directories:~{ ~a~}~%"
 msgstr ""
 
-#: guix/ui.scm:803
+#: guix/ui.scm:789
 #, scheme-format
 msgid "program exited~@[ with non-zero exit status ~a~]~@[ terminated by signal ~a~]~@[ stopped by signal ~a~]: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:883
+#: guix/ui.scm:866
 #, scheme-format
 msgid "failed to read expression ~s: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:889
+#: guix/ui.scm:872
 #, scheme-format
 msgid "failed to evaluate expression '~a':~%"
 msgstr ""
 
-#: guix/ui.scm:892
+#: guix/ui.scm:875
 #, scheme-format
 msgid "syntax error: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:916
+#: guix/ui.scm:899
 #, scheme-format
 msgid "expression ~s does not evaluate to a package~%"
 msgstr ""
 
-#: guix/ui.scm:943
+#: guix/ui.scm:926
 msgid "at least ~,1h MB needed but only ~,1h MB available in ~a~%"
 msgstr ""
 
-#: guix/ui.scm:1052
+#: guix/ui.scm:1035
 #, scheme-format
 msgid "~:[The following derivation would be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following derivations would be built:~%~{   ~a~%~}~;~]"
@@ -4942,25 +5834,25 @@ msgstr[1] ""
 
 #. TRANSLATORS: "MB" is for "megabyte"; it should be
 #. translated to the corresponding abbreviation.
-#: guix/ui.scm:1061
+#: guix/ui.scm:1044
 msgid "~:[~,1h MB would be downloaded:~%~{   ~a~%~}~;~]"
 msgstr ""
 
-#: guix/ui.scm:1067
+#: guix/ui.scm:1050
 #, scheme-format
 msgid "~:[The following file would be downloaded:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following files would be downloaded:~%~{   ~a~%~}~;~]"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1074
+#: guix/ui.scm:1057
 #, scheme-format
 msgid "~:[The following graft would be made:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following grafts would be made:~%~{   ~a~%~}~;~]"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1079
+#: guix/ui.scm:1062
 #, scheme-format
 msgid "~:[The following profile hook would be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following profile hooks would be built:~%~{   ~a~%~}~;~]"
@@ -4969,17 +5861,17 @@ msgstr[1] ""
 
 #. TRANSLATORS: "MB" is for "megabyte"; it should be
 #. translated to the corresponding abbreviation.
-#: guix/ui.scm:1091
+#: guix/ui.scm:1074
 msgid "~:[~,1h MB would be downloaded~%~;~]"
 msgstr ""
 
-#: guix/ui.scm:1095
+#: guix/ui.scm:1078
 msgid "~:[~h item would be downloaded~%~;~]"
 msgid_plural "~:[~h items would be downloaded~%~;~]"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1103
+#: guix/ui.scm:1086
 #, scheme-format
 msgid "~:[The following derivation will be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following derivations will be built:~%~{   ~a~%~}~;~]"
@@ -4988,25 +5880,25 @@ msgstr[1] ""
 
 #. TRANSLATORS: "MB" is for "megabyte"; it should be
 #. translated to the corresponding abbreviation.
-#: guix/ui.scm:1112
+#: guix/ui.scm:1095
 msgid "~:[~,1h MB will be downloaded:~%~{   ~a~%~}~;~]"
 msgstr ""
 
-#: guix/ui.scm:1118
+#: guix/ui.scm:1101
 #, scheme-format
 msgid "~:[The following file will be downloaded:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following files will be downloaded:~%~{   ~a~%~}~;~]"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1125
+#: guix/ui.scm:1108
 #, scheme-format
 msgid "~:[The following graft will be made:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following grafts will be made:~%~{   ~a~%~}~;~]"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1130
+#: guix/ui.scm:1113
 #, scheme-format
 msgid "~:[The following profile hook will be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following profile hooks will be built:~%~{   ~a~%~}~;~]"
@@ -5015,82 +5907,87 @@ msgstr[1] ""
 
 #. TRANSLATORS: "MB" is for "megabyte"; it should be
 #. translated to the corresponding abbreviation.
-#: guix/ui.scm:1142
+#: guix/ui.scm:1125
 msgid "~:[~,1h MB will be downloaded~%~;~]"
 msgstr ""
 
-#: guix/ui.scm:1146
+#: guix/ui.scm:1129
 msgid "~:[~h item will be downloaded~%~;~]"
 msgid_plural "~:[~h items will be downloaded~%~;~]"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1265
+#: guix/ui.scm:1248
 msgid "(dependencies or package changed)"
 msgstr ""
 
-#: guix/ui.scm:1284
+#: guix/ui.scm:1267
 #, scheme-format
 msgid "The following package would be removed:~%~{~a~%~}~%"
 msgid_plural "The following packages would be removed:~%~{~a~%~}~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1289
+#: guix/ui.scm:1272
 #, scheme-format
 msgid "The following package will be removed:~%~{~a~%~}~%"
 msgid_plural "The following packages will be removed:~%~{~a~%~}~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1302
+#: guix/ui.scm:1285
 #, scheme-format
 msgid "The following package would be downgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages would be downgraded:~%~{~a~%~}~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1307
+#: guix/ui.scm:1290
 #, scheme-format
 msgid "The following package will be downgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages will be downgraded:~%~{~a~%~}~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1320
+#: guix/ui.scm:1303
 #, scheme-format
 msgid "The following package would be upgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1325
+#: guix/ui.scm:1308
 #, scheme-format
 msgid "The following package will be upgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1336
+#: guix/ui.scm:1319
 #, scheme-format
 msgid "The following package would be installed:~%~{~a~%~}~%"
 msgid_plural "The following packages would be installed:~%~{~a~%~}~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1341
+#: guix/ui.scm:1324
 #, scheme-format
 msgid "The following package will be installed:~%~{~a~%~}~%"
 msgid_plural "The following packages will be installed:~%~{~a~%~}~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/ui.scm:1877
+#: guix/ui.scm:1442
+#, scheme-format
+msgid "~a: invalid Texinfo markup~%"
+msgstr ""
+
+#: guix/ui.scm:1873
 #, scheme-format
 msgid "invalid syntax: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:1886
+#: guix/ui.scm:1882
 #, scheme-format
 msgid "Generation ~a\t~a"
 msgstr ""
@@ -5100,7 +5997,7 @@ msgstr ""
 #. usual way of presenting dates in your locale.
 #. See https://www.gnu.org/software/guile/manual/html_node/SRFI_002d19-Date-to-string.html
 #. for details.
-#: guix/ui.scm:1896
+#: guix/ui.scm:1892
 #, scheme-format
 msgid "~b ~d ~Y ~T"
 msgstr ""
@@ -5108,62 +6005,74 @@ msgstr ""
 #. TRANSLATORS: The word "current" here is an adjective for
 #. "Generation", as in "current generation".  Use the appropriate
 #. gender where applicable.
-#: guix/ui.scm:1902
+#: guix/ui.scm:1898
 #, scheme-format
 msgid "~a\t(current)~%"
 msgstr ""
 
-#: guix/ui.scm:1936
+#: guix/ui.scm:1932
 #, scheme-format
 msgid "cannot lock profile ~a: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:1938
+#: guix/ui.scm:1934
 #, scheme-format
 msgid "profile ~a is locked by another process~%"
 msgstr ""
 
-#: guix/ui.scm:1965
+#: guix/ui.scm:1963
 #, scheme-format
 msgid "switched from generation ~a to ~a~%"
 msgstr ""
 
-#: guix/ui.scm:1981
+#: guix/ui.scm:1979
 #, scheme-format
 msgid "deleting ~a~%"
 msgstr ""
 
-#: guix/ui.scm:2012
+#: guix/ui.scm:2010
 #, scheme-format
 msgid "Try `guix --help' for more information.~%"
 msgstr ""
 
-#: guix/ui.scm:2104
+#: guix/ui.scm:2102
 msgid ""
-"Usage: guix COMMAND ARGS...\n"
-"Run COMMAND with ARGS.\n"
+"Usage: guix OPTION | COMMAND ARGS...\n"
+"Run COMMAND with ARGS, if given.\n"
+msgstr ""
+
+#: guix/ui.scm:2105
+msgid ""
+"\n"
+"  -h, --help             display this helpful text again and exit"
 msgstr ""
 
 #: guix/ui.scm:2107
+msgid ""
+"\n"
+"  -V, --version          display version and copyright information and exit"
+msgstr ""
+
+#: guix/ui.scm:2112
 msgid "COMMAND must be one of the sub-commands listed below:\n"
 msgstr ""
 
-#: guix/ui.scm:2149
+#: guix/ui.scm:2154
 #, scheme-format
 msgid "guix: ~a: command not found~%"
 msgstr ""
 
-#: guix/ui.scm:2151
+#: guix/ui.scm:2156
 #, scheme-format
 msgid "Did you mean @code{~a}?"
 msgstr ""
 
-#: guix/ui.scm:2185
+#: guix/ui.scm:2190
 #, scheme-format
 msgid "guix: missing command name~%"
 msgstr ""
 
-#: guix/ui.scm:2193
+#: guix/ui.scm:2198
 #, scheme-format
 msgid "guix: unrecognized option '~a'~%"
 msgstr ""
@@ -5189,127 +6098,135 @@ msgid "building CA certificate bundle..."
 msgstr ""
 
 #: guix/status.scm:383
-msgid "generating GLib schema cache..."
+msgid "listing Emacs sub-directories..."
 msgstr ""
 
 #: guix/status.scm:385
-msgid "creating GTK+ icon theme cache..."
+msgid "generating GdkPixbuf loaders cache..."
 msgstr ""
 
 #: guix/status.scm:387
-msgid "building cache files for GTK+ input methods..."
+msgid "generating GLib schema cache..."
 msgstr ""
 
 #: guix/status.scm:389
-msgid "building XDG desktop file cache..."
+msgid "creating GTK+ icon theme cache..."
 msgstr ""
 
 #: guix/status.scm:391
-msgid "building XDG MIME database..."
+msgid "building cache files for GTK+ input methods..."
 msgstr ""
 
 #: guix/status.scm:393
-msgid "building fonts directory..."
+msgid "building XDG desktop file cache..."
 msgstr ""
 
 #: guix/status.scm:395
-msgid "building TeX Live configuration..."
+msgid "building XDG MIME database..."
 msgstr ""
 
 #: guix/status.scm:397
-msgid "building database for manual pages..."
+msgid "building fonts directory..."
 msgstr ""
 
 #: guix/status.scm:399
+msgid "building TeX Live configuration..."
+msgstr ""
+
+#: guix/status.scm:401
+msgid "building database for manual pages..."
+msgstr ""
+
+#: guix/status.scm:403
 msgid "building package cache..."
 msgstr ""
 
-#: guix/status.scm:479
+#: guix/status.scm:483
 #, scheme-format
 msgid "applying ~a graft for ~a ..."
 msgid_plural "applying ~a grafts for ~a ..."
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/status.scm:487
+#: guix/status.scm:491
 #, scheme-format
 msgid "building profile with ~a package..."
 msgid_plural "building profile with ~a packages..."
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/status.scm:496
+#: guix/status.scm:500
 #, scheme-format
 msgid "running profile hook of type '~a'..."
 msgstr ""
 
-#: guix/status.scm:499
+#: guix/status.scm:503
 #, scheme-format
 msgid "building ~a..."
 msgstr ""
 
-#: guix/status.scm:504
+#: guix/status.scm:508
 #, scheme-format
 msgid "successfully built ~a"
 msgstr ""
 
-#: guix/status.scm:510
+#: guix/status.scm:514
 #, scheme-format
 msgid "The following build is still in progress:~%~{  ~a~%~}~%"
 msgid_plural "The following builds are still in progress:~%~{  ~a~%~}~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/status.scm:516
+#: guix/status.scm:520
 #, scheme-format
 msgid "build of ~a failed"
 msgstr ""
 
-#: guix/status.scm:520
+#: guix/status.scm:524
 #, scheme-format
 msgid "Could not find build log for '~a'."
 msgstr ""
 
-#: guix/status.scm:523
+#: guix/status.scm:527
 #, scheme-format
 msgid "View build log at '~a'."
 msgstr ""
 
-#: guix/status.scm:528
+#: guix/status.scm:532
 #, scheme-format
 msgid "substituting ~a..."
 msgstr ""
 
-#: guix/status.scm:533
+#: guix/status.scm:537
 #, scheme-format
 msgid "downloading from ~a ..."
 msgstr ""
 
-#: guix/status.scm:559
+#: guix/status.scm:563
 #, scheme-format
 msgid "substitution of ~a complete"
 msgstr ""
 
-#: guix/status.scm:562
+#: guix/status.scm:571
 #, scheme-format
 msgid "substitution of ~a failed"
 msgstr ""
 
 #. TRANSLATORS: The final string looks like "sha256 hash mismatch for
 #. /gnu/store/…-sth:", where "sha256" is the hash algorithm.
-#: guix/status.scm:567
+#: guix/status.scm:576
 #, scheme-format
 msgid "~a hash mismatch for ~a:"
 msgstr ""
 
-#: guix/status.scm:569
+#: guix/status.scm:578
 #, scheme-format
 msgid ""
 "  expected hash: ~a\n"
 "  actual hash:   ~a~%"
 msgstr ""
 
-#: guix/status.scm:574
+#: guix/status.scm:583
 #, scheme-format
 msgid "offloading build of ~a to '~a'"
 msgstr ""
@@ -5391,24 +6308,24 @@ msgstr ""
 msgid "invalid format of the signature field: ~a~%"
 msgstr ""
 
-#: guix/channels.scm:275
+#: guix/channels.scm:276
 msgid "unsupported '.guix-channel' version"
 msgstr ""
 
-#: guix/channels.scm:281
+#: guix/channels.scm:282
 msgid "invalid '.guix-channel' file"
 msgstr ""
 
-#: guix/channels.scm:340
+#: guix/channels.scm:341
 msgid "Authenticating channel '~a', commits ~a to ~a (~h new commits)...~%"
 msgstr ""
 
-#: guix/channels.scm:404
+#: guix/channels.scm:405
 #, scheme-format
 msgid "channel '~a' lacks an introduction and cannot be authenticated~%"
 msgstr ""
 
-#: guix/channels.scm:409
+#: guix/channels.scm:410
 msgid ""
 "Add the missing introduction to your\n"
 "channels file to address the issue.  Alternatively, you can pass\n"
@@ -5416,23 +6333,23 @@ msgid ""
 "thus potentially malicious code."
 msgstr ""
 
-#: guix/channels.scm:413
+#: guix/channels.scm:414
 #, scheme-format
 msgid "channel authentication disabled~%"
 msgstr ""
 
-#: guix/channels.scm:438
+#: guix/channels.scm:439
 #, scheme-format
 msgid "aborting update of channel '~a' to commit ~a, which is not a descendant of ~a"
 msgstr ""
 
-#: guix/channels.scm:449 guix/scripts/system/reconfigure.scm:318
+#: guix/channels.scm:450 guix/scripts/system/reconfigure.scm:323
 msgid ""
 "Use @option{--allow-downgrades} to force\n"
 "this downgrade."
 msgstr ""
 
-#: guix/channels.scm:453
+#: guix/channels.scm:454
 msgid ""
 "This could indicate that the channel has\n"
 "been tampered with and is trying to force a roll-back, preventing you from\n"
@@ -5440,113 +6357,234 @@ msgid ""
 "allow non-forward updates."
 msgstr ""
 
-#: guix/channels.scm:506
+#: guix/channels.scm:507
 #, scheme-format
 msgid "Updating channel '~a' from Git repository at '~a'...~%"
 msgstr ""
 
-#: guix/channels.scm:527
+#: guix/channels.scm:528
 #, scheme-format
 msgid "pulled channel '~a' from a mirror of ~a, which might be stale~%"
 msgstr ""
 
-#: guix/channels.scm:776
+#: guix/channels.scm:780
 msgid "'guix' channel is lacking"
 msgstr ""
 
-#: guix/channels.scm:778
+#: guix/channels.scm:782
 msgid ""
 "Make sure your list of channels\n"
 "contains one channel named @code{guix} providing the core of Guix."
 msgstr ""
 
-#: guix/channels.scm:1053
+#: guix/channels.scm:1060
 msgid "invalid channel news entry"
 msgstr ""
 
-#: guix/channels.scm:1071
+#: guix/channels.scm:1078
 msgid "syntactically invalid channel news file"
 msgstr ""
 
-#: guix/channels.scm:1074
+#: guix/channels.scm:1081
 msgid "invalid channel news file"
 msgstr ""
 
-#: guix/profiles.scm:585
+#: guix/packages.scm:335
+msgid "no SHA256 hash for origin"
+msgstr ""
+
+#: guix/profiles.scm:610
 msgid "unsupported manifest format"
 msgstr ""
 
-#: guix/profiles.scm:2042
+#: guix/profiles.scm:2242
 #, scheme-format
 msgid "while creating directory `~a': ~a"
 msgstr ""
 
-#: guix/profiles.scm:2047
+#: guix/profiles.scm:2247
 #, scheme-format
 msgid "Please create the @file{~a} directory, with you as the owner."
 msgstr ""
 
-#: guix/profiles.scm:2056
+#: guix/profiles.scm:2256
 #, scheme-format
 msgid "directory `~a' is not owned by you"
 msgstr ""
 
-#: guix/profiles.scm:2060
+#: guix/profiles.scm:2260
 #, scheme-format
 msgid "Please change the owner of @file{~a} to user ~s."
 msgstr ""
 
-#: guix/git.scm:140
+#: guix/remote.scm:76 guix/ssh.scm:188
+#, scheme-format
+msgid "remote command '~{~a~^ ~}' failed with status ~a"
+msgstr ""
+
+#: guix/ssh.scm:95
+#, scheme-format
+msgid "server at '~a' returned host key '~a' of type '~a' instead of '~a' of type '~a'~%"
+msgstr ""
+
+#: guix/ssh.scm:153
+#, scheme-format
+msgid "failed to authenticate server at '~a': ~a"
+msgstr ""
+
+#: guix/ssh.scm:172
+#, scheme-format
+msgid "SSH authentication failed for '~a': ~a~%"
+msgstr ""
+
+#: guix/ssh.scm:176
+#, scheme-format
+msgid "SSH connection to '~a' failed: ~a~%"
+msgstr ""
+
+#: guix/ssh.scm:225
+#, scheme-format
+msgid "failed to start 'guix repl' on '~a'"
+msgstr ""
+
+#: guix/ssh.scm:321
+#, scheme-format
+msgid "failed to connect over SSH to daemon at '~a', socket ~a"
+msgstr ""
+
+#: guix/ssh.scm:460
+msgid "sending ~a store item (~h MiB) to '~a'...~%"
+msgid_plural "sending ~a store items (~h MiB) to '~a'...~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ssh.scm:556
+msgid "unknown error while sending files over SSH"
+msgstr ""
+
+#: guix/ssh.scm:601
+#, scheme-format
+msgid "failed to connect to '~A' on remote host '~A': ~a"
+msgstr ""
+
+#: guix/ssh.scm:604
+#, scheme-format
+msgid "no such item on remote host '~A':~{ ~a~}"
+msgid_plural "no such items on remote host '~A':~{ ~a~}"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ssh.scm:609
+#, scheme-format
+msgid "protocol error on remote host '~A': ~a"
+msgstr ""
+
+#: guix/ssh.scm:612
+#, scheme-format
+msgid "failed to retrieve store items from '~a'"
+msgstr ""
+
+#: guix/ssh.scm:625
+#, scheme-format
+msgid "retrieving ~a store item from '~a'...~%"
+msgid_plural "retrieving ~a store items from '~a'...~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ssh.scm:655
+#, scheme-format
+msgid "failed to start Guile on remote host '~A'"
+msgstr ""
+
+#: guix/ssh.scm:656
+#, scheme-format
+msgid ""
+"Make sure @command{guile} can be found in\n"
+"@code{$PATH} on the remote host.  Run @command{ssh ~A guile --version} to\n"
+"check."
+msgstr ""
+
+#: guix/ssh.scm:663
+#, scheme-format
+msgid "exception occurred on remote host '~A': ~s"
+msgstr ""
+
+#: guix/git.scm:149
 msgid "receiving objects"
 msgstr ""
 
-#: guix/git.scm:142
+#: guix/git.scm:151
 msgid "indexing objects"
 msgstr ""
 
-#: guix/git.scm:274
+#: guix/git.scm:304
 #, scheme-format
 msgid "Git error ~a~%"
 msgstr ""
 
-#: guix/git.scm:276 guix/git.scm:491
+#: guix/git.scm:306 guix/git.scm:566
 #, scheme-format
 msgid "Git error: ~a~%"
 msgstr ""
 
-#: guix/git.scm:291
+#: guix/git.scm:321
+#, scheme-format
+msgid "updating submodule '~a'...~%"
+msgstr ""
+
+#: guix/git.scm:390
+#, scheme-format
+msgid "revision ~a of ~a could not be fetched from Software Heritage~%"
+msgstr ""
+
+#: guix/git.scm:706
+#, scheme-format
+msgid "cannot fetch commit ~a from ~a: ~a"
+msgstr ""
+
+#: guix/git.scm:709
+#, scheme-format
+msgid "cannot fetch branch '~a' from ~a: ~a"
+msgstr ""
+
+#: guix/git.scm:712
+#, scheme-format
+msgid "Git failure while fetching ~a: ~a"
+msgstr ""
+
+#: guix/substitutes.scm:100
 #, scheme-format
-msgid "updating submodule '~a'...~%"
+msgid "'~a' does not name a store item~%"
 msgstr ""
 
-#: guix/git.scm:585
+#: guix/substitutes.scm:144
 #, scheme-format
-msgid "cannot fetch commit ~a from ~a: ~a"
+msgid "~a: host not found: ~a~%"
 msgstr ""
 
-#: guix/git.scm:588
+#: guix/substitutes.scm:150
 #, scheme-format
-msgid "cannot fetch branch '~a' from ~a: ~a"
+msgid "~a: connection failed: ~a~%"
 msgstr ""
 
-#: guix/git.scm:591
+#: guix/substitutes.scm:262
 #, scheme-format
-msgid "Git failure while fetching ~a: ~a"
+msgid "~s: unsupported server URI scheme~%"
 msgstr ""
 
-#: guix/deprecation.scm:37
+#: guix/deprecation.scm:39
 #, scheme-format
 msgid "'~a' is deprecated, use '~a' instead~%"
 msgstr ""
 
-#: guix/deprecation.scm:39
+#: guix/deprecation.scm:41
 #, scheme-format
 msgid "'~a' is deprecated~%"
 msgstr ""
 
 #. TRANSLATORS: 'derivation' must not be translated; it refers to the
 #. 'derivation' procedure.
-#: guix/derivations.scm:775
+#: guix/derivations.scm:772
 #, scheme-format
 msgid "in '~a': deprecated 'derivation' calling convention used~%"
 msgstr ""
@@ -5616,125 +6654,149 @@ msgstr ""
 msgid "package `~a' has no source~%"
 msgstr ""
 
-#: guix/scripts/archive.scm:266
+#: guix/scripts/archive.scm:264
+#, scheme-format
+msgid "no arguments specified; creating an empty archive~%"
+msgstr ""
+
+#: guix/scripts/archive.scm:269
 #, scheme-format
 msgid "unable to export the given packages~%"
 msgstr ""
 
-#: guix/scripts/archive.scm:273
+#: guix/scripts/archive.scm:276
 #, scheme-format
 msgid "key pair exists under '~a'; remove it first~%"
 msgstr ""
 
-#: guix/scripts/archive.scm:277
+#: guix/scripts/archive.scm:280
 #, scheme-format
 msgid ""
 "Please wait while gathering entropy to generate the key pair;\n"
 "this may take time...~%"
 msgstr ""
 
-#: guix/scripts/archive.scm:284
+#: guix/scripts/archive.scm:287
 #, scheme-format
 msgid "key generation failed: ~a: ~a~%"
 msgstr ""
 
-#: guix/scripts/archive.scm:311
+#: guix/scripts/archive.scm:314
 #, scheme-format
 msgid "failed to read public key: ~a: ~a~%"
 msgstr ""
 
-#: guix/scripts/archive.scm:318
+#: guix/scripts/archive.scm:321
 #, scheme-format
 msgid "replacing symbolic link ~a with a regular file~%"
 msgstr ""
 
-#: guix/scripts/archive.scm:321
+#: guix/scripts/archive.scm:324
 msgid ""
 "On Guix System, add all @code{authorized-keys} to the\n"
 "@code{guix-service-type} service of your @code{operating-system} instead."
 msgstr ""
 
-#: guix/scripts/archive.scm:327
+#: guix/scripts/archive.scm:330
 #, scheme-format
 msgid "s-expression does not denote a public key~%"
 msgstr ""
 
-#: guix/scripts/archive.scm:420
+#: guix/scripts/archive.scm:423
 #, scheme-format
 msgid "either '--export' or '--import' must be specified~%"
 msgstr ""
 
-#: guix/scripts/environment.scm:129
+#: guix/scripts/discover.scm:37
 msgid ""
-"Usage: guix environment [OPTION]... PACKAGE... [-- COMMAND...]\n"
-"Build an environment that includes the dependencies of PACKAGE and execute\n"
-"COMMAND or an interactive shell in that environment.\n"
+"Usage: guix discover [OPTION]...\n"
+"Discover Guix related services using Avahi.\n"
 msgstr ""
 
-#: guix/scripts/environment.scm:132
+#: guix/scripts/discover.scm:39
 msgid ""
 "\n"
-"  -e, --expression=EXPR  create environment for the package that EXPR\n"
-"                         evaluates to"
+"  -c, --cache=DIRECTORY     cache discovery results in DIRECTORY"
 msgstr ""
 
-#: guix/scripts/environment.scm:135
+#: guix/scripts/discover.scm:41
 msgid ""
 "\n"
-"  -l, --load=FILE        create environment for the package that the code within\n"
-"                         FILE evaluates to"
+"  -h, --help                display this help and exit"
+msgstr ""
+
+#: guix/scripts/discover.scm:43
+msgid ""
+"\n"
+"  -V, --version             display version information and exit"
+msgstr ""
+
+#: guix/scripts/discover.scm:149
+#, scheme-format
+msgid "Avahi daemon is not running, cannot auto-discover substitutes servers.~%"
+msgstr ""
+
+#: guix/scripts/discover.scm:152
+#, scheme-format
+msgid "an Avahi error was raised by `~a': ~a~%"
+msgstr ""
+
+#: guix/scripts/environment.scm:82
+msgid ""
+"\n"
+"  -e, --expression=EXPR  create environment for the package that EXPR\n"
+"                         evaluates to"
 msgstr ""
 
-#: guix/scripts/environment.scm:138
+#: guix/scripts/environment.scm:85
 msgid ""
 "\n"
 "  -m, --manifest=FILE    create environment with the manifest from FILE"
 msgstr ""
 
-#: guix/scripts/environment.scm:140
+#: guix/scripts/environment.scm:87
 msgid ""
 "\n"
 "  -p, --profile=PATH     create environment from profile at PATH"
 msgstr ""
 
-#: guix/scripts/environment.scm:142
+#: guix/scripts/environment.scm:89
 msgid ""
 "\n"
-"      --ad-hoc           include all specified packages in the environment instead\n"
-"                         of only their inputs"
+"      --check            check if the shell clobbers environment variables"
 msgstr ""
 
-#: guix/scripts/environment.scm:145
+#: guix/scripts/environment.scm:91
 msgid ""
 "\n"
 "      --pure             unset existing environment variables"
 msgstr ""
 
-#: guix/scripts/environment.scm:147
+#: guix/scripts/environment.scm:93
 msgid ""
 "\n"
 "  -E, --preserve=REGEXP  preserve environment variables that match REGEXP"
 msgstr ""
 
-#: guix/scripts/environment.scm:149
+#: guix/scripts/environment.scm:95
 msgid ""
 "\n"
 "      --search-paths     display needed environment variable definitions"
 msgstr ""
 
-#: guix/scripts/environment.scm:156
+#: guix/scripts/environment.scm:102
 msgid ""
 "\n"
 "  -C, --container        run command within an isolated container"
 msgstr ""
 
-#: guix/scripts/environment.scm:158
+#: guix/scripts/environment.scm:104
 msgid ""
 "\n"
 "  -N, --network          allow containers to access the network"
 msgstr ""
 
-#: guix/scripts/environment.scm:160
+#: guix/scripts/environment.scm:106
 #, scheme-format
 msgid ""
 "\n"
@@ -5742,7 +6804,7 @@ msgid ""
 "                         an isolated container"
 msgstr ""
 
-#: guix/scripts/environment.scm:163
+#: guix/scripts/environment.scm:109
 msgid ""
 "\n"
 "  -u, --user=USER        instead of copying the name and home of the current\n"
@@ -5750,87 +6812,309 @@ msgid ""
 "                         with home directory /home/USER"
 msgstr ""
 
-#: guix/scripts/environment.scm:167
+#: guix/scripts/environment.scm:113
 msgid ""
 "\n"
 "      --no-cwd           do not share current working directory with an\n"
 "                         isolated container"
 msgstr ""
 
-#: guix/scripts/environment.scm:171
+#: guix/scripts/environment.scm:117
 msgid ""
 "\n"
 "      --share=SPEC       for containers, share writable host file system\n"
 "                         according to SPEC"
 msgstr ""
 
-#: guix/scripts/environment.scm:174
+#: guix/scripts/environment.scm:120
 msgid ""
 "\n"
 "      --expose=SPEC      for containers, expose read-only host file system\n"
 "                         according to SPEC"
 msgstr ""
 
-#: guix/scripts/environment.scm:179
+#: guix/scripts/environment.scm:125
 msgid ""
 "\n"
 "      --bootstrap        use bootstrap binaries to build the environment"
 msgstr ""
 
-#: guix/scripts/environment.scm:233
+#: guix/scripts/environment.scm:129
+msgid ""
+"Usage: guix environment [OPTION]... PACKAGE... [-- COMMAND...]\n"
+"Build an environment that includes the dependencies of PACKAGE and execute\n"
+"COMMAND or an interactive shell in that environment.\n"
+msgstr ""
+
+#: guix/scripts/environment.scm:132
+msgid "This command is deprecated in favor of 'guix shell'.\n"
+msgstr ""
+
+#: guix/scripts/environment.scm:136
+msgid ""
+"\n"
+"  -l, --load=FILE        create environment for the package that the code within\n"
+"                         FILE evaluates to"
+msgstr ""
+
+#: guix/scripts/environment.scm:139
+msgid ""
+"\n"
+"      --ad-hoc           include all specified packages in the environment instead\n"
+"                         of only their inputs"
+msgstr ""
+
+#: guix/scripts/environment.scm:199
 #, scheme-format
 msgid "'--inherit' is deprecated, use '--preserve' instead~%"
 msgstr ""
 
-#: guix/scripts/environment.scm:631
+#: guix/scripts/environment.scm:478
+#, scheme-format
+msgid "checking the environment variables visible from shell '~a'...~%"
+msgstr ""
+
+#: guix/scripts/environment.scm:482
+#, scheme-format
+msgid "failed to determine environment of shell '~a'~%"
+msgstr ""
+
+#: guix/scripts/environment.scm:489
+#, scheme-format
+msgid "variable '~a' is missing from shell environment~%"
+msgstr ""
+
+#: guix/scripts/environment.scm:496
+#, scheme-format
+msgid "variable '~a' has unexpected suffix '~a'~%"
+msgstr ""
+
+#: guix/scripts/environment.scm:502
+#, scheme-format
+msgid "variable '~a' is clobbered: '~a'~%"
+msgstr ""
+
+#: guix/scripts/environment.scm:509
+#, scheme-format
+msgid "'GUIX_ENVIRONMENT' is missing from the shell environment~%"
+msgstr ""
+
+#: guix/scripts/environment.scm:513
+#, scheme-format
+msgid "'GUIX_ENVIRONMENT' is set to '~a' instead of '~a'~%"
+msgstr ""
+
+#: guix/scripts/environment.scm:522
+#, scheme-format
+msgid "'PS1' is the same in sub-shell~%"
+msgstr ""
+
+#: guix/scripts/environment.scm:523
+#, scheme-format
+msgid ""
+"Consider setting a different prompt for\n"
+"environment shells to make them distinguishable.\n"
+"\n"
+"If you are using Bash, you can do that by adding these lines to\n"
+"@file{~/.bashrc}:\n"
+"\n"
+"@example\n"
+"if [ -n \"$GUIX_ENVIRONMENT\" ]\n"
+"then\n"
+"  export PS1=\"\\u@@\\h \\w [env]\\$ \"\n"
+"fi\n"
+"@end example\n"
+msgstr ""
+
+#: guix/scripts/environment.scm:539
+#, scheme-format
+msgid ""
+"One or more environment variables have a\n"
+"different value in the shell than the one we set.  This means that you may\n"
+"find yourself running code in an environment different from the one you asked\n"
+"Guix to prepare.\n"
+"\n"
+"This usually indicates that your shell startup files are unexpectedly\n"
+"modifying those environment variables.  For example, if you are using Bash,\n"
+"make sure that environment variables are set or modified in\n"
+"@file{~/.bash_profile} and @emph{not} in @file{~/.bashrc}.  For more\n"
+"information on Bash startup files, run:\n"
+"\n"
+"@example\n"
+"info \"(bash) Bash Startup Files\"\n"
+"@end example\n"
+"\n"
+"Alternatively, you can avoid the problem by passing the @option{--container}\n"
+"or @option{-C} option.  That will give you a fully isolated environment\n"
+"running in a \"container\", immune to the issue described above."
+msgstr ""
+
+#: guix/scripts/environment.scm:558
+#, scheme-format
+msgid "All is good!  The shell gets correct environment variables.~%"
+msgstr ""
+
+#: guix/scripts/environment.scm:579
+#, scheme-format
+msgid "Did you mean '~a'?~%"
+msgstr ""
+
+#: guix/scripts/environment.scm:587
+#, fuzzy, scheme-format
+#| msgid "module ~a not found"
+msgid "~a: command not found~%"
+msgstr "modul ~a pas trobat"
+
+#: guix/scripts/environment.scm:794
 #, scheme-format
 msgid "cannot link profile: '~a' already exists within container~%"
 msgstr ""
 
-#: guix/scripts/environment.scm:669
+#: guix/scripts/environment.scm:832
 msgid "cannot create container: user namespaces unavailable\n"
 msgstr ""
 
-#: guix/scripts/environment.scm:670
+#: guix/scripts/environment.scm:833
 msgid "is your kernel version < 3.10?\n"
 msgstr ""
 
-#: guix/scripts/environment.scm:673
+#: guix/scripts/environment.scm:836
 msgid "cannot create container: unprivileged user cannot create user namespaces\n"
 msgstr ""
 
-#: guix/scripts/environment.scm:674
+#: guix/scripts/environment.scm:837
 msgid "please set /proc/sys/kernel/unprivileged_userns_clone to \"1\"\n"
 msgstr ""
 
-#: guix/scripts/environment.scm:677
+#: guix/scripts/environment.scm:840
 msgid "cannot create container: /proc/self/setgroups does not exist\n"
 msgstr ""
 
-#: guix/scripts/environment.scm:678
+#: guix/scripts/environment.scm:841
 msgid "is your kernel version < 3.19?\n"
 msgstr ""
 
-#: guix/scripts/environment.scm:731
+#: guix/scripts/environment.scm:918
 #, scheme-format
 msgid "'--link-profile' cannot be used without '--container'~%"
 msgstr ""
 
-#: guix/scripts/environment.scm:733
+#: guix/scripts/environment.scm:920
 #, scheme-format
 msgid "'--user' cannot be used without '--container'~%"
 msgstr ""
 
-#: guix/scripts/environment.scm:735
+#: guix/scripts/environment.scm:922
 #, scheme-format
 msgid "--no-cwd cannot be used without --container~%"
 msgstr ""
 
-#: guix/scripts/environment.scm:756
+#: guix/scripts/environment.scm:937
 #, scheme-format
 msgid "'--profile' cannot be used with package options~%"
 msgstr ""
 
+#: guix/scripts/environment.scm:940 guix/scripts/shell.scm:275
+#, scheme-format
+msgid "no packages specified; creating an empty environment~%"
+msgstr ""
+
+#: guix/scripts/home/import.scm:179
+msgid ""
+";; This \"home-environment\" file can be passed to 'guix home reconfigure'\n"
+";; to reproduce the content of your profile.  This is \"symbolic\": it only\n"
+";; specifies package names.  To reproduce the exact same profile, you also\n"
+";; need to capture the channels being used, as returned by \"guix describe\".\n"
+";; See the \"Replicating Guix\" section in the manual.\n"
+msgstr ""
+
+#: guix/scripts/home.scm:65
+msgid ""
+"Usage: guix home [OPTION ...] ACTION [ARG ...] [FILE]\n"
+"Build the home environment declared in FILE according to ACTION.\n"
+"Some ACTIONS support additional ARGS.\n"
+msgstr ""
+
+#: guix/scripts/home.scm:71
+msgid "   search             search for existing service types\n"
+msgstr ""
+
+#: guix/scripts/home.scm:73
+msgid "   reconfigure        switch to a new home environment configuration\n"
+msgstr ""
+
+#: guix/scripts/home.scm:75
+msgid "   roll-back          switch to the previous home environment configuration\n"
+msgstr ""
+
+#: guix/scripts/home.scm:77
+msgid "   describe           describe the current home environment\n"
+msgstr ""
+
+#: guix/scripts/home.scm:79
+msgid "   list-generations   list the home environment generations\n"
+msgstr ""
+
+#: guix/scripts/home.scm:81
+msgid "   switch-generation  switch to an existing home environment configuration\n"
+msgstr ""
+
+#: guix/scripts/home.scm:83
+msgid "   delete-generations delete old home environment generations\n"
+msgstr ""
+
+#: guix/scripts/home.scm:85
+msgid "   build              build the home environment without installing anything\n"
+msgstr ""
+
+#: guix/scripts/home.scm:87
+msgid "   import             generates a home environment definition from dotfiles\n"
+msgstr ""
+
+#: guix/scripts/home.scm:91
+msgid ""
+"\n"
+"  -e, --expression=EXPR  consider the home-environment EXPR evaluates to\n"
+"                         instead of reading FILE, when applicable"
+msgstr ""
+
+#: guix/scripts/home.scm:196
+#, scheme-format
+msgid "'~a' does not return a home environment ~%"
+msgstr ""
+
+#: guix/scripts/home.scm:280
+#, scheme-format
+msgid "'~a' populated with all the Home configuration files~%"
+msgstr ""
+
+#: guix/scripts/home.scm:282
+#, scheme-format
+msgid ""
+"Run @command{guix home reconfigure ~a/home-configuration.scm} to effectively\n"
+"deploy the home environment described by these files.\n"
+msgstr ""
+
+#: guix/scripts/home.scm:289
+#, scheme-format
+msgid "no home environment generation, nothing to describe~%"
+msgstr ""
+
+#: guix/scripts/home.scm:358
+#, scheme-format
+msgid "guix home: missing command name~%"
+msgstr ""
+
+#: guix/scripts/home.scm:360
+#, scheme-format
+msgid "Try 'guix home --help' for more information.~%"
+msgstr ""
+
+#: guix/scripts/home.scm:528
+#, scheme-format
+msgid "cannot switch to home environment generation '~a'~%"
+msgstr ""
+
 #: guix/scripts/time-machine.scm:51
 msgid ""
 "Usage: guix time-machine [OPTION] -- COMMAND ARGS...\n"
@@ -5855,44 +7139,50 @@ msgid ""
 "      --branch=BRANCH    use the tip of the specified BRANCH"
 msgstr ""
 
-#: guix/scripts/import/cpan.scm:41
+#: guix/scripts/import/cpan.scm:42
 msgid ""
 "Usage: guix import cpan PACKAGE-NAME\n"
 "Import and convert the CPAN package for PACKAGE-NAME.\n"
 msgstr ""
 
-#: guix/scripts/import/cpan.scm:86 guix/scripts/import/crate.scm:101
-#: guix/scripts/import/gem.scm:100 guix/scripts/import/opam.scm:106
-#: guix/scripts/import/pypi.scm:101
+#: guix/scripts/import/cpan.scm:83 guix/scripts/import/crate.scm:97
+#: guix/scripts/import/egg.scm:100 guix/scripts/import/gem.scm:98
+#: guix/scripts/import/opam.scm:107 guix/scripts/import/pypi.scm:100
 #, scheme-format
 msgid "failed to download meta-data for package '~a'~%"
 msgstr ""
 
-#: guix/scripts/import/crate.scm:44
+#: guix/scripts/import/crate.scm:45
 msgid ""
 "Usage: guix import crate PACKAGE-NAME\n"
 "Import and convert the crates.io package for PACKAGE-NAME.\n"
 msgstr ""
 
-#: guix/scripts/import/gem.scm:42
+#: guix/scripts/import/egg.scm:43
+msgid ""
+"Usage: guix import egg PACKAGE-NAME\n"
+"Import and convert the egg package for PACKAGE-NAME.\n"
+msgstr ""
+
+#: guix/scripts/import/gem.scm:44
 msgid ""
 "Usage: guix import gem PACKAGE-NAME\n"
 "Import and convert the RubyGems package for PACKAGE-NAME.\n"
 msgstr ""
 
-#: guix/scripts/import/gem.scm:48
+#: guix/scripts/import/gem.scm:50
 msgid ""
 "\n"
 "  -r, --recursive        generate package expressions for all Gem packages that are not yet in Guix"
 msgstr ""
 
-#: guix/scripts/import/gnu.scm:40
+#: guix/scripts/import/gnu.scm:41
 msgid ""
 "Usage: guix import gnu [OPTION...] PACKAGE\n"
 "Return a package declaration template for PACKAGE, a GNU package.\n"
 msgstr ""
 
-#: guix/scripts/import/gnu.scm:43 guix/scripts/refresh.scm:177
+#: guix/scripts/import/gnu.scm:44 guix/scripts/refresh.scm:178
 msgid ""
 "\n"
 "      --key-download=POLICY\n"
@@ -5901,43 +7191,43 @@ msgid ""
 "                         used when 'key-download' is not specified"
 msgstr ""
 
-#: guix/scripts/import/gnu.scm:72 guix/scripts/refresh.scm:118
+#: guix/scripts/import/gnu.scm:73 guix/scripts/refresh.scm:119
 #, scheme-format
 msgid "unsupported policy: ~a~%"
 msgstr ""
 
-#: guix/scripts/import/go.scm:45
+#: guix/scripts/import/go.scm:47
 msgid ""
 "Usage: guix import go PACKAGE-PATH[@VERSION]\n"
 "Import and convert the Go module for PACKAGE-PATH.  Optionally, a version\n"
 "can be specified after the arobas (@) character.\n"
 msgstr ""
 
-#: guix/scripts/import/go.scm:50
+#: guix/scripts/import/go.scm:52
 msgid ""
 "\n"
 "  -r, --recursive        generate package expressions for all Go modules\n"
 "that are not yet in Guix"
 msgstr ""
 
-#: guix/scripts/import/go.scm:53
+#: guix/scripts/import/go.scm:55
 msgid ""
 "\n"
 "  -p, --goproxy=GOPROXY  specify which goproxy server to use"
 msgstr ""
 
-#: guix/scripts/import/go.scm:55
+#: guix/scripts/import/go.scm:57
 msgid ""
 "\n"
 "  --pin-versions         use the exact versions of a module's dependencies"
 msgstr ""
 
-#: guix/scripts/import/go.scm:121
+#: guix/scripts/import/go.scm:117
 #, scheme-format
-msgid "failed to download meta-data for module '~a'~%"
+msgid "failed to download meta-data for module '~a'.~%"
 msgstr ""
 
-#: guix/scripts/import/hackage.scm:48
+#: guix/scripts/import/hackage.scm:49
 msgid ""
 "Usage: guix import hackage PACKAGE-NAME\n"
 "Import and convert the Hackage package for PACKAGE-NAME.  If PACKAGE-NAME\n"
@@ -5948,241 +7238,242 @@ msgid ""
 "version.\n"
 msgstr ""
 
-#: guix/scripts/import/hackage.scm:55
+#: guix/scripts/import/hackage.scm:56
 msgid ""
 "\n"
 "  -e ALIST, --cabal-environment=ALIST\n"
 "                               specify environment for Cabal evaluation"
 msgstr ""
 
-#: guix/scripts/import/hackage.scm:58 guix/scripts/import/stackage.scm:49
+#: guix/scripts/import/hackage.scm:59 guix/scripts/import/stackage.scm:50
 msgid ""
 "\n"
 "  -h, --help                   display this help and exit"
 msgstr ""
 
-#: guix/scripts/import/hackage.scm:60 guix/scripts/import/stackage.scm:51
+#: guix/scripts/import/hackage.scm:61 guix/scripts/import/stackage.scm:52
 msgid ""
 "\n"
 "  -r, --recursive              import packages recursively"
 msgstr ""
 
-#: guix/scripts/import/hackage.scm:62
+#: guix/scripts/import/hackage.scm:63
 msgid ""
 "\n"
 "  -s, --stdin                  read from standard input"
 msgstr ""
 
-#: guix/scripts/import/hackage.scm:64 guix/scripts/import/stackage.scm:53
+#: guix/scripts/import/hackage.scm:65 guix/scripts/import/stackage.scm:54
 msgid ""
 "\n"
 "  -t, --no-test-dependencies   don't include test-only dependencies"
 msgstr ""
 
-#: guix/scripts/import/hackage.scm:66 guix/scripts/import/stackage.scm:55
+#: guix/scripts/import/hackage.scm:67 guix/scripts/import/stackage.scm:56
 msgid ""
 "\n"
 "  -V, --version                display version information and exit"
 msgstr ""
 
-#: guix/scripts/import/hackage.scm:149
+#: guix/scripts/import/hackage.scm:146
 #, scheme-format
 msgid "failed to import cabal file from standard input~%"
 msgstr ""
 
-#: guix/scripts/import/hackage.scm:157 guix/scripts/import/stackage.scm:129
+#: guix/scripts/import/hackage.scm:154 guix/scripts/import/stackage.scm:126
 #, scheme-format
 msgid "failed to download cabal file for package '~a'~%"
 msgstr ""
 
-#: guix/scripts/import/json.scm:49
+#: guix/scripts/import/json.scm:50
 msgid ""
 "Usage: guix import json PACKAGE-FILE\n"
 "Import and convert the JSON package definition in PACKAGE-FILE.\n"
 msgstr ""
 
-#: guix/scripts/import/json.scm:95
+#: guix/scripts/import/json.scm:92
 #, scheme-format
 msgid "invalid JSON in file '~a'~%"
 msgstr ""
 
-#: guix/scripts/import/json.scm:97
+#: guix/scripts/import/json.scm:94
 #, scheme-format
 msgid "failed to access '~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/import/opam.scm:41
+#: guix/scripts/import/opam.scm:43
 msgid ""
 "Usage: guix import opam PACKAGE-NAME\n"
 "Import and convert the opam package for PACKAGE-NAME.\n"
 msgstr ""
 
-#: guix/scripts/import/opam.scm:47
+#: guix/scripts/import/opam.scm:49
 msgid ""
 "\n"
-"      --repo             import packages from this opam repository"
+"      --repo             import packages from this opam repository (name, URL or local path)\n"
+"                         can be used more than once"
 msgstr ""
 
-#: guix/scripts/import/pypi.scm:42
+#: guix/scripts/import/pypi.scm:44
 msgid ""
 "Usage: guix import pypi PACKAGE-NAME\n"
 "Import and convert the PyPI package for PACKAGE-NAME.\n"
 msgstr ""
 
-#: guix/scripts/import/stackage.scm:44
+#: guix/scripts/import/stackage.scm:45
 msgid ""
 "Usage: guix import stackage PACKAGE-NAME\n"
 "Import and convert the LTS Stackage package for PACKAGE-NAME.\n"
 msgstr ""
 
-#: guix/scripts/import/stackage.scm:46
+#: guix/scripts/import/stackage.scm:47
 msgid ""
 "\n"
 "  -l VERSION, --lts-version=VERSION\n"
 "                               specify the LTS version to use"
 msgstr ""
 
-#: guix/scripts/import/texlive.scm:42
+#: guix/scripts/import/texlive.scm:43
 msgid ""
 "Usage: guix import texlive PACKAGE-NAME\n"
 "Import and convert the Texlive package for PACKAGE-NAME.\n"
 msgstr ""
 
-#: guix/scripts/offload.scm:127
+#: guix/scripts/offload.scm:130
 #, scheme-format
 msgid "The 'system' field is deprecated, please use 'systems' instead.~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:135
+#: guix/scripts/offload.scm:138
 msgid ""
 "The build-machine object lacks a value for its 'systems'\n"
 "field."
 msgstr ""
 
-#: guix/scripts/offload.scm:176
+#: guix/scripts/offload.scm:179
 #, scheme-format
 msgid "'~a' did not return a list of build machines; ignoring it~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:187
+#: guix/scripts/offload.scm:190
 #, scheme-format
 msgid "failed to open machine file '~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:194
+#: guix/scripts/offload.scm:197
 #, scheme-format
 msgid "failed to load machine file '~a': ~s~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:204
+#: guix/scripts/offload.scm:207
 #, scheme-format
 msgid "failed to load SSH private key from '~a': ~a"
 msgstr ""
 
-#: guix/scripts/offload.scm:245
+#: guix/scripts/offload.scm:251
 #, scheme-format
 msgid "SSH public key authentication failed for '~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:256
+#: guix/scripts/offload.scm:262
 #, scheme-format
 msgid "failed to connect to '~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:365
+#: guix/scripts/offload.scm:371
 #, scheme-format
 msgid "derivation '~a' offloaded to '~a' failed: ~a~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:381
+#: guix/scripts/offload.scm:387
 #, scheme-format
 msgid "build failure may have been caused by lack of free disk space on '~a'~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:550
+#: guix/scripts/offload.scm:556
 #, scheme-format
 msgid "timeout expired while offloading '~a'~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:623
+#: guix/scripts/offload.scm:574
+msgid "Guile-SSH lacks zlib support"
+msgstr ""
+
+#: guix/scripts/offload.scm:575
+msgid "data transfers will *not* be compressed!"
+msgstr ""
+
+#: guix/scripts/offload.scm:640
 #, scheme-format
 msgid "'~a' is running GNU Guile ~a~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:630
+#: guix/scripts/offload.scm:647
 #, scheme-format
 msgid "failed to run 'guix repl' on '~a'~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:637
+#: guix/scripts/offload.scm:654
 #, scheme-format
 msgid "(guix) module not usable on remote host '~a'"
 msgstr ""
 
-#: guix/scripts/offload.scm:647
+#: guix/scripts/offload.scm:664
 #, scheme-format
 msgid "Guix is usable on '~a' (test returned ~s)~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:650
+#: guix/scripts/offload.scm:667
 #, scheme-format
 msgid "failed to talk to guix-daemon on '~a' (test returned ~s)~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:670
+#: guix/scripts/offload.scm:687
 #, scheme-format
 msgid "'~a' successfully imported '~a'~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:672
+#: guix/scripts/offload.scm:689
 #, scheme-format
 msgid "'~a' was not properly imported on '~a'~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:682
+#: guix/scripts/offload.scm:699
 #, scheme-format
 msgid "successfully imported '~a' from '~a'~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:684
+#: guix/scripts/offload.scm:701
 #, scheme-format
 msgid "failed to import '~a' from '~a'~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:699
+#: guix/scripts/offload.scm:716
 #, scheme-format
 msgid "testing ~a build machines defined in '~a'...~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:723
+#: guix/scripts/offload.scm:740
 #, scheme-format
 msgid "getting status of ~a build machines defined in '~a'...~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:731
+#: guix/scripts/offload.scm:748
 #, scheme-format
 msgid "failed to run 'guix repl' on machine '~a'~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:742
+#: guix/scripts/offload.scm:759
 #, scheme-format
 msgid "machine '~a' is ~a seconds behind~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:788
-msgid "Guile-SSH lacks zlib support"
-msgstr ""
-
-#: guix/scripts/offload.scm:789
-msgid "data transfers will *not* be compressed!"
-msgstr ""
-
-#: guix/scripts/offload.scm:814
+#: guix/scripts/offload.scm:824
 #, scheme-format
 msgid "invalid request line: ~s~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:843
+#: guix/scripts/offload.scm:853
 #, scheme-format
 msgid ""
 "Usage: guix offload SYSTEM MAX-SILENT-TIME PRINT-BUILD-TRACE? BUILD-TIMEOUT\n"
@@ -6190,43 +7481,43 @@ msgid ""
 "offloading builds to the machines listed in '~a'.~%"
 msgstr ""
 
-#: guix/scripts/offload.scm:848
+#: guix/scripts/offload.scm:858
 msgid ""
 "\n"
 "This tool is meant to be used internally by 'guix-daemon'.\n"
 msgstr ""
 
-#: guix/scripts/offload.scm:852
+#: guix/scripts/offload.scm:862
 #, scheme-format
 msgid "invalid arguments: ~{~s ~}~%"
 msgstr ""
 
-#: guix/scripts/perform-download.scm:59
+#: guix/scripts/perform-download.scm:60
 #, scheme-format
 msgid "~a: missing URL~%"
 msgstr ""
 
-#: guix/scripts/perform-download.scm:67
+#: guix/scripts/perform-download.scm:68
 #, scheme-format
 msgid "~a is not a fixed-output derivation~%"
 msgstr ""
 
-#: guix/scripts/perform-download.scm:92
+#: guix/scripts/perform-download.scm:97
 #, scheme-format
 msgid "refusing to run with elevated privileges (UID ~a)~%"
 msgstr ""
 
-#: guix/scripts/perform-download.scm:129
+#: guix/scripts/perform-download.scm:134
 #, scheme-format
 msgid "fixed-output derivation and output file name expected~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:75
+#: guix/scripts/refresh.scm:76
 #, scheme-format
 msgid "~a: invalid selection; expected `core' or `non-core'~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:143
+#: guix/scripts/refresh.scm:144
 msgid ""
 "Usage: guix refresh [OPTION]... [PACKAGE]...\n"
 "Update package definitions to match the latest upstream version.\n"
@@ -6236,87 +7527,87 @@ msgid ""
 "specified with `--select'.\n"
 msgstr ""
 
-#: guix/scripts/refresh.scm:151
+#: guix/scripts/refresh.scm:152
 msgid ""
 "\n"
 "  -u, --update           update source files in place"
 msgstr ""
 
-#: guix/scripts/refresh.scm:153
+#: guix/scripts/refresh.scm:154
 msgid ""
 "\n"
 "  -s, --select=SUBSET    select all the packages in SUBSET, one of\n"
 "                         `core' or `non-core'"
 msgstr ""
 
-#: guix/scripts/refresh.scm:156
+#: guix/scripts/refresh.scm:157
 msgid ""
 "\n"
 "  -m, --manifest=FILE    select all the packages from the manifest in FILE"
 msgstr ""
 
-#: guix/scripts/refresh.scm:158
+#: guix/scripts/refresh.scm:159
 msgid ""
 "\n"
 "  -t, --type=UPDATER,... restrict to updates from the specified updaters\n"
 "                         (e.g., 'gnu')"
 msgstr ""
 
-#: guix/scripts/refresh.scm:161
+#: guix/scripts/refresh.scm:162
 msgid ""
 "\n"
 "  -L, --list-updaters    list available updaters and exit"
 msgstr ""
 
-#: guix/scripts/refresh.scm:163
+#: guix/scripts/refresh.scm:164
 msgid ""
 "\n"
 "  -l, --list-dependent   list top-level dependent packages that would need to\n"
 "                         be rebuilt as a result of upgrading PACKAGE..."
 msgstr ""
 
-#: guix/scripts/refresh.scm:166
+#: guix/scripts/refresh.scm:167
 msgid ""
 "\n"
 "  -r, --recursive        check the PACKAGE and its inputs for upgrades"
 msgstr ""
 
-#: guix/scripts/refresh.scm:168
+#: guix/scripts/refresh.scm:169
 msgid ""
 "\n"
 "      --list-transitive  list all the packages that PACKAGE depends on"
 msgstr ""
 
-#: guix/scripts/refresh.scm:171
+#: guix/scripts/refresh.scm:172
 msgid ""
 "\n"
 "      --keyring=FILE     use FILE as the keyring of upstream OpenPGP keys"
 msgstr ""
 
-#: guix/scripts/refresh.scm:173
+#: guix/scripts/refresh.scm:174
 msgid ""
 "\n"
 "      --key-server=HOST  use HOST as the OpenPGP key server"
 msgstr ""
 
-#: guix/scripts/refresh.scm:175
+#: guix/scripts/refresh.scm:176
 msgid ""
 "\n"
 "      --gpg=COMMAND      use COMMAND as the GnuPG 2.x command"
 msgstr ""
 
-#: guix/scripts/refresh.scm:183
+#: guix/scripts/refresh.scm:184
 msgid ""
 "\n"
 "      --load-path=DIR    prepend DIR to the package module search path"
 msgstr ""
 
-#: guix/scripts/refresh.scm:276
+#: guix/scripts/refresh.scm:277
 #, scheme-format
 msgid "~a: no such updater~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:280
+#: guix/scripts/refresh.scm:281
 #, scheme-format
 msgid "Available updaters:~%"
 msgstr ""
@@ -6324,106 +7615,106 @@ msgstr ""
 #. TRANSLATORS: The parenthetical expression here is rendered
 #. like "(42% coverage)" and denotes the fraction of packages
 #. covered by the given updater.
-#: guix/scripts/refresh.scm:292
+#: guix/scripts/refresh.scm:293
 #, scheme-format
 msgid "  - ~a: ~a (~2,1f% coverage)~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:301
+#: guix/scripts/refresh.scm:302
 #, scheme-format
 msgid "~2,1f% of the packages are covered by these updaters.~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:307
+#: guix/scripts/refresh.scm:308
 #, scheme-format
 msgid "no updater for ~a~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:327
+#: guix/scripts/refresh.scm:328
 #, scheme-format
 msgid "~a: updating from version ~a to version ~a...~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:336
+#: guix/scripts/refresh.scm:349
 #, scheme-format
 msgid "~a: consider adding this input: ~a~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:338
+#: guix/scripts/refresh.scm:352
 #, scheme-format
 msgid "~a: consider adding this native input: ~a~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:340
+#: guix/scripts/refresh.scm:355
 #, scheme-format
 msgid "~a: consider adding this propagated input: ~a~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:342
+#: guix/scripts/refresh.scm:358
 #, scheme-format
 msgid "~a: consider removing this input: ~a~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:344
+#: guix/scripts/refresh.scm:361
 #, scheme-format
 msgid "~a: consider removing this native input: ~a~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:346
+#: guix/scripts/refresh.scm:364
 #, scheme-format
 msgid "~a: consider removing this propagated input: ~a~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:353
+#: guix/scripts/refresh.scm:369
 #, scheme-format
 msgid "~a: version ~a could not be downloaded and authenticated; not updating~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:370
+#: guix/scripts/refresh.scm:386
 #, scheme-format
 msgid "~a would be upgraded from ~a to ~a~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:376
+#: guix/scripts/refresh.scm:392
 #, scheme-format
 msgid "~a is already the latest version of ~a~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:382
+#: guix/scripts/refresh.scm:398
 #, scheme-format
 msgid "~a is greater than the latest known version of ~a (~a)~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:393
+#: guix/scripts/refresh.scm:409
 #, scheme-format
 msgid "'~a' updater failed to determine available releases for ~a~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:432
+#: guix/scripts/refresh.scm:448
 #, scheme-format
 msgid "No dependents other than itself: ~{~a~}~%"
 msgid_plural "No dependents other than themselves: ~{~a~^ ~}~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/scripts/refresh.scm:439
+#: guix/scripts/refresh.scm:455
 #, scheme-format
 msgid "A single dependent package: ~a~%"
 msgstr ""
 
-#: guix/scripts/refresh.scm:443
+#: guix/scripts/refresh.scm:459
 #, scheme-format
 msgid "Building the following ~d package would ensure ~d dependent packages are rebuilt: ~{~a~^ ~}~%"
 msgid_plural "Building the following ~d packages would ensure ~d dependent packages are rebuilt: ~{~a~^ ~}~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/scripts/refresh.scm:467
+#: guix/scripts/refresh.scm:483
 #, scheme-format
 msgid "~a depends on the following ~d packages: ~{~a~^ ~}~%."
 msgstr ""
 
-#: guix/scripts/refresh.scm:471
+#: guix/scripts/refresh.scm:487
 #, scheme-format
 msgid "The following ~d packages all are dependent packages: ~{~a~^ ~}~%"
 msgstr ""
@@ -6484,17 +7775,136 @@ msgstr ""
 msgid "~a: unknown type of REPL~%"
 msgstr ""
 
-#: guix/scripts/system/reconfigure.scm:313
+#: guix/scripts/shell.scm:46
+msgid ""
+"Usage: guix shell [OPTION] PACKAGES... [-- COMMAND...]\n"
+"Build an environment that includes PACKAGES and execute COMMAND or an\n"
+"interactive shell in that environment.\n"
+msgstr ""
+
+#: guix/scripts/shell.scm:52
+msgid ""
+"\n"
+"  -D, --development      include the development inputs of the next package"
+msgstr ""
+
+#: guix/scripts/shell.scm:54
+msgid ""
+"\n"
+"  -f, --file=FILE        add to the environment the package FILE evaluates to"
+msgstr ""
+
+#: guix/scripts/shell.scm:56
+msgid ""
+"\n"
+"  -q                     inhibit loading of 'guix.scm' and 'manifest.scm'"
+msgstr ""
+
+#: guix/scripts/shell.scm:58
+msgid ""
+"\n"
+"      --rebuild-cache    rebuild cached environment, if any"
+msgstr ""
+
+#: guix/scripts/shell.scm:199
+#, scheme-format
+msgid "ignoring invalid file name: '~a'~%"
+msgstr ""
+
+#: guix/scripts/shell.scm:280
+#, scheme-format
+msgid "loading environment from '~a'...~%"
+msgstr ""
+
+#: guix/scripts/shell.scm:286
+#, scheme-format
+msgid "not loading '~a' because not authorized to do so~%"
+msgstr ""
+
+#: guix/scripts/shell.scm:288
+#, scheme-format
+msgid ""
+"To allow automatic loading of\n"
+"@file{~a} when running @command{guix shell}, you must explicitly authorize its\n"
+"directory, like so:\n"
+"\n"
+"@example\n"
+"echo ~a >> ~a\n"
+"@end example\n"
+msgstr ""
+
+#: guix/scripts/shell.scm:386
+msgid ""
+"Consider passing the @option{--check} option once\n"
+"to make sure your shell does not clobber environment variables."
+msgstr ""
+
+#: guix/scripts/style.scm:241
+#, scheme-format
+msgid "~a: complex expression, bailing out~%"
+msgstr ""
+
+#: guix/scripts/style.scm:259
+#, scheme-format
+msgid "~a: input label '~a' does not match package name, bailing out~%"
+msgstr ""
+
+#: guix/scripts/style.scm:264
+#, scheme-format
+msgid "~a: non-trivial input, bailing out~%"
+msgstr ""
+
+#: guix/scripts/style.scm:288
+#, scheme-format
+msgid "~a: input expression is too short~%"
+msgstr ""
+
+#: guix/scripts/style.scm:380
+#, scheme-format
+msgid "~a: unsupported input style, bailing out~%"
+msgstr ""
+
+#: guix/scripts/style.scm:392
+#, scheme-format
+msgid "would be edited~%"
+msgstr ""
+
+#: guix/scripts/style.scm:482
+#, scheme-format
+msgid "~a: invalid input simplification policy~%"
+msgstr ""
+
+#: guix/scripts/style.scm:496
+msgid ""
+"Usage: guix style [OPTION]... [PACKAGE]...\n"
+"Update package definitions to the latest style.\n"
+msgstr ""
+
+#: guix/scripts/style.scm:498
+msgid ""
+"\n"
+"  -n, --dry-run          display files that would be edited but do nothing"
+msgstr ""
+
+#: guix/scripts/style.scm:504
+msgid ""
+"\n"
+"      --input-simplification=POLICY\n"
+"                         follow POLICY for package input simplification, one\n"
+"                         of 'silent', 'safe', or 'always'"
+msgstr ""
+
+#: guix/scripts/system/reconfigure.scm:317
 #, scheme-format
 msgid "aborting reconfiguration because commit ~a of channel '~a' is not a descendant of ~a"
 msgstr ""
 
-#: guix/scripts/system/reconfigure.scm:372
+#: guix/scripts/system/reconfigure.scm:377
 #, scheme-format
 msgid "cannot determine provenance for current system~%"
 msgstr ""
 
-#: guix/scripts/system/reconfigure.scm:374
+#: guix/scripts/system/reconfigure.scm:379
 #, scheme-format
 msgid "cannot determine provenance of ~a~%"
 msgstr ""