summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Expand)Author
2022-07-17Revert "guix gc: '--delete-generations' now deletes old Home generations."...This reverts commit ba22560627f848f40891a56355ff26b6de1380bc. Tobias Geerinckx-Rice
2022-07-23doc: Clarify "Replicating Guix" section....* doc/guix.texi (Specifying Additional Channels): Replace 'guix pull --list-generations' example with 'guix describe'. (Replicating Guix): Rewrite to insist on 'guix describe', to include an example capturing channels and another one restoring them, and mention "lock files". Ludovic Courtès
2022-07-23guix gc: '--delete-generations' now deletes old Home generations....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. Ludovic Courtès
2022-07-19import: Enable recursive import for texlive packages....* 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. Ricardo Wurmus
2022-07-19system: Add -I, --list-installed option....* 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> Antero Mejr
2022-07-19home: Add -I, --list-installed option....* 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> Antero Mejr
2022-07-18doc: Fix the example of "Run `make` automatically"...* doc/contributing.texi (Running Guix Before It Is Installed): add missing command separator '--'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Rostislav Svoboda
2022-07-18doc: Tweak....* doc/guix.texi (Using Guix Interactively): Add @cindex commands. Add missing word. Ludovic Courtès
2022-07-15monad-repl: Add "build", "lower", and "verbosity" commands....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'. Ludovic Courtès
2022-07-14doc: Add example of 'bash-extension'....* doc/guix.texi (Shells Home Services): Add 'bash-extension' example. Ludovic Courtès
2022-07-13doc: Prefer "guix show" over "guix package --show"....* doc/contributing.texi (Synopses and Descriptions): Use "guix show" instead of "guix package --show". Ludovic Courtès
2022-07-12gnu: home: Add Guix channels service....* 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> Reily Siegel
2022-07-11doc: Fix cross-reference to Git Info manual....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. Maxim Cournoyer
2022-07-08doc: cookbook: Link to "A Scheme Primer"....* doc/guix-cookbook.texi (A Scheme Crash Course): Link to "A Scheme Primer". Group references in @quotation for clarity. Ludovic Courtès
2022-07-08doc: cookbook: Suggest 'guix shell'....* doc/guix-cookbook.texi (A Scheme Crash Course): Suggest 'guix shell' instead of 'guix environment'. (Customizing the Kernel, The benefits of manifests): Likewise. Ludovic Courtès
2022-07-07doc: Document the documentation process....* 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> jgart
2022-07-05doc: Document the 'validate-runpath' phase....* 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. Ludovic Courtès
2022-07-04style: Add option '--list-stylings'....* guix/scripts/style.scm (show-stylings): New procedure. (%options, show-help): Add "--list-stylings". * doc/guix.texi (Invoking guix style): Document "-l". Hartmut Goebel
2022-07-03services: Add anonip-service-type....* 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. Ricardo Wurmus
2022-07-03challenge: Do nothing when passed zero arguments....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. Ludovic Courtès
2022-07-01services: nginx: Add support for extra content in upstream blocks....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. Christopher Baines
2022-07-01services: guix: Support guix-build-coordinator parallel hooks....* 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. Christopher Baines
2022-06-26doc: Update "updating substitutes" message....This is a followup to 2bf9351e311cce0004756890b93f50693f133bb6. * doc/guix.texi (Invoking guix challenge) (Invoking guix weather): Adjust "updating substitutes" message. Ludovic Courtès
2022-06-24doc: Mention installation via distro packages....* doc/guix.texi (Binary Installation): In quotation, mention Debian, Ubuntu, and openSUSE. Ludovic Courtès
2022-06-24services: configuration: Remove 'validate-configuration'....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. Ludovic Courtès
2022-06-24doc: Fix formatting of notes in multiple sections....* 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> swedebugia
2022-06-23doc: Fix typo....* doc/guix.texi (Networking Setup): Fix typo. Maxim Cournoyer
2022-06-23doc: Expound description of the <package> 'arguments' field....* doc/guix.texi (package Reference): Augment description of the 'arguments' field. Ludovic Courtès
2022-06-23doc: Remove trailing #t in example....* doc/guix.texi (Build Phases): Remove trailing #t in example. Ludovic Courtès
2022-06-22refresh: Repurpose '-L' for '--load-path'....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. Ludovic Courtès
2022-06-19doc: Show (service ...) form in 'home-openssh-service-type' example....* doc/guix.texi (Secure Shell): Include the (service ...) form in the example. Ludovic Courtès
2022-06-17home: Add OpenSSH service....* 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. Ludovic Courtès
2022-06-17gnu: desktop: Add seatd-service-type....* 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> muradm
2022-06-17gnu: base: Add greetd-service-type....* 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> muradm
2022-06-16doc: Remove obsolete comment from htmlxref.cnf....This is follow up to <https://issues.guix.gnu.org/55290>. * doc/htmlxref.cnf (geiser): Delete obsolete comment. Maxim Cournoyer
2022-06-15doc: Use a minimal texlive profile in build.scm....* doc/build.scm (pdf-manual) <texinfo-profile>: New variable. <PATH>: Define in terms of the above. <GUIX_TEXMF>: New environment variable. Maxim Cournoyer
2022-06-12doc: Substitute ‘copy’ for confusing ‘drop’....* doc/guix.texi (Build Environment Setup): ‘drop in’ → ‘copy to’. Reported by lechner in #guix. Tobias Geerinckx-Rice
2022-06-15import: Add hex.pm importer....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. Hartmut Goebel
2022-06-15build-system: Add 'rebar-build-system'....* 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. Hartmut Goebel
2022-06-15doc: Follow the 'disabled -> *unspecified* configuration refactor....* 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> Attila Lendvai
2022-06-14doc: Document how to repair Guix System from a chroot....* doc/guix.texi (System Troubleshooting Tips): New chapter. Maxim Cournoyer
2022-06-14services: dbus: Add a VERBOSE? configuration option....* 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. Maxim Cournoyer
2022-06-13services: guix: Generalize extensions....* 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> terramorpha
2022-06-11system: Align zram priority with swap-space spec to clarify....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> Josselin Poiret
2022-06-10services: jami-configuration: Rename 'jamid' field to 'libjami'....* gnu/services/telephony.scm (gnu): (jami-configuration)[jamid]: Rename field to... [libjami]: ... this. (jami-configuration->command-line-arguments): Adjust accordingly. (jami-shepherd-services): Likewise. Maxim Cournoyer
2022-06-10services: jami: Modernize to adjust to Shepherd 0.9+ changes....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'. Maxim Cournoyer
2022-06-10doc: Update example of a minimalistic home environment....* 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> Andrew Tropin
2022-06-05doc: Expand ‘setuid-root’-only references....* doc/guix.texi (Setuid Programs, Service Reference): Don't assume setuid-root as the only possibility. Tobias Geerinckx-Rice
2022-06-05doc: Remove left-over MIPS....* doc/guix.texi (Additional Build Options): Substitute aarch64 for MIPS. Tobias Geerinckx-Rice
2022-06-06bootloader: grub: Add removable grub-efi bootloader option....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> Karl Hallsby