summary refs log tree commit diff
path: root/doc
AgeCommit message (Collapse)Author
2022-07-23guix gc: '--delete-generations' now deletes old Home generations.Ludovic Courtès
Previously, 'guix gc -d4m' would ignore Home generations. With this change, they are treated like profiles and generations that match the pattern are deleted. * guix/scripts/gc.scm (guix-gc)[delete-generations]: Add call to 'home-generation-base'. * doc/guix.texi (Invoking guix gc): Document the change.
2022-07-19import: Enable recursive import for texlive packages.Ricardo Wurmus
* guix/import/texlive.scm (tlpdb->package): Add VERSION argument; include explicit version field in output. (texlive->guix-package): Set default value for VERSION argument; adjust call of tlpdb->package. (texlive-recursive-import): Accept REPO and VERSION keyword arguments. * guix/import/utils.scm (package->definition): Add a clause to deal with output from tlpdb->package. * guix/scripts/import/texlive.scm (%options): Add "recursive" option. (guix-import-texlive): Honor "recursive" option. * doc/guix.texi (Using TeX and LaTeX): Mention "recursive" option.
2022-07-19system: Add -I, --list-installed option.Antero Mejr
* guix/scripts/system.scm (display-system-generation): Add #:list-installed-regex and honor it. (list-generations): Likewise. (show-help, %options): Add "--list-installed". (process-command): For 'describe' and 'list-generation', honor the 'list-installed option. * doc/guix.texi (Invoking Guix System): Add information for --list-installed flag. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-07-19home: Add -I, --list-installed option.Antero Mejr
* guix/scripts/package.scm (list-installed): New procedure. * guix/scripts/home.scm (%options, show-help): Add '--list-installed'. (process-command): For 'describe' and 'list-generations', honor the 'list-installed option. (display-home-environment-generation): Add #:list-installed-regex and honor it. (list-generations): Likewise. * guix/scripts/utils.scm (pretty-print-table): New argument "left-pad". * doc/guix.texi (Invoking Guix Home): Add information and example for --list-installed flag. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-07-18doc: Fix the example of "Run `make` automatically"Rostislav Svoboda
* doc/contributing.texi (Running Guix Before It Is Installed): add missing command separator '--'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-07-18doc: Tweak.Ludovic Courtès
* doc/guix.texi (Using Guix Interactively): Add @cindex commands. Add missing word.
2022-07-15monad-repl: Add "build", "lower", and "verbosity" commands.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/56114>. Reported by Maxime Devos <maximedevos@telenet.be>. * guix/monad-repl.scm (%build-verbosity): New variable. (evaluate/print-with-store): New procedure. (run-in-store): Rewrite in terms of 'evaluate/print-with-store'. (verbosity, lower, build): New meta-commands. * doc/guix.texi (Using Guix Interactively): New node. (The Store Monad): Link to it. (Invoking guix repl): Likewise. * doc/contributing.texi (Running Guix Before It Is Installed): Refer to it. (The Perfect Setup): Suggest 'guix install' rather than 'guix package -i'.
2022-07-14doc: Add example of 'bash-extension'.Ludovic Courtès
* doc/guix.texi (Shells Home Services): Add 'bash-extension' example.
2022-07-13doc: Prefer "guix show" over "guix package --show".Ludovic Courtès
* doc/contributing.texi (Synopses and Descriptions): Use "guix show" instead of "guix package --show".
2022-07-12gnu: home: Add Guix channels service.Reily Siegel
* gnu/home/services/guix.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add guix.scm. * doc/guix.texi: Add documentation for home-channels-service. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-07-11doc: Fix cross-reference to Git Info manual.Maxim Cournoyer
Partially fixes <https://issues.guix.gnu.org/55821>. Partially because our git package doesn't yet include the documentation. This change will need to go to core-updates. * doc/contributing.texi (Submitting Patches): Adjust the node name.
2022-07-08doc: cookbook: Link to "A Scheme Primer".Ludovic Courtès
* doc/guix-cookbook.texi (A Scheme Crash Course): Link to "A Scheme Primer". Group references in @quotation for clarity.
2022-07-08doc: cookbook: Suggest 'guix shell'.Ludovic Courtès
* doc/guix-cookbook.texi (A Scheme Crash Course): Suggest 'guix shell' instead of 'guix environment'. (Customizing the Kernel, The benefits of manifests): Likewise.
2022-07-07doc: Document the documentation process.jgart
* doc/contributing.texi (Contributing): Add Writing Documentation section. Co-authored-by: Julien Lepiller <julien@lepiller.eu> Co-authored-by: Matt Trzcinski <matt@excalamus.com> Co-authored-by: Fabio Natali <me@fabionatali.com> Co-authored-by: Gabor Boskovits <boskovits@gmail.com> Co-authored-by: Luis Felipe <luis.felipe.la@protonmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-07-05doc: Document the 'validate-runpath' phase.Ludovic Courtès
* doc/guix.texi (Build Systems): Replace paragraph about RUNPATH validation with a cross-reference. (Build Phases): Add 'validate-runpath' phase, with the paragraph taken above.
2022-07-04style: Add option '--list-stylings'.Hartmut Goebel
* guix/scripts/style.scm (show-stylings): New procedure. (%options, show-help): Add "--list-stylings". * doc/guix.texi (Invoking guix style): Document "-l".
2022-07-03services: Add anonip-service-type.Ricardo Wurmus
* gnu/services/web.scm (anonip-configuration): New record type. (anonip-configuration?, anonip-configuration-anonip, anonip-configuration-input, anonip-configuration-output, anonip-configuration-skip-private?, anonip-configuration-column, anonip-configuration-replacement, anonip-configuration-ipv4mask, anonip-configuration-ipv6mask, anonip-configuration-increment, anonip-configuration-delimiter, anonip-configuration-regex): New procedures. (anonip-service-type): New service type. * doc/guix.texi (Log Rotation): Add subheading for Anonip Service.
2022-07-03challenge: Do nothing when passed zero arguments.Ludovic Courtès
Previously, 'guix challenge' without arguments would list live store items that had been locally built. This was deemed confusing, especially since 'list-live' is an expensive operation. * guix/scripts/challenge.scm (guix-challenge): Warn and exit with 0 when FILES is empty. * doc/guix.texi (Invoking guix challenge): Update accordingly.
2022-07-01services: nginx: Add support for extra content in upstream blocks.Christopher Baines
I'm looking at this as I'd like to use the keepalive functionality. * gnu/services/web.scm (nginx-upstream-configuration-extra-content): New procedure. (emit-nginx-upstream-config): Include the extra-content if applicable. * doc/guix.texi (NGINX): Document this.
2022-07-01services: guix: Support guix-build-coordinator parallel hooks.Christopher Baines
* gnu/services/guix.scm (guix-build-coordinator-configuration-parallel-hooks): New procedure. (make-guix-build-coordinator-start-script): Accept and use #:parallel-hooks. (guix-build-coordinator-shepherd-services): Pass parallel-hooks to make-guix-build-coordinator-start-script. * doc/guix.texi (Guix Build Coordinator): Document this new field.
2022-06-26doc: Update "updating substitutes" message.Ludovic Courtès
This is a followup to 2bf9351e311cce0004756890b93f50693f133bb6. * doc/guix.texi (Invoking guix challenge) (Invoking guix weather): Adjust "updating substitutes" message.
2022-06-24doc: Mention installation via distro packages.Ludovic Courtès
* doc/guix.texi (Binary Installation): In quotation, mention Debian, Ubuntu, and openSUSE.
2022-06-24services: configuration: Remove 'validate-configuration'.Ludovic Courtès
Now that configuration records use the 'sanitize' property for each field, 'validate-configuration' has become useless because it's impossible to construct an invalid configuration record. * gnu/services/configuration.scm (validate-configuration): Remove. * gnu/services/mail.scm (dovecot-service): Remove call. * gnu/services/vpn.scm (openvpn-client-service) (openvpn-server-service): Likewise. * doc/guix.texi (Complex Configurations): Remove documentation.
2022-06-24doc: Fix formatting of notes in multiple sections.swedebugia
* doc/guix.texi (Instantiating the system): Add suggestion to keep config.scm under version control. (Printing Services, Messaging Services) (Telephony Services, Invoking guix system): Use "@quotation Note" for notes. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-06-23doc: Fix typo.Maxim Cournoyer
* doc/guix.texi (Networking Setup): Fix typo.
2022-06-23doc: Expound description of the <package> 'arguments' field.Ludovic Courtès
* doc/guix.texi (package Reference): Augment description of the 'arguments' field.
2022-06-23doc: Remove trailing #t in example.Ludovic Courtès
* doc/guix.texi (Build Phases): Remove trailing #t in example.
2022-06-22refresh: Repurpose '-L' for '--load-path'.Ludovic Courtès
This incompatible change fixes an inconsistency with other commands where '-L' is short for '--load-path'. * guix/scripts/refresh.scm (%options): Add --load-path option from %STANDARD-BUILD-OPTIONS. Remove #\L shortcut for --list-updaters, and remove --load-path option that lacked the #\L shortcut. (show-help): Update accordingly. * doc/guix.texi (Invoking guix refresh): Update accordingly.
2022-06-19doc: Show (service ...) form in 'home-openssh-service-type' example.Ludovic Courtès
* doc/guix.texi (Secure Shell): Include the (service ...) form in the example.
2022-06-17home: Add OpenSSH service.Ludovic Courtès
* gnu/home/services/ssh.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/guix/POTFILES.in: Add it. * doc/guix.texi (Secure Shell): New section.
2022-06-17gnu: desktop: Add seatd-service-type.muradm
* gnu/services/desktop.scm (seatd-service-type): New variable * gnu/services/desktop.scm (seatd-configuration): New data type Signed-off-by: Lars-Dominik Braun <ldb@leibniz-psychology.org>
2022-06-17gnu: base: Add greetd-service-type.muradm
* gnu/services/base.scm (greetd-service-type): New variable * gnu/services/base.scm (greetd-configuration): New data type * gnu/services/base.scm (greetd-terminal-configuration): New data type * gnu/services/base.scm (greetd-agreety-session): New data type * gnu/services/base.scm (pam-limits-service-type): Should be aware of greetd PAM service * gnu/services/pam-mount.scm (pam-mount-pam-service): Should be aware of greetd PAM service Signed-off-by: Lars-Dominik Braun <ldb@leibniz-psychology.org>
2022-06-16doc: Remove obsolete comment from htmlxref.cnf.Maxim Cournoyer
This is follow up to <https://issues.guix.gnu.org/55290>. * doc/htmlxref.cnf (geiser): Delete obsolete comment.
2022-06-15doc: Use a minimal texlive profile in build.scm.Maxim Cournoyer
* doc/build.scm (pdf-manual) <texinfo-profile>: New variable. <PATH>: Define in terms of the above. <GUIX_TEXMF>: New environment variable.
2022-06-12doc: Substitute ‘copy’ for confusing ‘drop’.Tobias Geerinckx-Rice
* doc/guix.texi (Build Environment Setup): ‘drop in’ → ‘copy to’. Reported by lechner in #guix.
2022-06-15import: Add hex.pm importer.Hartmut Goebel
hex.pm is a package repository for Erlang and Elixir. * guix/scripts/import.scm (importers): Add "hexpm". * guix/scripts/import/hexpm.scm, guix/import/hexpm.scm, guix/hexpm-download.scm: New files. * guix/import/utils.scm (source-spec->object): Add "hexpm-fetch" to list of fetch methods. * guix/upstream.scm (package-update/hexpm-fetch): New function. (%method-updates) Add it. * Makefile.am: Add them.
2022-06-15build-system: Add 'rebar-build-system'.Hartmut Goebel
* guix/build-system/rebar.scm, guix/build/rebar-build-system.scm: New files. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Update rebar-build-system section.
2022-06-15doc: Follow the 'disabled -> *unspecified* configuration refactor.Attila Lendvai
* doc/guix.texi (Networking Services) (Messaging Services) (Telephony Services) (File-Sharing Services) (VPN Services) (Power Management Services) (Complex Configurations) (Desktop Home Services): Remove mentions of the 'disabled symbol or replace them by *unspecified*, depending on context. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-14doc: Document how to repair Guix System from a chroot.Maxim Cournoyer
* doc/guix.texi (System Troubleshooting Tips): New chapter.
2022-06-14services: dbus: Add a VERBOSE? configuration option.Maxim Cournoyer
* gnu/services/dbus.scm (<dbus-configuration>)[verbose?]: New field. (dbus-shepherd-service): Use it. (dbus-service)[verbose?]: Add argument and update doc. * doc/guix.texi (Desktop Services): Document it.
2022-06-13services: guix: Generalize extensions.terramorpha
* gnu/services/base.scm (<guix-extension>): New record type. (guix-extension-merge): New procedure. (guix-service-type): Honor extensions. * doc/guix.texi (Base Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-11system: Align zram priority with swap-space spec to clarify.Josselin Poiret
Fixes <https://issues.guix.gnu.org/54783>. * gnu/services/linux.scm (zram-device-configuration) [priority]: Adapt to use #f or an integer from 0 to 32767. Add sanitizer to warn for the change and delay the field. (zram-device-configuration->udev-string): Adapt as above. * doc/guix.texi (Zram Device Service): Remove double copyright line. Change priority description to refer to the Swap Space one, and suggest not leaving the default #f on to properly use zram. Reported-by: Stefan Baums <baums@stefanbaums.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-06-10services: jami-configuration: Rename 'jamid' field to 'libjami'.Maxim Cournoyer
* gnu/services/telephony.scm (gnu): (jami-configuration)[jamid]: Rename field to... [libjami]: ... this. (jami-configuration->command-line-arguments): Adjust accordingly. (jami-shepherd-services): Likewise.
2022-06-10services: jami: Modernize to adjust to Shepherd 0.9+ changes.Maxim Cournoyer
This partially fixes <https://issues.guix.gnu.org/54786>, allowing the 'jami' and 'jami-provisioning' system tests to pass again. In version 0.9.0, Shepherd constructors are now run concurrently, via cooperative scheduling (Guile Fibers). The Jami service previously relied on blocking sleeps while polling for D-Bus services to become ready after forking a process; this wouldn't work anymore since while blocking the service process wouldn't be given the chance to finish starting. The new reliance on Fibers in Shepherd's fork+exec-command in the helper 'send-dbus' procedure also meant that it wouldn't work outside of Shepherd anymore. Finally, the 'start-service' Shepherd procedure used in the test suite would cause the Jami daemon to be spawned multiple times (a bug introduced in Shepherd 0.9.0). To fix/simplify these problems, this change does the following: 1. Use the Guile AC/D-Bus library for D-Bus communication, which simplify things, such as avoiding the need to fork 'dbus-send' processes. 2. The non-blocking 'sleep' version of Fiber is used for the 'with-retries' waiting syntax. 3. A 'dbus' package variant is used to adjust the session bus configuration, tailoring it for the use case at hand. 4. Avoid start-service in the tests, preferring 'jami-service-available?' for now. * gnu/build/jami-service.scm (parse-dbus-reply, strip-quotes) (deserialize-item, serialize-boolean, dbus-dict->alist) (dbus-array->list, parse-account-ids, parse-account-details) (parse-contacts): Delete procedures. (%send-dbus-binary, %send-dbus-bus, %send-dbus-user, %send-dbus-group) (%send-dbus-debug): Delete parameters. (jami-service-running?): New procedure. (send-dbus/configuration-manager): Rename to... (call-configuration-manager-method): ... this. Turn METHOD into a positional argument. Turn ARGUMENTS into an optional argument. Invoke `call-dbus-method' instead of `send-dbus', adjusting callers accordingly. (get-account-ids, id->account-details, id->account-details) (id->volatile-account-details, username->id, add-account remove-account) (username->contacts, remove-contact, add-contact, set-account-details) (set-all-moderators, username->all-moderators?, username->moderators) (set-moderator): Adjust accordingly. (with-retries, send-dbus, dbus-available-services) (dbus-service-available?): Move to ... * gnu/build/dbus-service.scm: ... this new module. (send-dbus): Rewrite to use the Guile AC/D-Bus library. (%dbus-query-timeout, sleep*): New variables. (%current-dbus-connection): New parameter. (initialize-dbus-connection!, argument->signature-type) (call-dbus-method): New procedures. (dbus-available-services): Adjust accordingly. * gnu/local.mk (GNU_SYSTEM_MODULES): Register new module. * gnu/packages/glib.scm (dbus-for-jami): New variable. * gnu/services/telephony.scm: (jami-configuration)[dbus]: Default to dbus-for-jami. (jami-dbus-session-activation): Write a D-Bus daemon configuration file at '/var/run/jami/session-local.conf'. (jami-shepherd-services): Add the closure of guile-ac-d-bus and guile-fibers as extensions. Adjust imported modules. Remove no longer used parameters. <jami-dbus-session>: Use a PID file, avoiding the need for the manual synchronization. <jami>: Set DBUS_SESSION_BUS_ADDRESS environment variable. Poll using 'jami-service-available?' instead of 'dbus-service-available?'. * gnu/tests/telephony.scm (run-jami-test): Add needed Guile extensions. Set DBUS_SESSION_BUS_ADDRESS environment variable. Adjust all tests to use 'jami-service-available?' to determine if the service is started rather than the now problematic Shepherd's 'start-service'.
2022-06-10doc: Update example of a minimalistic home environment.Andrew Tropin
* doc/he-config-bare-bones.scm: Adujst example according to changes in bash-service-type and home-files-service-type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-05doc: Expand ‘setuid-root’-only references.Tobias Geerinckx-Rice
* doc/guix.texi (Setuid Programs, Service Reference): Don't assume setuid-root as the only possibility.
2022-06-05doc: Remove left-over MIPS.Tobias Geerinckx-Rice
* doc/guix.texi (Additional Build Options): Substitute aarch64 for MIPS.
2022-06-06bootloader: grub: Add removable grub-efi bootloader option.Karl Hallsby
For single-disk installs (external USBs) and for amnesiac UEFIs, Guix is not found using its default Grub EFI bootloader location of /boot/efi/EFI/Guix/grubx64.efi means the Guix install will not be found. To handle this, we can place the bootloader file in the UEFI specification location, overwriting any other OS that may have placed a file there. This location is namely /boot/efi/EFI/BOOT/BOOTX64.efi. Grub has explicit support for this location/situation with the `--removable` flag. * gnu/bootloader/grub.scm (install-grub-efi-removable) (grub-efi-removable-bootloader): New variables. * doc/guix.texi (Bootloader Configuration): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-05doc: Use new-style command substitution.zimoun
Follow up of beaf701d65e9f94d0539e705d6f58a65313c5655. * doc/guix.texi: Replace the shell old-style command substitution with the new-style one. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2022-06-04guix home: Add 'edit' sub-command.Ludovic Courtès
* guix/scripts/home/edit.scm: New file. * Makefile.am (MODULES): Add it. * guix/scripts/home.scm (show-help): Add "edit". (process-command): Handle it. (guix-home): Add it. * po/guix/POTFILES.in: Add 'guix/scripts/home/edit.scm'. * doc/guix.texi (Invoking guix home): Document it.