summary refs log tree commit diff
path: root/doc/guix.texi
AgeCommit message (Collapse)Author
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-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-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.
2022-06-04guix system: Add 'edit' sub-command.Ludovic Courtès
* guix/scripts/system/edit.scm: New file. * Makefile.am (MODULES): Add it. * guix/scripts/system.scm (show-help): Mention "edit". (actions): Add it. (process-command): Handle it. * doc/guix.texi (Invoking guix system): Document it. * po/guix/POTFILES.in: Add guix/scripts/system/edit.scm.
2022-06-04doc: Capitalize and tweak cross-compilation-related node names.Ludovic Courtès
* doc/guix.texi (Using cross-compilation): Rename to... (Cross-Compilation): ... this. (Using native builds): Rename to... (Native Builds): ... this. Adjust menus accordingly.
2022-05-31gnu: Remove wicd.Maxim Cournoyer
The last release is from 2017, stuck on Python 2. * gnu/packages/wicd.scm: Delete file. * gnu/packages/patches/wicd-bitrate-none-fix.patch: Delete file. * gnu/packages/patches/wicd-get-selected-profile-fix.patch: Likewise. * gnu/packages/patches/wicd-urwid-1.3.patch: Likewise. * gnu/packages/patches/wicd-wpa2-ttls.patch: Likewise. * gnu/local.mk: De-register them. * gnu/services/networking.scm: Remove wicd service... * doc/guix.texi: ... and its documentation. * gnu/system/linux-container.scm (containerized-operating-system) <services-to-drop>: Remove wicd-service-type.
2022-05-22doc: Fix typos.Tobias Geerinckx-Rice
* doc/guix.texi (Guix Services): Fix ‘coresponding’ typo. (Using cross-compilation): Fix ‘mecanism’ typo. (Desktop Services): Fix ‘superceeded’ typo. * doc/contributing.texi (Translating Guix): Fix ‘everytime’ typo.
2022-05-25platforms: Remove the s390x platform.Mathieu Othacehe
Turns out this platform doesn't have a bootstrap tarball and should be considered as not supported for now. * guix/platforms/s390.scm: Remove it. * Makefile.am (MODULES): Adapt it. * doc/guix.texi (Foreign Architectures): Ditto.
2022-05-25gnu: guix-build-coordinator: Update to 0-53.3de63f1.Christopher Baines
* gnu/packages/package-management.scm (guix-build-coordinator): Update to 0-53.3de63f1. * gnu/services/guix.scm (guix-build-coordinator-queue-builds-configuration-guix-data-service-build-server-id): New procedure. (guix-build-coordinator-queue-builds-shepherd-services): Use the guix-data-service-build-server-id. * doc/guix.texi (Guix Build Coordinator): Document the new queue builds configuration field.
2022-05-25doc: Improve the Foreign Architectures section.Mathieu Othacehe
* doc/guix.texi (Foreign Architectures): Capitalize the chapter title, remove most of "GNU Guix" occurences and other small improvements.
2022-05-25Move (gnu platform) and (gnu platforms ...) to guix/.Josselin Poiret
* gnu/platform.scm: * gnu/platforms/arm.scm: * gnu/platforms/hurd.scm: * gnu/platforms/mips.scm: * gnu/platforms/powerpc.scm: * gnu/platforms/riscv.scm: * gnu/platforms/s390.scm: * gnu/platforms/x86.scm: Move to guix/. * Makefile.am: * doc/guix.texi (Porting to a New Platform): * etc/release-manifest.scm: * gnu/ci.scm: * gnu/image.scm: * gnu/local.mk: * gnu/packages/bioinformatics.scm: * gnu/packages/bootstrap.scm: * gnu/packages/cross-base.scm: * gnu/packages/instrumentation.scm: * gnu/packages/linux.scm: * gnu/system/image.scm: * gnu/system/images/hurd.scm: * gnu/system/images/novena.scm: * gnu/system/images/pine64.scm: * gnu/system/images/pinebook-pro.scm: * gnu/system/images/rock64.scm: * guix/scripts/build.scm: * guix/scripts/system.scm: * guix/self.scm: Update (gnu platform...) to (guix platform...). Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-05-22doc: Add a 'Foreign architectures' chapter.Mathieu Othacehe
* doc/guix.texi ("Foreign architectures"): New chapter.
2022-05-22linux: Remove system->linux-architecture procedure.Mathieu Othacehe
* gnu/packages/linux.scm (system->linux-architecture): Remove it. (make-linux-libre-headers*, make-linux-libre*): Adapt them. * guix/build-system/linux-module.scm (system->arch): Adapt it. * gnu/packages/instrumentation.scm (uftrace): Ditto. * gnu/packages/cross-base.scm (cross-kernel-headers): Ditto. * gnu/packages/bioinformatics.scm (ncbi-vdb): Ditto. * doc/guix.texi (Porting to a new platform): Update it.
2022-05-22scripts: Add --list-systems and --list-targets options.Mathieu Othacehe
Also factorize the --system and --target build options. Check that the passed system and target arguments are known platforms. * doc/guix.texi (Additional Build Options): Document the new --list-systems and --list-targets options. * guix/scripts/build.scm (show-cross-build-options-help, show-emulated-build-options-help, list-systems, list-targets): New procedures. (%standard-cross-build-options, %standard-emulated-build-options): New variables. (show-help): Remove --system and --target entries and use show-cross-build-options-help and show-emulated-build-options-help procedures instead. (%options): Remove --system and --target entries and use %standard-cross-build-options and %standard-emulated-build-options variables instead. * guix/scripts/archive.scm (show-help, %options): Adapt them. * guix/scripts/environment.scm: Ditto. * guix/scripts/graph.scm: Ditto. * guix/scripts/pack.scm: Ditto. * guix/scripts/pull.scm: Ditto. * guix/scripts/size.scm: Ditto. * guix/scripts/weather.scm: Ditto. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-05-22gnu: Add elm-todomvc.Philip McGrath
* gnu/packages/elm.scm (elm-todomvc): New variable. * doc/guix.texi (Build Systems)[elm-build-system]: Mention it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-22gnu: elm: Support 'elm reactor'.Philip McGrath
* gnu/packages/elm.scm (elm): Rename to ... (elm-sans-reactor): ... this new variable. [synopsis, description]: Tweak. (elm): New variable. * guix/build-system/elm.scm (default-elm): Use elm-sans-reactor. * doc/guix.texi (Build Systems)[elm-build-system]: Update accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-22import: Add Elm importer.Philip McGrath
* guix/import/elm.scm, guix/scripts/import/elm.scm: New files. * Makefile.am (MODULES): Add them. * guix/scripts/import.scm (importers): Add "elm". * doc/guix.texi (Invoking guix import): Document Elm importer. * doc/contributing.texi (Elm Packages): Mention it. * tests/elm.scm ("(guix import elm)"): New test group. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-22guix: Add elm-build-system.Philip McGrath
* gnu/packages/patches/elm-offline-package-registry.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/elm.scm (elm): Use it. * guix/build-system/elm.scm, guix/build/elm-build-system.scm, tests/elm.scm: New files. * Makefile.scm (MODULES, SCM_TESTS): Add them. * doc/guix.texi (Build Systems): Document 'elm-build-system'. * doc/contributing.texi (Elm Packages): New section. Document naming conventions and utilities. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-15doc: Remove duplicate sddm-configuration.Tobias Geerinckx-Rice
* doc/guix.texi (X Window): Remove duplicate sddm-configuration @deftp, after merging the better parts into the remaining one. Reported by dgcampea in #guix.
2022-05-17doc: Clarify guix shell's DWIM behaviour.Liliana Marie Prikler
* doc/guix.texi ("Invoking guix shell"): Document the exact behaviour, that is which flags go together with which file names.
2022-05-16doc: Fix typos in the "Channels" chapter.Ludovic Courtès
* doc/guix.texi (Using a Custom Guix Channel) (Replicating Guix): Fix typos.
2022-05-13search-paths: Define $SSL_CERT_DIR and $SSL_CERT_FILE.Maxime Devos
For the ‘why’, see the docstring next to $SSL_CERT_DIR. In later commits, packages will be changed to use these variables and the variables will be added to more packages. * guix/search-paths.scm ($SSL_CERT_DIR, $SSL_CERT_FILE): New variables. * doc/guix.texi (Search Paths): Document them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-13doc: Add "Writing Manifests" node.Ludovic Courtès
* doc/guix.texi (Invoking guix package): Remove explanation of 'specifications->manifest' and 'package->development-manifest'. Link to "Writing Manifests". (Inferiors): Likewise. (Invoking guix shell): Add anchor and link to 'package->development-manifest'. (Invoking guix pack): Likewise. (Writing Manifests): New section. (Using TeX and LaTeX): Link to "Writing Manifests".
2022-05-08doc: Avoid leading ‘But’.Tobias Geerinckx-Rice
* doc/guix.texi (Manual Installation): End sentence later.
2022-04-22services: nar-herder: Allow specifying the log level.Christopher Baines
* gnu/services/guix.scm (nar-herder-configuration-log-level): New procedure. (nar-herder-shepherd-services): Pass the log-level to the nar-herder process. * doc/guix.texi (Nar Herder): Document configuring the log-level.
2022-04-14daemon: Support systemd-style socket activation.Ludovic Courtès
* nix/nix-daemon/guix-daemon.cc (SD_LISTEN_FDS_START): New macro. (systemd_activation_sockets): New function. (main): Use it. Remove obsolete 'printMsg' call. * doc/guix.texi (Invoking guix-daemon): Document socket activation.