environment: Define 'GUIX_ENVIRONMENT'.
* guix/scripts/environment.scm (create-environment): Define 'GUIX_ENVIRONMENT'.
* doc/guix.texi (Invoking guix environment): Document it.
* gnu/system/shadow.scm (default-skeletons): Adjust 'PS1' depending on whether
'GUIX_ENVIRONMENT' is defined.
linux-initrd: Use (guix cpio) instead of GNU cpio.
* gnu/build/linux-initrd.scm (write-cpio-archive): Remove 'open-pipe*' and
related calls. Compute list of files in 'files' variable. Use
'cpio:write-cpio-archive'. Remove #:cpio parameter.
(build-initrd): Remove #:cpio parameter.
* gnu/system/linux-initrd.scm (expression->initrd): Likewise, and adjust
BUILDER accordingly. Add (guix cpio) to #:modules.
Merge branch 'master' into core-updates
gnu: Add control group file systems.
* gnu/system/file-systems.scm (%control-groups): New variable.
(%base-file-system): Include control group file systems.
Merge branch 'master' into core-updates
install: Turn off deduplication for the binary tarball.
* gnu/build/install.scm (register-closure): Add #:deduplicate? parameter and
honor it.
(populate-single-profile-directory): Likewise.
* gnu/system/install.scm (self-contained-tarball): Pass #:deduplicate? #f.
Invoke tar with --check-links.
Merge branch 'master' into core-updates
Conflicts:
gnu/packages/commencement.scm
gnu/packages/xml.scm
Merge branch 'master' into core-updates
install: Omit /root from the binary tarball.
Suggested by Thomas Schwinge <thomas@codesourcery.com>.
* gnu/system/install.scm (self-contained-tarball): Remove
"/root/.guix-profile" from the 'tar' arguments.
* doc/guix.texi (Binary Installation): Add a step to create
~root/.guix-profile.
install: Use the actual store name when building the tarball.
* gnu/system/install.scm (self-contained-tarball): Use (%store-directory)
instead of "/gnu".
system: Define '%base-user-accounts'.
* gnu/system/shadow.scm (%base-user-accounts): New variable.
* gnu/system.scm (<operating-system>)[users]: Use it as the default value.
* gnu/system/examples/bare-bones.tmpl (users): Use it.
* gnu/system/examples/desktop.tmpl (users): Likewise.
* doc/guix.texi (operating-system Reference, User Accounts): Adjust
accordingly.
system: Make sure user accounts refer to existing groups.
Fixes <http://bugs.gnu.org/20646>.
Reported by David Thompson <davet@gnu.org>.
* gnu/system/shadow.scm (assert-valid-users/groups): New procedure
* gnu/system.scm (operating-system-activation-script): Use it.
* tests/guix-system.sh (make_user_config): New function.
Add 3 tests using it.
* po/guix/POTFILES.in: Add gnu/system/shadow.scm.
Merge branch 'master' into gtk-rebuild
Conflicts:
gnu/packages/gtk.scm
install: Omit /, /root, and /var from binary tarball.
* gnu/system/install.scm (self-contained-tarball): Pass
"./root/.guix-profile", "./var/guix", and "./gnu" to 'tar' command instead
of ".".
install: Files in the tarball are all root-owned.
Fixes a thinko introduced in 175ced4.
* gnu/system/install.scm (self-contained-tarball): Use "root:0" as the
owner and group.
* doc/guix.texi (Binary Installation): Revert 175ced4.
install: desktop.tmpl: Add "netdev" to the user's supplementary groups.
* gnu/system/examples/desktop.tmpl: Add "netdev" to the user's supplementary
groups.
doc: Document X.509 certificates.
* doc/guix.texi (Using the Configuration System): Add xref to "X.509
Certificates".
(X.509 Certificates): New section.
* gnu/system/examples/desktop.tmpl: Use NSS-CERTS.
install: Have several OS config templates under /etc/configuration.
* gnu/system/install.scm (configuration-template-service): Remove
'local-template' and 'template'. Add 'search' and 'templates'.
[activate]: Copy all of TEMPLATES to /etc/configuration.
* doc/guix.texi (System Installation): Adjust file name accordingly.