summaryrefslogtreecommitdiff
path: root/gnu/services/base.scm
AgeCommit message (Collapse)Author
2023-03-03services: base: Deprecate 'udev-service' procedure.Bruno Victal
* doc/guix.texi (Base Services): Replace udev-service with udev-service-type. Document <udev-configuration>. Use @defun @-commands for udev-rules-service, udev-rule and file->udev-rule. * gnu/services/base.scm (udev-service): Deprecate procedure. * gnu/system/install.scm (%installation-services): Use udev-service-type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03services: base: Deprecate 'syslog-service' procedure.Bruno Victal
* doc/guix.texi (Base Services): Replace syslog-service with syslog-service-type. * gnu/services/base.scm (%default-syslog.conf): Place before <syslog-configuration>. (syslog-service-type): Set default value. (syslog-service): Deprecate procedure. (%base-services): Use syslog-service-type. * gnu/system/hurd.scm (%base-services/hurd): Ditto. * gnu/system/install.scm (%installation-services): Ditto. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03services: base: Deprecate 'nscd-service' procedure.Bruno Victal
* doc/guix.texi (Application Setup): Compress @cindex entries. (Base Services): Compress @cindex entries. Delete %nscd-default-configuration. Replace 'nscd-service' with 'nscd-service-type'. * gnu/services/base.scm (%nscd-default-configuration): Deprecate variable. (nscd-service): Deprecate procedure. * gnu/system/install.scm (%installation-services): Use nscd-service-type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03services: base: Deprecate 'agetty-service' procedure.Bruno Victal
* doc/guix.texi (Base Services): Replace agetty-service with agetty-service-type. * gnu/services/base.scm (agetty-service): Deprecate procedure. * gnu/system/examples/beaglebone-black.tmpl (operating-system)[services]: Use agetty-service-type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03services: base: Deprecate 'mingetty-service' procedure.Bruno Victal
* doc/guix.texi (Base Services): Replace mingetty-service with mingetty-service-type. * gnu/services/base.scm (mingetty-service): Deprecate procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03services: base: Deprecate 'login-service' procedure.Bruno Victal
* doc/guix.texi (Base Services): Replace with login-service-type. * gnu/services/base.scm (login-service): Deprecate procedure. * gnu/system/install.scm (%installation-services): Use login-service-type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03services: base: Deprecate 'host-name-service' procedure.Bruno Victal
* doc/guix.texi (operating-system Reference): Reorder cross-reference. Add an anchor to be used ... (Base services): ... here by host-name-service-type. Document host-name-service-type. * gnu/services/base.scm: Export host-name-service-type. (host-name-service): Deprecate procedure. * gnu/system.scm (operating-system-default-essential-services): Use host-name-service-type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-02-25services: console-font, kmscon: Refer to native 'font-gnu-unifont' builds.Ludovic Courtès
Fixes a regression introduce in 01334a61c7541d8ae29c5252e2e5b3ed7a59c552 that would prevent system cross-compilation (with "guix system image --target=...") due to 'font-gnu-unifont' depending on 'perl-gd', which currently cannot be cross-compiled. * gnu/services/base.scm (%default-console-font, kmscon-service-type): Refer to 'font-gnu-unifont' with 'ungexp-native'.
2023-02-23services: hosts: Do not export '%host'.Ludovic Courtès
This was not meant to be exported. * gnu/services/base.scm (%host): Do not export. * doc/guix.texi (Base Services): Remove mention.
2023-02-19gnu: Use unifont by default in TTYs.Julien Lepiller
It has even better language support than LatGrkCyr-8x16 and can show fancy progress bars. * gnu/services/base.scm (%default-console-font): Use unifont.
2023-02-09services: greetd: Fix configuration serialization.Jelle Licht
* gnu/services/base.scm (make-greetd-terminal-configuration-file): Add missing 'general' section to configuration file.
2023-02-09services: Add hosts-service-type.Bruno Victal
* gnu/services/base.scm (<host>): New record type. (host): New procedure. (hosts-service-type): New variable. * doc/guix.texi (Service Reference): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-01-15services: greetd: Add 'source-profile?' configuration field.Jelle Licht
* gnu/services/base.scm (<greetd-terminal-configuration>)[source-profile?]: New field. (make-greetd-terminal-configuration-file): Serialize new field to configuration file. * doc/guix.texi (Base Services): Document it.
2023-01-09services: base: Add environment support to guix-configuration.Mathieu Othacehe
* gnu/services/base.scm (<guix-configuration>)[extra-env]: New field. (guix-shepherd-service): Honor it. * doc/guix.texi (Base Services): Document it.
2023-01-07Revert "services: base: Add extra-env support to guix-configuration."Mathieu Othacehe
This reverts commit 78a9b4f996ba18b4460ba380b87e9538007c27e0. It was pushed by error, while not reviewed yet.
2023-01-07services: base: Add extra-env support to guix-configuration.Mathieu Othacehe
* gnu/services/base.scm (<guix-configuration>)[extra-env]: New field. (guix-shepherd-service): Honor it. * doc/guix.texi (Base Services): Document it.
2022-12-20services:·kmscon:·Display·CJK·characters.Florian Pelz
Follow-up·to d7d049fdcd80e27a42b31766890f589f482a4f23. * gnu/services/base.scm·(kmscon-service-type):·Use·GNU·Unifont, which bundles CJK glyphs from WenQuanYi and elsewhere.
2022-12-19Merge branch 'version-1.4.0'Ludovic Courtès
2022-12-18services: kmsconf: Load GNU Freefont.Ludovic Courtès
This provides glyphs for additional fonts such as Amharic that were otherwise missing. Fixes <https://issues.guix.gnu.org/60164>. Reported by Wolf <wolf@wolfsden.cz>. * gnu/services/base.scm (kmscon-service-type): In 'start' method, pass #:environment-variables to set 'XDG_DATA_DIRS'.
2022-12-12Merge branch 'version-1.4.0'Ludovic Courtès
2022-12-09services: nscd: Use nscd from 'glibc-final' on native builds.Ludovic Courtès
This reduces the closure size of systems by removing one glibc copy--namely (@ (gnu packages base) glibc) in addition to (@ (gnu packages commencement) glibc-final). * gnu/services/base.scm (<nscd-configuration>)[glibc]: Change default value to use 'let-system' and 'canonical-package' as appropriate.
2022-12-08services: base: Use 'match-record' instead of 'match'.Ludovic Courtès
* gnu/services/base.scm (agetty-shepherd-service) (mingetty-shepherd-service) (nscd.conf-file) (udev-shepherd-service) (udev-etc) (gpm-shepherd-service) (network-set-up/linux) (network-tear-down/linux) (static-networking-shepherd-service) (greetd-agreety-tty-session-command) (greetd-agreety-tty-xdg-session-command): Use 'match-record' instead of 'match'. (guix-accounts): Use <guix-configuration> accessors. (udev-service-type): Use <udev-configuration> accessors.
2022-12-07services: guix-publish: Keep fewer rotated logs.Ludovic Courtès
* gnu/services/base.scm (%guix-publish-log-rotations): Add 'options' field.
2022-12-02services: base: Use 'match-record' instead of 'match'.Ludovic Courtès
* gnu/services/base.scm (agetty-shepherd-service) (mingetty-shepherd-service) (nscd.conf-file) (udev-shepherd-service) (udev-etc) (gpm-shepherd-service) (network-set-up/linux) (network-tear-down/linux) (static-networking-shepherd-service) (greetd-agreety-tty-session-command) (greetd-agreety-tty-xdg-session-command): Use 'match-record' instead of 'match'. (guix-accounts): Use <guix-configuration> accessors. (udev-service-type): Use <udev-configuration> accessors.
2022-11-18services: Add Shepherd 'configuration' action to various services.Ludovic Courtès
* gnu/services/avahi.scm (avahi-shepherd-service): Add 'actions' field. * gnu/services/base.scm (nscd-actions): Add call to 'shepherd-configuration-action'. * gnu/services/desktop.scm (upower-shepherd-service): Add 'actions' field. (elogind-shepherd-service): Likewise. * gnu/services/dict.scm (dicod-shepherd-service): Likewise. * gnu/services/networking.scm (openntpd-shepherd-service): Likewise. (tor-shepherd-service): Likewise. * gnu/services/ssh.scm (openssh-shepherd-service): Likewise. * gnu/services/web.scm (nginx-shepherd-service): Likewise. * gnu/services/xorg.scm (gdm-shepherd-service): Likewise. * gnu/tests/base.scm (run-basic-test)["nscd configuration action"]: New test. * doc/guix.texi (Services): Document it.
2022-11-09services: greetd: Add gexp compilers for sessions.( via Guix-patches via
* gnu/home/services/base.scm (make-greetd-agreety-session-command, greetd-wlgreet-sway-session-command, make-greetd-default-session-command): Remove variables. (greetd-agreety-session-compiler, greetd-wlgreet-sway-session-compiler): New gexp compilers. (greetd-terminal-configuration)[default-session-command]<sanitize>: Remove it. Signed-off-by: Andrew Tropin <andrew@trop.in>
2022-10-11gnu: base: Add greetd-wlgreet-sway-session.(
* gnu/services/base.scm (greetd-wlgreet-session): New data type. (greetd-wlgreet-sway-session): Likewise. * doc/guix.texi ("Base Services")[greetd-service-type]: Document them. Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-09-28services: Add file system utilities to profile.Brice Waegeneire
* gnu/services/base.scm (file-system-type->utilities) (file-system-utilities): New procedures. (file-system-service-type): Extend 'profile-service-type' with 'file-system-utilities'. * gnu/system.scm (boot-file-system-service): New procedure. (operating-system-default-essential-services): Use it. (%base-packages): Remove 'e2fsprogs'. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-09-08services: agetty-service-type: Add missing dash.Hilton Chain
* gnu/services/base.scm (<agetty-configuration>): Add missing dash for no-hostname? configuration. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-08-26gnu: greetd-service-type: Add supplementary groups to greeter.muradm
* gnu/services/base.scm (<greetd-configuration>) [greeter-supplementary-groups]: New field. (%greetd-accounts): Rename to... (greetd-accounts): ... this. Convert to a function that takes a config argument. Use greeter-supplementary-groups. (greetd-service-type): Adjust accordingly. * gnu/tests/desktop.scm (%minimal-services): Add test for greeter-supplementary-groups. * doc/guix.texi ("Base Services")[greetd-service-type]: Document greeter-supplementary-groups.
2022-07-01services: root-file-system: Cleanly unmount upon shutdown.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/56209>. Reported by angry rectangle <angryrectangle@cock.li>. * gnu/packages/admin.scm (shepherd-0.9)[modules, snippet]: New fields. * gnu/services/base.scm (%root-file-system-shepherd-service): In 'stop' method, remove 'call-with-blocked-asyncs'. When 'mount' throws to 'system-error, call (@ (fibers) sleep) and try again. * gnu/tests/base.scm (run-root-unmount-test): New procedure. (%test-root-unmount): New variable.
2022-06-30services: greetd: Remove unnecessary user groups.Lars-Dominik Braun
* gnu/services/base.scm (%greetd-accounts): Remove supplementary groups users, tty, input, audio. Create special user group “greeter”.
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-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-06services: syslogd: Do not fsync at each line.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/55707>. Previously Inetutils' syslogd would call 'fsync' after each line written to a file. This would significantly increase boot times on machines with slow-ish spinning HDDs, where each 'fsync' call would take between 0.1s and 0.4s (and we'd do two of them for each line, one for /var/log/messages and one for /var/log/debug). * gnu/services/base.scm (%default-syslog.conf): Add a '-' before each file name, except /var/log/secure. Change what goes to /var/log/debug.
2022-06-05services: pam-limits: Add sudo and sshd.Kiran Shila
* gnu/services/base.scm (pam-limits-service-type): Add "sudo" and "sshd" to the list. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-18services: Add more description fields.Ludovic Courtès
* gnu/services.scm (simple-service): Add 'description' field. * gnu/services/base.scm (udev-rules-service): Likewise. * gnu/system/install.scm (configuration-template-service-type): Likewise. * gnu/tests.scm (marionette-service-type): Likewise.
2022-05-02services: Make sure Shepherd destructors match constructors.Ludovic Courtès
This is a followup to b06ecc57515d4e3c8b2228e8142654e9a26ba6e1, 211fe3f66e6dfdaa64974931c458ab1d92afc182, and fd57ce267c4083fe98242caa31075d2bd62903bf. * gnu/services/base.scm (guix-publish-shepherd-service): Change 'stop' method to use 'make-systemd-destructor' when 'make-systemd-constructor' is used. * gnu/services/dict.scm (dicod-shepherd-service): Change 'stop' method to use 'make-inetd-destructor' when 'make-inetd-constructor' is used. * gnu/services/messaging.scm (bitlbee-shepherd-service): Likewise.
2022-05-01gexp: Add 'references-file'.Ludovic Courtès
* gnu/services/base.scm (references-file): Remove. * guix/gexp.scm (references-file): New procedure. * tests/gexp.scm ("references-file"): New test.
2022-04-29services: guix-publish: Use socket activation when possible.Ludovic Courtès
* gnu/services/base.scm (guix-publish-shepherd-service): Use 'make-systemd-constructor' when it's available and ADVERTISE? is false.
2022-04-04services: Add 'log-cleanup' service to '%base-services' for build logs.Ludovic Courtès
* gnu/services/base.scm (%base-services): Add 'log-cleanup-service-type' instance. * doc/guix.texi (Log Rotation): Add example and mention '%base-services'.
2022-03-10services: guix: Add 'generate-substitute-key?' field.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[generate-substitute-key?]: New field. (guix-activation): Honor it. * doc/guix.texi (Base Services): Document it.
2022-02-25agetty-shepherd-service: Rename console agetty to "term-console" for clarity.Danny Milosavljevic
* gnu/services/base.scm (agetty-shepherd-service)[provision]: Rename console agetty to "term-console".
2022-02-25services: %base-services: Adapt agetty-service-type to depend on syslogdDanny Milosavljevic
Fixes <https://issues.guix.gnu.org/30464>. * gnu/services/base.scm (%base-services): Reorder syslog-service for clarity. [shepherd-requirement]: New field.
2022-02-25services: agetty: Add shepherd-requirement.Danny Milosavljevic
* gnu/services/base.scm (<agetty-configuration>): Add shepherd-requirement. * doc/guix.texi (agetty-configuration): Document it.
2022-02-20services: udev: Use a fixed location for the rules directory and config.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/47681>. This change adjusts the location of the udev configuration file and rules directory to a fixed location. Since udev relies on inotify to discover change to its rules directory (/etc/udev/rules.d), by using a fixed directory layout, new udev rules can be automatically picked up without restarting the service. * gnu/services/base.scm (udev-rules-union): Build rules output directly in #$output. (udev-shepherd-service)[start]: Adjust the UDEV_CONFIG_FILE and EUDEV_RULES_DIRECTORY environment variables. [actions]: Remove field. The 'rules' action is no longer useful. (udev.conf): New variable. (udev-etc): New procedure. (udev-service-type): Extend the etc-service-type with it.
2022-01-20services: guix-publish: Add negative-ttl parameter.Guillaume Le Vaillant
* gnu/services/base.scm (guix-publish-configuration): Add 'negative-ttl' field. (guix-publish-sheperd-service): Process it. * doc/guix.texi (Base Services)[guix-publish-service-type]: Add item for negative-ttl.
2022-01-18daemon: Always default to gzip for log compression.Ludovic Courtès
* nix/libstore/globals.cc (Settings::Settings): Have 'logCompression' default to COMPRESSION_GZIP unconditionally. * gnu/services/base.scm (<guix-configuration>)[log-compression]: Default to 'gzip. * doc/guix.texi (Invoking guix-daemon, Base Services): Adjust accordingly.
2022-01-16services: guix: Add tar and gzip to PATH.Timothy Sample
* gnu/services/base.scm (guix-shepherd-service): Add the PATH environment-variable and populate it with tar and gzip.
2022-01-08services: networking: Add netmask to loopback address.Ludovic Courtès
Previously, we would get a fishy 127.0.0.1/0 interface: $ ip a show dev lo 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet 127.0.0.1/0 scope global lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever With this change, we get nothing but the "/8" version: $ ip a show dev lo 1: lo: <LOOPBACK,MULTICAST,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope global lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever Reported by Yann Dupont <Yann.Dupont@univ-nantes.fr>. * gnu/services/base.scm (assert-valid-address): Remove special cases for 127.0.0.1 and ::1. (%loopback-static-networking): Add "/8".