summary refs log tree commit diff
path: root/gnu/services/base.scm
AgeCommit message (Collapse)Author
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".
2021-12-21services: static-networking: Enable multicast by default.Mathieu Othacehe
Fixes: <https://issues.guix.gnu.org/52520>. * gnu/services/base.scm (network-set-up/linux): Enable it.
2021-12-20services: static-networking: Sanitize <network-address> values.Ludovic Courtès
This makes sure users do not mistakenly configuring a network with "/0" as its netmask. * gnu/services/base.scm (assert-valid-address): New procedure. (<network-address>)[value]: Add it as 'sanitize'.
2021-12-12services: Define '%loopback-static-networking'.Ludovic Courtès
* gnu/services/base.scm (%loopback-static-networking): New variable. (%base-services): Use it. * gnu/system/hurd.scm (%base-services/hurd): Use it. * gnu/system/install.scm (%installation-services): Use it. * doc/guix.texi (Networking Setup): Document it.
2021-12-12services: Define '%qemu-static-networking'.Ludovic Courtès
* gnu/services/base.scm (%qemu-static-networking): New variable. * gnu/system/hurd.scm (%base-services/hurd): Use it. * doc/guix.texi (Networking Setup): Document it.
2021-12-12services: static-networking: Change interface to mimic netlink.Ludovic Courtès
* gnu/services/base.scm (<static-networking>)[interface, ip, netmask] [gateway]: Remove. [addresses, links, routes]: New fields. [requirement]: Default to '(udev). (<network-address>, <network-link>, <network-route>): New record types. (ensure-no-separate-netmask, %ensure-no-separate-netmask): Remove. (ipv6-address?, cidr->netmask, ip+netmask->cidr) (network-set-up/hurd, network-tear-down/hurd) (network-set-up/linux, network-tear-down/linux) (static-networking->hurd-pfinet-options): New procedures. (static-networking-shepherd-service): New procedure. (static-networking-shepherd-services): Rewrite in terms of the above. (static-networking-service): Deprecate. Adjust to new 'static-networking' API. (%base-services): Likewise. * gnu/system/install.scm (%installation-services): Likewise. * gnu/system/hurd.scm (%base-services/hurd): Likewise, and separate 'loopback' from 'networking'. * gnu/build/hurd-boot.scm (set-hurd-device-translators): Remove "servers/socket/2". * gnu/tests/networking.scm (run-openvswitch-test)["networking has started on ovs0"]: Check for 'networking instead of 'networking-ovs0, which is no longer provided. * doc/guix.texi (Networking Setup): Document the new interface. Remove documentation of 'static-networking-service'. (Virtualization Services): Change Ganeti example to use the new interface.
2021-12-12services: static-networking: Use Guile-Netlink on GNU/Linux.Ludovic Courtès
* gnu/services/base.scm (static-networking-shepherd-service): Define 'set-up-via-ioctl', 'tear-down-via-ioctl', 'set-up-via-netlink', 'tear-down-via-netlink', and 'helpers' and use them in 'start' and 'stop'. Add (ip *) modules to 'modules'.
2021-11-30services: Accept <inferior-package>s in lieu of <package>s.Tobias Geerinckx-Rice
* gnu/services/authentication.scm (fprintd-configuration) (nslcd-configuration): Substitute file-like objects for package ones. * gnu/services/cgit.scm (cgit-configuration, opaque-cgit-configuration): Likewise. * gnu/services/cups.scm (package-list?, cups-configuration): Likewise. * gnu/services/dns.scm (verify-knot-configuration) (ddclient-configuration): Likewise. * gnu/services/docker.scm (docker-configuration): Likewise. * gnu/services/file-sharing.scm (transmission-daemon-configuration): Likewise. * gnu/services/getmail.scm (getmail-configuration): Likewise. * gnu/services/mail.scm (dovecot-configuration) (opaque-dovecot-configuration): Likewise. * gnu/services/messaging.scm (prosody-configuration) (opaque-prosody-configuration): Likewise. * gnu/services/monitoring.scm (zabbix-server-configuration) (zabbix-agent-configuration): Likewise. * gnu/services/networking.scm (opendht-configuration): Likewise. * gnu/services/pm.scm (tlp-configuration): Likewise. * gnu/services/telephony.scm (jami-configuration): Likewise. * gnu/services/virtualization.scm (libvirt-configuration) (qemu-guest-agent-configuration): Likewise. * gnu/services/vpn.scm (openvpn-client-configuration): Likewise.
2021-11-23gnu: system: Make old-style swap use default flags.Josselin Poiret
* gnu/services/base.scm (swap-service-type): Use default flags (0) if SWAP is not a new-style <swap-space> record. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-11-23system: Add swap flags.Josselin Poiret
* gnu/system/file-systems.scm (swap-space)[priority, discard?]: Add them. * guix/build/syscalls.scm (SWAP_FLAG_PREFER, SWAP_FLAG_PRIO_MASK, SWAP_FLAG_PRIO_SHIFT, SWAP_FLAG_DISCARD): Add them. * gnu/build/file-systems.scm (swap-space->flags-bit-mask): Add it. * gnu/services/base.scm (swap-service-type): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>