summaryrefslogtreecommitdiff
path: root/doc/guix.texi
AgeCommit message (Collapse)Author
2025-01-26services: dico: Add symbols to help users configure FreeDict with dicod.Runciter
* gnu/services/dict.scm: (dicod-freedict-database): New procedure; (%dicod-databases:freedict): new variable. * doc/guix.texi (Dictionary Service): Document them. Signed-off-by: Runciter <[email protected]> Signed-off-by: Ludovic Courtès <[email protected]> Change-Id: Id5b20e235b988953a66e0344872d1fa165c4c773
2025-01-26home: services: shepherd: Add ‘transient’ and ‘timer’ services.Ludovic Courtès
* gnu/home/services/shepherd.scm (home-shepherd-timer-service-type) (home-shepherd-transient-service-type): New variables. * doc/guix.texi (Shepherd Home Service): Document them. (Shepherd Services): Add anchor. Reviewed-by: Maxim Cournoyer <[email protected]> Change-Id: Ia4eb7cf043f4661c64f5ca81b8989a451532aa18
2025-01-26services: shepherd: Add ‘transient’ and ‘timer’.Ludovic Courtès
* gnu/services/shepherd.scm (shepherd-timer-service-type) (shepherd-transient-service-type): New variables. * doc/guix.texi (Shepherd Services): Document them. Change-Id: I9b622e7e947e7a6384c2701a313d0c7080a0a5f6
2025-01-25services: restic-backup: Implement as a Shepherd timer.Giacomo Leidi
This patch implements restic backup with Shepherd services. It is supposed not to break any existing setup. * gnu/services/backup.scm (restic-backup-job): Add Shepherd configuration options; (restic-backup-job->mcron-job): Replace with...; (restic-job-log-file): New procedure; (restic-backup-job->shepherd-service): New procedure; (restic-backup-activation): New procedure; (restic-backup-service-type): Replace mcron with Shepherd extension and add activation extension hook. * doc/guix.texi: Document it. Change-Id: I66de3b6a1cb6177f9e4ee0c2acf3013ecbcdd338 Signed-off-by: Ludovic Courtès <[email protected]>
2025-01-25guix: Add loongarch platform.Zheng Junjie
* Makefile.am (MODULES): Add loongarch platform module. * doc/guix.texi: Add documentation for loongarch platform. * guix/platforms/loongarch.scm (loongarch64-linux): New variable. Change-Id: I71b8f3cb3b2f0d9562bbbefdc1f2fc4b2dcc4fbb
2025-01-23doc: htmlxref.cnf: Fix link to The GNU Stow Manual.Tomas Volf
At the same time the reference text is adjusted. I found it confusing for link to the `Top' to be labeled `Introduction'. So let us just link to the `Introduction', it is probably what the author intended. * doc/htmlxref.cnf (stow): Add both mono and node versions. * doc/guix.texi (Essential Home Services): Link to `Introduction' node of GNU Stow's manual. Change-Id: Ib82d2eecfb655694a0af73e1aec9fcd68c3994e3 Signed-off-by: Maxim Cournoyer <[email protected]>
2025-01-22gnu: home: home-pipewire: Add extra-content to configuration.Janneke Nieuwenhuizen
This allows for setting the default sound card/device, e.g.: pcm.!default {type hw card 0 device 2} ctl.!default {type hw card 0 device 2} * gnu/home/services/sound.scm (home-pipewire-configuration)[extra-content]: New field. * gnu/home/services/sound.scm (home-pipewire-asoundrc): Append it to "asoundrc". * doc/guix.texi (Sound Home Services): Update accordingly. Change-Id: I6ecebaaab41cd7313b16a5f365c21789db65664e
2025-01-16home: Add log rotation to ‘%base-home-services’.Ludovic Courtès
* gnu/home.scm (%base-home-services): Add instance of ‘home-log-rotation-service-type’. * doc/guix.texi (Shepherd Home Service): Document it. Change-Id: I00a98da100e3a07fe409f3c44d8ab88e743a8e3e
2025-01-16home: Define ‘%base-home-services’.Ludovic Courtès
* gnu/home.scm (%base-home-services): New variable. (<home-environment>)[services]: Change default to ‘%base-home-services’. * guix/scripts/home/import.scm (manifest+configuration-files->code): Use ‘%base-home-services’ by default. * tests/home-import.scm (match-home-environment-no-services) (match-home-environment-transformations) (match-home-environment-no-services-nor-packages) (match-home-environment-bash-service) (match-home-environment-bash-service-with-alias): Adjust accordingly. * doc/he-config-bare-bones.scm: Use ‘%base-home-services’. * doc/guix.texi (Declaring the Home Environment): Add index entry for ‘%base-home-services’. Change-Id: Id95ede62b97a976aad138bfc4b63fc0bdf37c7de
2025-01-16home: services: Add log rotation service.Ludovic Courtès
* gnu/home/services/admin.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Shepherd Home Service): Document it. Change-Id: I37ac171147c236b05d6d3b226e9072ab7524dfe9
2025-01-16services: rottlog: Deprecate.Ludovic Courtès
* gnu/services/admin.scm (rottlog-service-type): Deprecate. * doc/guix.texi (Log Rotation): Add deprecation warning. Change-Id: I661666ff3de64a69ff4f4982d7f432fd575c36df
2025-01-16services: Switch from mcron + Rottlog to Shepherd’s log rotation.Ludovic Courtès
* gnu/services/admin.scm (unattended-upgrade-log-rotations): Remove. (unattended-upgrade-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/audio.scm (mpd-log-rotation): Remove. (mpd-service-type): Remove ‘rottlog-service-type’ extension. (mympd-log-rotation): Remove. (mympd-service-type): Remove rottlog-service-type’ extension. * gnu/services/base.scm (%guix-publish-log-rotations): Remove. (guix-publish-service-type): Remove ‘rottlog-service-type’ extension. (%base-services): Instantiate ‘log-rotation-service-type’ instead of ‘rottlog-service-type’. (%default-syslog-files): New variable. (syslog-service-type): Extend ‘log-rotation-service-type’. * gnu/services/cuirass.scm (cuirass-log-rotations): Remove. (cuirass-service-type): Remove ‘rottlog-service-type’ extension. (cuirass-remote-worker-log-rotations): Remove. (cuirass-remote-worker-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/file-sharing.scm (%transmission-daemon-log-rotations): Remove. (transmission-daemon-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/linux.scm (%earlyoom-log-rotation): Remove. (earlyoom-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/networking.scm (%ntp-log-rotation): Remove. (ntp-service-type): Remove ‘rottlog-service-type’ extension. (openntpd-service-type): Likewise. (%connman-log-rotation): Remove. (connman-service-type): Remove ‘rottlog-service-type’ extension. (%hostapd-log-rotation): Remove. (hostapd-service-type): Remove ‘rottlog-service-type’ extension. (%pagekite-log-rotation): Remove. (pagekite-service-type): Remove ‘rottlog-service-type’ extension. (%yggdrasil-log-rotation): Remove. (yggdrasil-service-type): Remove ‘rottlog-service-type’ extension. (%ipfs-log-rotation): Remove. (ipfs-service-type): Remove ‘rottlog-service-type’ extension. (%keepalived-log-rotation): Remove. (keepalived-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/web.scm (%hpcguix-web-log-rotations): Remove. (hpcguix-web-service-type): Remove ‘rottlog-service-type’ extension. (%mumi-log-rotations): Remove. (mumi-service-type): Remove ‘rottlog-service-type’ extension. * doc/guix.texi (Log Rotation): Adjust text regarding which one is in ‘%base-services’. Change-Id: I8802d4c2337a1e08e3c084d6217f76527d7ee1fb
2025-01-16services: unattended-upgrade: Rewrite as a Shepherd timer.Ludovic Courtès
This is a semi-incompatible change: gexps previously provided in the ‘schedule’ field will no longer work. * gnu/services/admin.scm (unattended-upgrade-mcron-jobs): Rename to… (unattended-upgrade-shepherd-services): … this. Return a list of one Shepherd service. Remove custom logging and time limitation facilities from ‘code’. (unattended-upgrade-service-type): Extend ‘shepherd-root-service-type’ instead of ‘mcron-service-type’. (<unattended-upgrade-configuration>)[services-to-restart]: Change default. * doc/guix.texi (Unattended Upgrades): Adjust ‘schedule’ and ‘services-to-restart’ documentation. Change-Id: I1b239c5946e71cf9e2af9b24fe4b01366b57fb7a
2025-01-16services: log-cleanup: Rewrite as a Shepherd timer.Ludovic Courtès
This is a semi-incompatible change: gexps previously provided in the ‘schedule’ field will no longer work. * gnu/services/admin.scm (log-cleanup-mcron-jobs): Remove. (log-cleanup-shepherd-services): New procedure. (log-cleanup-service-type): Extend SHEPHERD-ROOT-SERVICE-TYPE instead of MCRON-SERVICE-TYPE. * doc/guix.texi (Log Rotation): Adjust ‘schedule’ documentation accordingly. Change-Id: I2a3beb7dffbc9992b714a29423674db9c7dc6cab
2025-01-16services: Add ‘log-rotation-service-type’.Ludovic Courtès
* gnu/services/admin.scm (%default-log-rotation-calendar-event): New variable. (<log-rotation-configuration>): New record type. (log-rotation-shepherd-services): New procedure. (log-rotation-service-type): New variable. Change-Id: I4400035f3b6065ec147ac932110b690120d739c2
2025-01-16doc: Unattended upgrades: document module.Yarl Baudig
* doc/guix.texi (Unattended Upgrades): document module. Change-Id: I668e5e0165ff75ac6a5fe510639b976aaf779556 Signed-off-by: Ludovic Courtès <[email protected]>
2025-01-16services: Add xe-guest-utilities-service-type.Karl Hallsby
* gnu/services/virtualization.scm (xe-guest-utilities-configuration, xe-guest-utilities-service-type): New variables. * doc/guix.texi: Document them. Change-Id: Ife4e79fa6d1a9d5a21bf7479488884f2a5cf8d56 Signed-off-by: Ludovic Courtès <[email protected]>
2025-01-14doc: Remove extra closing paren.Ludovic Courtès
* doc/guix.texi (Guix Services): Remove extra paren in example. Change-Id: Ib834f98b2fbee0c6577166b4c45b747beb9f7198
2025-01-14doc: Add missing paren.Ludovic Courtès
* doc/guix.texi (Privileged Programs): Add missing paren in example. Change-Id: Iaeac91b193c475e8c18a713f7a958053372bfd76
2025-01-11services: nginx: Make log formats configurable.Leo Nikkilä
* gnu/services/web.scm (<nginx-log-format-configuration>): New record. (<nginx-configuration>)[log-format, log-formats]: New fields. (assert-valid-log-format-escape): New procedure. (emit-nginx-log-format-config): New procedure. (default-nginx-config): Make log formats configurable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Ludovic Courtès <[email protected]> Change-Id: I8a16a1a9a20f64606dac0a1e14f1c5217d351f90
2025-01-11services: dns: Add unbound service.Sören Tempel
This allows using Unbound as a local DNSSEC-enabled resolver. This commit also allows configuration of the Unbound DNS resolver via a Scheme API. The API currently provides very common options and includes an escape hatch to enable less common configurations. * gnu/service/dns.scm (unbound-serialize-field): New procedure. (unbound-serialize-alist, unbound-serialize-section) (unbound-serialize-string, unbound-serialize-boolean) (unbound-serialize-list-of-strings): New procedures. (unbound-zone): New record type. (unbound-serialize-unbound-zone) (unbound-serialize-list-of-unbound-zone): New procedures. (unbound-remote): New record type. (unbound-serialize-unbound-remote): New procedure. (unbound-server): New record type. (unbound-serialize-unbound-server): New procedure. (unbound-configuration): New record type. (unbound-config-file, unbound-shepherd-service): New procedures. (unbound-account-service): New variable. (unbound-service-type): New services. * gnu/tests/dns.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (DNS Services): Document it. Signed-off-by: Ludovic Courtès <[email protected]> Change-Id: I4c9646c9e17d4882e596d33ff8f738e1877fa1ae
2025-01-11services: cuirass: Add ‘build-expiry’ field.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-configuration>)[build-expiry]: New field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it. Change-Id: I1f9e21368437fd8fc236719e32bad7656928c926
2025-01-06services: rootless-podman-service-type: Allow not installing podman.Tomas Volf
Sometimes you would want to skip on actually installing the podman package in order to save disk space and bandwidth. Even without installing it globally, podman can still be fetched via guix shell when required. * gnu/services/containers.scm (package-or-#f?): New procedure. (rootless-podman-configuration)<podman>: Change type to package-or-#f. (rootless-podman-service-profile): Produce empty list if not podman package. * doc/guix.texi (Miscellaneous Services): Document the change. Change-Id: If533d913ea190558ce7e206d98ada4d805270594 Signed-off-by: Ludovic Courtès <[email protected]>
2025-01-06doc: Minor wording improvements of “Using TeX and LaTeX”.Ludovic Courtès
* doc/guix.texi (Using TeX and LaTeX): Tweak. Change-Id: I69d93d00b8c343f078b90f4b718948c0015bb88d
2025-01-05doc: Fix grammar.Arun Isaac
* doc/guix.texi (Mail Services): Replace binded with bound. Change-Id: Ibcef490a40711e782dd0844d8121917ca8d6c1ba
2025-01-04services: dnsmasq: Allow custom Shepherd provision45mg
Allow users to have multiple dnsmasq instances by specifying different `provision` values for the corresponding Shepherd services, similar to what is done with `static-networking-service-type`. * gnu/services/dns.scm (<dnsmasq-configuration>)[provision]: new option. (dnsmasq-shepherd-service): Use supplied provision value. * doc/guix.texi (DNS Services)[dnsmasq-configuration]: Document it. Change-Id: I78c7f015cb1db239a600bc5373b2fd80e8b9b9f4 Signed-off-by: Ludovic Courtès <[email protected]> Reviewed-by: Maxim Cournoyer <[email protected]>
2024-12-31build-system: zig: Support Zig package manager.Hilton Chain
* guix/build-system/zig.scm (zig-build,zig-cross-build) [#:install-source?,#:skip-build?]: New arguments. [#:tests?]: Honor #:skip-build?. * guix/build/zig-build-system.scm (zig-source-install-path) (zig-input-install-path,unpack-dependencies): New procedures. (%standard-phases): Add 'unpack-dependencies. (build,install): Honor #:skip-build?. * doc/guix.texi (Build Systems)[zig-build-system]: Update documentation. * gnu/packages/zig.scm (zig-0.9)[native-search-paths]: Add GUIX_ZIG_PACKAGE_PATH. Use search paths defined in (guix search-paths). (add-build.zig.zon,rename-zig-dependencies): New procedures. * gnu/packages/ncdu.scm (ncdu)[arguments]: Don't install source. * gnu/packages/zig-xyz.scm (river,tigerbeetle,zig-zls)[arguments]: Likewise.
2024-12-30services: elogind: Support hook directories.45mg
Allow the user to specify scripts to be added into Elogind's hook directories. These scripts will be run before/after suspend/hibernate/poweroff/reboot. Also allow setting the associated config options. * gnu/services/desktop.scm (elogind-configuration): add `system-sleep-hook-files`, `system-shutdown-hook-files`, and 4 new config options. (elogind-configuration-file): Add entries for the new config options under the `[Sleep]` section. (elogind-etc-directory): New procedure. (elogind-service-type): Extend `etc-service-type` using `/etc/elogind`. * doc/guix.texi (Desktop Services): Document the new options. Change-Id: I7e22cbaa9d031049b9d085ba0ce4cc8a8b4f16ff Reviewed-by: Maxim Cournoyer <[email protected]> Signed-off-by: Ludovic Courtès <[email protected]>
2024-12-30services: resize-file-system: Remove invalid default value.Ludovic Courtès
The default value of #f for the ‘file-system’ field is invalid and would trigger a type error when running ‘guix system search’. * gnu/services/admin.scm (<resize-file-system-configuration>)[file-system]: Remove default value. (resize-file-system-service-type)[default-value]: Remove. * doc/guix.texi (Miscellaneous Services): Adjust accordingly. Change-Id: If73f8923f49d38827059ba98bd53636a7f3917fe
2024-12-28reconfigure: Support loading the system for kexec reboot.Ludovic Courtès
This allows rebooting straight into the new system with ‘reboot -k’. * guix/scripts/system/reconfigure.scm (kexec-loading-program) (load-system-for-kexec): New procedures. * gnu/tests/reconfigure.scm (run-kexec-test): New procedure. (%test-upgrade-kexec): New variable. * guix/scripts/system.scm (perform-action): Add #:load-for-kexec?. Call ‘load-system-for-kexec’. (show-help, %options): Add ‘--no-kexec’. (%default-options): Add ‘load-for-kexec?’. (process-action): Honor it and pass it to ‘perform-action’. * gnu/machine/ssh.scm (deploy-managed-host): Add call to ‘load-system-for-kexec’. * doc/guix.texi (Invoking guix system): Document it. Change-Id: I86d11f1c348e4359bc9e73c86e5aebff60fe875c
2024-12-25pull: Add ‘--no-check-certificate’.Ludovic Courtès
This can be tested with: guix shell libfaketime -- faketime 2019-01-01 \ guix pull -q --no-check-certificate -p /tmp/p * guix/scripts/pull.scm (%options, show-help): Add ‘--no-check-certificate’. (%default-options): Add ‘verify-certificate?’ key. (guix-pull): Honor it. * doc/guix.texi (Invoking guix pull): Document it. Change-Id: Ia9d7af1c64156b112e86027fb637e2e02dae6e3c
2024-12-23services: syslog: Add extra-options argument to syslog service.Jean-Baptiste Note
* gnu/services/base.scm (<syslog-configuration>): Add extra-options field. (syslog-shepherd-service): Use it when running the service. * doc/guix.texi: Document it. Change-Id: I540d070b9a9678b45ec9fa28d6fdc761f9b3fd9a Signed-off-by: Ludovic Courtès <[email protected]>
2024-12-18packages: Add #:recursive? to ‘package-input-rewriting’.Ludovic Courtès
* guix/packages.scm (package-input-rewriting): Add #:recursive? [cut?]: Honor it. * tests/packages.scm ("package-input-rewriting, recursive"): New test. * doc/guix.texi (Defining Package Variants): Document it. Change-Id: Ie82f35ae0ae873dc68f8b1c0dd6616f552772e65
2024-12-18services: Add rootless-podman-service-type.Giacomo Leidi
* gnu/services/containers.scm: New file; (rootless-podman-configuration): new variable; (rootless-podman-service-subids): new variable; (rootless-podman-service-accounts): new variable; (rootless-podman-service-profile): new variable; (rootless-podman-shepherd-services): new variable; (rootless-podman-service-etc): new variable; (rootless-podman-service-type): new variable. * gnu/local.mk: Test it. * gnu/local.mk: Add them. * doc/guix.texi (Miscellaneous Services): Document it. Change-Id: I041496474c1027da353bd6852f2554a065914d7a Signed-off-by: Ludovic Courtès <[email protected]>
2024-12-18system: Add /etc/subuid and /etc/subgid support.Giacomo Leidi
This commit adds a Guix System service to handle allocation of subuid and subgid requests. Users that don't care can just add themselves as a subid-range and don't need to specify anything but their user name. Users that care about specific ranges, such as possibly LXD, can specify a start and a count. * doc/guix.texi (Miscellaneous Services): Document it. * gnu/build/activation.scm (activate-subuids+subgids): New variable. * gnu/local.mk: Add gnu/tests/shadow.scm. * gnu/system/accounts.scm (sexp->subid-range): New variable. * gnu/system/shadow.scm (%root-subid): New variable; (subids-configuration): new record; (subid-range->gexp): new variable; (assert-valid-subids): new variable; (delete-duplicate-ranges): new variable; (subids-activation): new variable; (subids-extension): new record; (append-subid-ranges): new variable; (subids-extension-merge): new variable; (subids-service-type): new variable. * gnu/tests/shadow.scm (subids): New system test. Change-Id: I3755e1c75771220c74fe8ae5de1a7d90f2376635 Signed-off-by: Giacomo Leidi <[email protected]> Signed-off-by: Ludovic Courtès <[email protected]>
2024-12-18doc: Add note on nsncd as a replacement for nscd.Lars Bilke
* doc/guix.texi Add note on nsncd in Name Service Switch section. Change-Id: Ib804ab2e7d83d13f8f81d875f957eae2304eb232 Signed-off-by: Ludovic Courtès <[email protected]>
2024-12-16services: guix-data-service: Support specifying configuration.Christopher Baines
The database contains some tables that are effectively used for configuration. This commit starts to expose these to the guix service, enabling the configuration to be handled by the service. * gnu/services/guix.scm (<guix-data-service-configuration>): Add git-repositories and build-servers. (guix-data-service-configuration-git-repositories, guix-data-service-configuration-build-servers): New procedures. (guix-data-service-shepherd-services): Add new shepherd service to setup the database. Change-Id: I519efd9157b60f18c7e80e3bdc92c0e3c5729334
2024-12-16services: Add resize-file-system-service.Richard Sent
* gnu/services/admin.scm (resize-file-system-configuration): New configuration type. (resize-file-system-shepherd-service): New procedure. (resize-file-system-service-type): New variable. * doc/guix.texi (Miscallaneous Services): Document it. Change-Id: Icae2fefc9a8d936d4c3add47520258b341f689a4 Signed-off-by: Ludovic Courtès <[email protected]>
2024-12-16packages: Use origin file names as their input labels.Ludovic Courtès
* guix/packages.scm (add-input-label): Rely on 'origin-actual-file-name' for internal inputs labels. * tests/packages.scm ("this-package-input, origin"): New test. * doc/guix.texi (package Reference): Mention origin lookup for ‘lookup-package-input’ & co. * gnu/packages/base.scm (tzdata)[inputs]: Reintroduce label. * gnu/packages/tex.scm (texlive-hyphen-complete)[inputs]: Likewise. (texlive-newverbs)[native-inputs]: Likewise. Change-Id: I6ba5352b1b1b8ab810da3730b09cb9db61d6429c Co-authored-by: Simon Tournier <[email protected]>
2024-12-15doc: Fix variable name.Ricardo Wurmus
* doc/guix.texi (Sway window manager): Replace %sway-default-execs with %sway-default-startup-programs. Change-Id: Ib848dee67a7e8083042cac45479e99f083350cf7
2024-12-15services: mingetty: Support waiting on shepherd services.Tomas Volf
For auto-login on systems with elogind, dbus-system needs to be started. This commit adds ability to express that ordering. * gnu/services/base.scm (<mingetty-configuration>): Add shepherd-requirement field. (mingetty-shepherd-service): Use it. * doc/guix.texi (Base Services)<mingetty-configuration>: Document it. Change-Id: Iedbdc4375180740379d561aa193d7c63350d2e7b Modified-by: Maxim Cournoyer <[email protected]> Signed-off-by: Maxim Cournoyer <[email protected]>
2024-12-15services: mingetty: Add additional configuration options.Tomas Volf
Not all aspects of mingetty were configurable, so this commit adds the additional configuration fields to support that. * gnu/services/base.scm (<mingetty-configuration>): Add delay, print-issue, print-hostname, nice, working-directory, root-directory fields. (mingetty-shepherd-service): Use the new fields. (define-module)<#:export>: Export the new accessors. * doc/guix.texi (Base Services)<mingetty-configuration>: Document the additional field. Change-Id: I4557a82498805ade0b341feda9d33eccc305690f
2024-12-13doc: Document new options for pyproject-build-system.Lars-Dominik Braun
* doc/guix.texi (Build Systems): Add documentation for changed #:configure-flags and new #:backend-path. Change-Id: Ic8be598ea52ae04230b1e61c329ee55ccbb5dd63
2024-12-09services: admin: Improve use of unattended-upgrade reboot? field.Richard Sent
This ensures the unattended upgrade job successfully reboots regardless of the value for services-to-restart. Previously the mcron service may be restarted which would halt script execution before the system rebooted. * gnu/services/admin.scm (unattended-upgrade-mcron-jobs): Do not restart services when reboot? is #t. * doc/guix.texi (Unattended Upgrades): Document it. Change-Id: I8e486a764ec1dc5c3090130cc447a0cc3f5a2e00 Signed-off-by: Ludovic Courtès <[email protected]>
2024-12-06services: wireguard: Support lists of gexps for most fields.Richard Sent
In order to support more flexibility in Wireguard configuration, ungexp the configuration fields directly instead of ungexp-splicing a sexp calculator. This allows for the fields to take arbitrary gexps instead of only strings which is particularly helpful for the Pre/Post Up/Down commands. * gnu/services/vpn.scm (wireguard-configuration-file): Ungexp configuration lists instead of ungexp-splicing the code surrounding them. * doc/guix.texi (VPN Services)[wireguard]: Document it. Change-Id: If074cbb78473b6fd34e0e4e990d2ed268001d6c7 Signed-off-by: Mathieu Othacehe <[email protected]>
2024-12-06services: wireguard: Add the bootstrap-private-key? field.Richard Sent
The syntax from using the private-key field is more convenient than writing a custom PreUp command (more formatting and preshared keys). Instead of trying to guess if private-key is/is not a file path, add an option to disable bootstrapping while still using private-key. * gnu/services/vpn.scm (<wireguard-configuration>): Add bootstrap-private-key?. (wireguard-activation): Check bootstrap-private-key? before bootstrapping. * doc/guix.texi (VPN Services)[wireguard]: Document it. Change-Id: I6ba71ad58b26743057a221a54a246369022f83a5 Signed-off-by: Mathieu Othacehe <[email protected]>
2024-12-06services: wireguard: Make the private-key field optional.Richard Sent
Users who retrieve the private-key via a PreUp field need to be able to disable the default retrieval mechanism. * gnu/services/vpn.scm (<wireguard-configuration>)[private-key]: Change comment. (wireguard-configuration-file): Conditionally serialize private-key. * gnu/services/vpn.scm (wireguard-activation): Do not create private-key if the field is #f. * doc/guix.texi (VPN Services)[wireguard-configuration]: Document it. Change-Id: Iac419809ae94eb76e97ff1f1749e2f4b3e65bb04 Signed-off-by: Mathieu Othacehe <[email protected]>
2024-12-03gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.Janneke Nieuwenhuizen
On commit: ec8a5ec15f898e864705e5a5c834532e3fa8d0a4 gnu: make-bootstrap: Update gcc-static to gcc-14, for the 64bit Hurd. Run: ./pre-inst-env guix build --target=x86_64-gnu bootstrap-tarballs Producing: /gnu/store/w1n7bdpn88plcc49h7n0jriaj41sgwx8-bootstrap-tarballs-0/ With guix hash -r: 15cb1xh7s2hhp8s0d81bjnw1759w9sh7ckc9n5jq2f3rqw6z76by * gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for x86_64-gnu. (%bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Add entry for x86_64-gnu. * guix/packages.scm (%supported-systems, %hurd-systems): Add x86_64-gnu. (%cuirass-supported-systems): Remove x86_64-gnu. * guix/utils.scm (target-64bit?): Add x86_64-gnu. * m4/guix.m4: Add x86_64-gnu as a supported system. * doc/guix.texi (GNU Distribution): Add x86_64-gnu. Change-Id: I828159aedb3f66caba98e935083cc3682429f219
2024-12-03system: Add "installer" sub-command.Janneke Nieuwenhuizen
* guix/scripts/system/installer.scm: New file. * Makefile.am (MODULES)[ENABLE_INSTALLER]: Register it. (MODULES_NOT_COMPILED)[!ENABLE_INSTALLER]: Likewise. * guix/scripts/system.scm (show-help): Add help for "installer" sub-command. (actions): Register "installer". (guix-system): Invoke `guix-system-installer' sub-command. * doc/guix.texi (Invoking guix system): Document it. * gnu/installer.scm (run-installer): Remove "./pre-inst env". Change-Id: I5a05b941c060682c17d45d871df3cf34e3f8643a
2024-12-02packages: 'package-input-rewriting/spec' optionally replace hidden.Greg Hogan
Commit eee95b5a879b7096dffd533f24107cf8926b621e changed package rewriting to ignore hidden packages. This patch permits the previous use by adding an option to rewrite hidden packages. * guix/packages.scm (package-input-rewriting/spec)[rewrite]: When P is hidden, return it as-is unless #:replace-hidden? has been enabled. * tests/packages.scm ("package-input-rewriting/spec, replace hidden package"): New test. * doc/guix.texi (Defining Package Variants): Update. Change-Id: I0a7988cac70e0c6b88b0fe6e27c1036fa723e030 Signed-off-by: Ludovic Courtès <[email protected]>