summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* gnu: Add miniflux-service-type.add-miniflux-serviceRodion Goritskov32 hours1-0/+18
| | | | | | | * gnu/services/feed.scm (miniflux-service-type): New variable. * gnu/tests/feed.scm (%test-miniflux): Add test. Change-Id: I4a336e677ec8b46aed632f0ded9cc11c2d38975f
* home: Add log rotation to ‘%base-home-services’.Ludovic Courtès33 hours1-0/+2
| | | | | | | | * 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
* home: Define ‘%base-home-services’.Ludovic Courtès33 hours2-13/+15
| | | | | | | | | | | | | | | | | * 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
* home: services: Add log rotation service.Ludovic Courtès33 hours1-0/+15
| | | | | | | | * 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
* services: rottlog: Deprecate.Ludovic Courtès33 hours1-0/+7
| | | | | | | * gnu/services/admin.scm (rottlog-service-type): Deprecate. * doc/guix.texi (Log Rotation): Add deprecation warning. Change-Id: I661666ff3de64a69ff4f4982d7f432fd575c36df
* services: Switch from mcron + Rottlog to Shepherd’s log rotation.Ludovic Courtès33 hours1-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* services: unattended-upgrade: Rewrite as a Shepherd timer.Ludovic Courtès33 hours1-6/+7
| | | | | | | | | | | | | | | | | | 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
* services: log-cleanup: Rewrite as a Shepherd timer.Ludovic Courtès33 hours1-2/+3
| | | | | | | | | | | | | | 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
* services: Add ‘log-rotation-service-type’.Ludovic Courtès33 hours1-4/+78
| | | | | | | | | | * 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
* doc: Unattended upgrades: document module.Yarl Baudig43 hours1-4/+4
| | | | | | | * doc/guix.texi (Unattended Upgrades): document module. Change-Id: I668e5e0165ff75ac6a5fe510639b976aaf779556 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: Add xe-guest-utilities-service-type.Karl Hallsby43 hours1-0/+71
| | | | | | | | | * 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 <ludo@gnu.org>
* doc: Remove extra closing paren.Ludovic Courtès4 days1-1/+1
| | | | | | * doc/guix.texi (Guix Services): Remove extra paren in example. Change-Id: Ib834f98b2fbee0c6577166b4c45b747beb9f7198
* doc: Add missing paren.Ludovic Courtès4 days1-1/+1
| | | | | | * doc/guix.texi (Privileged Programs): Add missing paren in example. Change-Id: Iaeac91b193c475e8c18a713f7a958053372bfd76
* services: nginx: Make log formats configurable.Leo Nikkilä6 days1-3/+37
| | | | | | | | | | | | * 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 <ludo@gnu.org> Change-Id: I8a16a1a9a20f64606dac0a1e14f1c5217d351f90
* services: dns: Add unbound service.Sören Tempel6 days1-0/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <ludo@gnu.org> Change-Id: I4c9646c9e17d4882e596d33ff8f738e1877fa1ae
* doc: cookbook: Update "Build system arguments" section.Marco Rimoldi6 days1-14/+23
| | | | | | | | | | * doc/guix-cookbook.texi (Build system arguments) Remove recommendation on phase return value. Ensure code examples can run and are up-to-date. Change-Id: I143babf79983751578d6d4e20b20195ea000656d Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: cuirass: Add ‘build-expiry’ field.Ludovic Courtès6 days1-0/+4
| | | | | | | | | * 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
* services: rootless-podman-service-type: Allow not installing podman.Tomas Volf12 days1-1/+2
| | | | | | | | | | | | | | 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 <ludo@gnu.org>
* doc: Minor wording improvements of “Using TeX and LaTeX”.Ludovic Courtès12 days1-6/+6
| | | | | | * doc/guix.texi (Using TeX and LaTeX): Tweak. Change-Id: I69d93d00b8c343f078b90f4b718948c0015bb88d
* doc: Fix grammar.Arun Isaac13 days1-2/+2
| | | | | | * doc/guix.texi (Mail Services): Replace binded with bound. Change-Id: Ibcef490a40711e782dd0844d8121917ca8d6c1ba
* services: dnsmasq: Allow custom Shepherd provision45mg13 days1-0/+4
| | | | | | | | | | | | | | 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 <ludo@gnu.org> Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* doc: contributing: Add guidance on reverting commits.Christopher Baines14 days1-0/+14
| | | | | | | | | Particularly to cover the case where things might need to happen with the build farms if changes are reverted. * doc/contributing.texi (Commit Access): Add guidance on reverting commits. Change-Id: Iba320b76b0927b693c75054b5473a50bdd77c7ee
* doc: Fix markup.Florian Pelz2025-01-011-1/+1
| | | | | | * doc/guix-cookbook.texi (Upgrade Postgres for Cuirass): Escape '@'. Change-Id: Ifb34a20d107721df0523c343259e598503c87afb
* build-system: zig: Support Zig package manager.Hilton Chain2024-12-311-11/+24
| | | | | | | | | | | | | | | | | * 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.
* services: elogind: Support hook directories.45mg2024-12-301-0/+27
| | | | | | | | | | | | | | | | | | | | | 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 <maxim.cournoyer@gmail.com> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: resize-file-system: Remove invalid default value.Ludovic Courtès2024-12-301-1/+1
| | | | | | | | | | | | 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
* reconfigure: Support loading the system for kexec reboot.Ludovic Courtès2024-12-281-1/+10
| | | | | | | | | | | | | | | | | | | 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
* pull: Add ‘--no-check-certificate’.Ludovic Courtès2024-12-251-0/+8
| | | | | | | | | | | | | | | 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
* services: syslog: Add extra-options argument to syslog service.Jean-Baptiste Note2024-12-231-0/+3
| | | | | | | | | | * 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 <ludo@gnu.org>
* packages: Add #:recursive? to ‘package-input-rewriting’.Ludovic Courtès2024-12-181-1/+5
| | | | | | | | | * 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
* services: Add rootless-podman-service-type.Giacomo Leidi2024-12-181-0/+110
| | | | | | | | | | | | | | | | | * 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 <ludo@gnu.org>
* system: Add /etc/subuid and /etc/subgid support.Giacomo Leidi2024-12-181-0/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <goodoldpaul@autistici.org> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Add note on nsncd as a replacement for nscd.Lars Bilke2024-12-181-0/+8
| | | | | | | * doc/guix.texi Add note on nsncd in Name Service Switch section. Change-Id: Ib804ab2e7d83d13f8f81d875f957eae2304eb232 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Document naming convention for work-in-progress branches.Maxim Cournoyer2024-12-161-0/+11
| | | | | | * doc/contributing.texi (Managing Patches and Branches): Extend doc. Change-Id: I12253a81fe7c954734e68eba08eb5e8c8a434faa
* services: guix-data-service: Support specifying configuration.Christopher Baines2024-12-161-0/+6
| | | | | | | | | | | | | | | 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
* services: Add resize-file-system-service.Richard Sent2024-12-161-0/+54
| | | | | | | | | | | * 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 <ludo@gnu.org>
* packages: Use origin file names as their input labels.Ludovic Courtès2024-12-161-2/+6
| | | | | | | | | | | | | | * 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 <zimon.toutoune@gmail.com>
* doc: Fix variable name.Ricardo Wurmus2024-12-151-2/+2
| | | | | | | * doc/guix.texi (Sway window manager): Replace %sway-default-execs with %sway-default-startup-programs. Change-Id: Ib848dee67a7e8083042cac45479e99f083350cf7
* services: mingetty: Support waiting on shepherd services.Tomas Volf2024-12-151-0/+20
| | | | | | | | | | | | | | 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 <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* services: mingetty: Add additional configuration options.Tomas Volf2024-12-151-1/+27
| | | | | | | | | | | | | | 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
* doc: Document new options for pyproject-build-system.Lars-Dominik Braun2024-12-131-0/+12
| | | | | | | * doc/guix.texi (Build Systems): Add documentation for changed #:configure-flags and new #:backend-path. Change-Id: Ic8be598ea52ae04230b1e61c329ee55ccbb5dd63
* doc: cookbook: Document postgres upgrade for cuirass.Gabriel Wicki2024-12-121-0/+103
| | | | | | | | * doc/guix-cookbook.texi(System Management): New chapter. [Upgrade Postgres for Cuirass] New node. Change-Id: I23aae16b1f50b6c40c56b78712dfd6eae3834761 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: admin: Improve use of unattended-upgrade reboot? field.Richard Sent2024-12-091-0/+4
| | | | | | | | | | | | | 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 <ludo@gnu.org>
* services: wireguard: Support lists of gexps for most fields.Richard Sent2024-12-061-8/+14
| | | | | | | | | | | | | | 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 <othacehe@gnu.org>
* services: wireguard: Add the bootstrap-private-key? field.Richard Sent2024-12-061-0/+19
| | | | | | | | | | | | | | | 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 <othacehe@gnu.org>
* services: wireguard: Make the private-key field optional.Richard Sent2024-12-061-1/+3
| | | | | | | | | | | | | | | 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 <othacehe@gnu.org>
* doc: contributing: Remove --base=autoEkaitz Zarraga2024-12-031-2/+2
| | | | | | | * doc/contributing.texi(Sending a Patch Series): Remove --base=auto from examples Change-Id: Idd421f9d6b592d6a314edfaa66404dee4c1b2241
* doc: Explain `git format-patch` revision formatEkaitz Zarraga2024-12-031-0/+12
| | | | | | | * doc/contributing.texi(Sending a Patch Series): Add a note about `git format-patch` revision format and link to git documentation. Change-Id: Ie08f85dc19e3804165fb184664b74e85a804d7c4
* gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.Janneke Nieuwenhuizen2024-12-031-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* system: Add "installer" sub-command.Janneke Nieuwenhuizen2024-12-031-0/+17
| | | | | | | | | | | | | * 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