doc: Explain how to set the ownership and permissions of /gnu/store.
Fixes <http://bugs.gnu.org/19316>.
Reported by rekado <rekado@elephly.net>.
* doc/guix.texi (Build Environment Setup): Show commands to set the
ownership and permissions of /gnu/store.
doc: Give example uses of 'deco'.
Suggested by Sleep_Walker on #guix.
* doc/guix.texi (Services): Add 'deco' examples.
guix: scripts: Parse $GUIX_BUILD_OPTIONS separately.
Appending to "raw" args broke optional parameters in 'guix package -I'
and 'guix package -A', and possibly other places. Therefore, switch to
parsing each set of options on its own and append resulting alists
together afterwards.
* guix/scripts/archive.scm (parse-options-from): Rename from
(parse-options) and add explicit argument. New form of (parse-options)
using its old algorithm via -from function.
* guix/scripts/build.scm: Ditto.
* guix/scripts/environment.scm: Ditto.
* guix/scripts/package.scm: Ditto.
* guix/scripts/system.scm: Ditto.
* tests/guix-package.sh: Add test.
* doc/guix.texi (Invoking guix build): Make it clear that the options
are parsed independently.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
doc: emacs: Fix typo.
Reported by Ludovic Courtès <ludo@gnu.org>.
* doc/emacs.texi (Emacs Initial Setup): Replace "inbuilt" with "built-in".
doc: emacs: Document autoloading Emacs packages.
* doc/emacs.texi (Emacs Initial Setup): Describe how Emacs packages installed
in a user profile are autoloaded by "guix.el"
doc: Adjust misleading 'user-account' example.
Reported by Sleep_Walker on #guix.
* doc/guix.texi (Using the Configuration System): Remove numeric UID and
GID from example.
build-system/glib-or-gtk: Allow specific outputs to be excluded from wrapping.
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Add
#:glib-or-gtk-wrap-excluded-outputs parameter and honor it.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Add
#:glib-or-gtk-wrap-excluded-outputs parameter and pass it in BUILDER.
* doc/guix.texi (Build Systems): Mention it.
guix: scripts: Add GUIX_BUILD_OPTIONS environment handling.
* doc/guix.texi (Invoking guix build): Mention 'GUIX_BUILD_OPTIONS'.
* guix/scripts/archive.scm: (append args (environment-build-options)).
* guix/scripts/build.scm: Ditto.
* guix/scripts/environment.scm: Ditto.
* guix/scripts/package.scm: Ditto.
* guix/scripts/system.scm: Ditto.
* guix/ui.scm (environment-build-options): New function.
* guix/utils.scm (arguments-from-environment-variable): New function.
* tests/guix-build.sh: Add tests.
* test-env.in: Unset GUIX_BUILD_OPTIONS.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
daemon: Default to '--cores=0'.
Suggested by Deck Pickard <deck.r.pickard@gmail.com>.
* nix/nix-daemon/guix-daemon.cc (main): Set 'settings.buildCores' to 0.
* doc/guix.texi (Invoking guix-daemon): Adjust accordingly.
doc: Explain that 'file-system' must refer to mapped devices by file name.
* doc/guix.texi (File Systems): Clarify what to do when mapped devices
are used.
Revert "system: Add a 'needed-for-boot?' field to 'mapped-device'."
This reverts commit 3b09332adf7ce8e976a4d117a62c586a53af04aa, which
turned out to be a bad idea because we need to have dependency
information between the device-mapping service and the file-system
service that uses it.
doc: Improve porting instructions.
* doc/guix.texi (Porting): Move 'glibc-dynamic-linker' paragraph above.
Clarify what is meant by updating (gnu packages bootstrap). Mention
'gnu-system.am'.
system: Add a 'needed-for-boot?' field to 'mapped-device'.
* gnu/system/file-systems.scm (<mapped-device>)[needed-for-boot?]: New
field.
* gnu/system.scm (operating-system-user-mapped-devices,
operating-system-boot-mapped-devices): Use it instead of trying to
guess. Guessing doesn't work when one refers to a partition using its
label, for instance.
* doc/guix.texi (Mapped Devices): Document 'needed-for-boot?'.
doc: Update stale references in "Bootstrapping".
* doc/guix.texi (Bootstrapping): Final definitions are in (gnu packages
commencement).
Change gnu-build-system xref to "Build Systems".
system: Build system-wide locale definitions.
* gnu/system/locale.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/system.scm (<operating-system>)[locale]: Change the default to
"en_US.utf8".
(operating-system-locale-directory): New procecure.
(operating-system-derivation): Use it.
* doc/guix.texi (Using the Configuration System): Change example locale
to "fr_FR.utf8".
(operating-system Reference): Add xref to "Locales". Document
'locale-definitions'.
(Locales): New section.
* po/guix/POTFILES.in: Add gnu/system.scm.
guix build: Add '--max-jobs' option.
Suggested by Deck Pickard <deck.r.pickard@gmail.com>.
* guix/scripts/build.scm (show-build-options-help): Document
--max-jobs.
(set-build-options-from-command-line): Pass #:max-build-jobs.
(%standard-build-options): Add --max-jobs.
* doc/guix.texi (Invoking guix-daemon): Document the meaning of
'--max-jobs 0'.
(Invoking guix build): Document --max-jobs, with a reference to
"Invoking guix-daemon'.
doc: Fix syntax errors.
* doc/guix.texi (Package Naming):
(Fonts): Remove space between '@foo' and '{'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
doc: Add detailed node listing.
* doc/guix.texi (Top): Add @detailmenu.
doc: Add xrefs to the lsh manual.
Suggested by Adam Pribyl <pribyl@lowlevel.cz>.
* gnu/services/ssh.scm (lsh-service): Update docstring with xrefs to
the lsh manual. Fix typos.
* doc/guix.texi (Networking Services): Synchronize.
doc: Fix typos.
* doc/guix.texi (Base Services): Fix 'lsh-service' name.
(Networking Services): Fix (gnu services networking) module name.