summaryrefslogtreecommitdiff
path: root/gnu/services/base.scm
AgeCommit message (Collapse)Author
2018-03-15services: Add 'virtual-terminal'.Ludovic Courtès
Fixes <https://bugs.gnu.org/30505>. Suggested by Danny Milosavljevic <dannym@scratchpost.org>. * gnu/services/base.scm (unicode-start): Remove. (virtual-terminal-service-type): New variable. (console-font-shepherd-services): Remove 'modules'; remove call to 'unicode-start'. Add 'virtual-terminal' to 'requirement'. (mingetty-shepherd-service, kmscon-service-type): Likewise. (%base-services): Add 'virtual-terminal-service-type'. * gnu/system/install.scm (%installation-services): Likewise.
2018-03-08services: agetty: Call default-serial-port only when starting.Danny Milosavljevic
* gnu/services/base.scm (agetty-shepherd-service): Call default-serial-port only when starting.
2018-03-07services: file-systems: Include 'user-file-systems' service.Ludovic Courtès
Previously the KNOWN-FS value used in 'essential-services' would be incomplete: it would lack all the file systems provided by services that extend 'file-system-service-type' (/sys/fs/cgroup, /proc/sys/fs/binfmt_misc, etc.) Consequently, upon shutdown, 'user-processes' would unmount these file systems before their corresponding service had been stopped; when their corresponding (e.g., 'file-system-/proc/sys/fs/binfmt_misc') was stopped, its 'umount' call would fail. This was harmless in practice, but this patch makes sure things work as intended and file systems are unmounted in the right order. * gnu/services/base.scm (file-system-shepherd-services): Instantiate 'user-file-systems' Shepherd service from here. (user-unmount-service-type, user-unmount-service): Remove. * gnu/system.scm (essential-services): Remove call to 'user-unmount-service'. * gnu/system/install.scm (cow-store-service-type): Adjust comment.
2018-02-19services: console-font: Don't emit the IUTF8 console code.Ludovic Courtès
Fixes <https://bugs.gnu.org/30505>. * gnu/services/base.scm (unicode-start): Remove 'display' call to FD for "\x1b%G" console code.
2018-02-15services: mingetty: Move tty optionality to agetty.Danny Milosavljevic
Follow-up to 5a9902c8acd63916c6c80cf3c61be6ee814b7e3d. * gnu/services/base.scm (mingetty-shepherd-service): Move tty optionality check to... (agetty-shepherd-service): ...here.
2018-02-15services: agetty: Add agetty instance to base services. Make its tty optional.Danny Milosavljevic
* gnu/services/base.scm (%base-services): Instantiate agetty-service. (default-serial-port): New variable. (agetty-shepherd-service): Make tty optional, default to the above. * doc/guix.texi (agetty-configuration): Update "tty" documentation. * gnu/system/install.scm (agetty-default-service): Delete variable. (embedded-installation-os): Remove agetty-default-service instance. Add "console" kernel-argument.
2018-01-11services: guix: Add 'chroot-directories' field.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[chroot-directories]: New field. (guix-shepherd-service): Honor it. (references-file): New procedure. (guix-service-type)[compose, extend]: New fields.
2018-01-08services: guix: Add 'log-compression' option.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[log-compression]: New field. (guix-shepherd-service): Use 'match-record' instead of 'match'. Honor 'log-compression'. * doc/guix.texi (Base Services): Document 'log-compression'.
2017-12-29services: networking: Add a dependency override mechanism to ↵Marius Bakke
<static-networking>. * gnu/services/networking.scm (<static-networking>)[requirement]: New field. (static-networking-shepherd-service): Don't override requirement for loopback. (static-networking-service): Expose 'requirement' parameter. Default to UDEV. * gnu/services/base.scm (%base-services): Add (requirement '()) for loopback service. * doc/guix.texi (Networking Services): Document it.
2017-12-22services: urandom-seed: Depend on udev.Ludovic Courtès
Suggested by Leo Famulari <leo@famulari.name>. * gnu/services/base.scm (urandom-seed-shepherd-service): Add 'udev' to 'requirement'.
2017-12-22services: urandom-seed: Deprecate the 'urandom-seed-service' procedure.Ludovic Courtès
* gnu/services/base.scm (urandom-seed-service-type)[default-value]: New field. (urandom-seed-service): Mark as deprecated. (%base-services): Use URANDOM-SEED-SERVICE-TYPE directly. * gnu/services/base.scm (%base-services): * doc/guix.texi (Base Services): Document 'urandom-seed-service-type' instead of 'urandom-seed-service'.
2017-12-22services: urandom-seed: Become a dependency of 'user-processes'.Ludovic Courtès
This ensures that 'urandom-seed' is started before programs that rely on sources of randomness. Fixes <https://bugs.gnu.org/29773>. Reported by Leo Famulari <leo@famulari.name>. * gnu/services/base.scm (urandom-seed-shepherd-service): Change 'requirement' to (file-systems). (urandom-seed-service-type): Extend USER-PROCESSES-SERVICE-TYPE.
2017-12-22services: 'user-processes-service-type' can now be extended.Ludovic Courtès
* gnu/services/base.scm (user-processes-shepherd-service): New procedure, taken from former 'user-processes-service-type'. Add REQUIREMENTS argument; remove GRACE-DELAY argument. (user-processes-service-type): Redefine in terms of 'service-type'. (user-processes-service): Remove. (file-system-service-type): Extend USER-PROCESSES-SERVICE-TYPE. * gnu/system.scm (essential-services): Use USER-PROCESSES-SERVICE-TYPE directly.
2017-12-19services: urandom-seed: Try using a HWRNG to seed the Linux CRNG at boot.Leo Famulari
* gnu/services/base.scm (urandom-seed-shepherd-service): Try to read from '/dev/hwrng' at boot, as a supplement to any saved random seed. * doc/guix.texi (Base Services): Document the new feature.
2017-12-16services: base: Use make-static-device-nodes.Danny Milosavljevic
Fixes <https://bugs.gnu.org/22050>. * gnu/services/base.scm (udev-shepherd-service): Use make-static-device-nodes.
2017-12-06services: console-font: Use 'tcsetattr' instead of invoking 'unicode_start'.Ludovic Courtès
This is more robust, faster, and incidentally gets rid of remaining "error in the finalization thread: Bad file descriptor" messages. * gnu/services/base.scm (unicode-start): Rewrite to use 'tcgetattr' and 'tcsetattr'. (console-font-shepherd-services)[start]: Add 'loop' to check whether DEVICE is ready. Tolerate EX_OSERR return from 'setfont'. [modules]: New field.
2017-12-04maint: Add 'berlin.guixsd.org.pub'.Ludovic Courtès
* bayfront.guixsd.org.pub: Rename to... * berlin.guixsd.org.pub: ... this. * Makefile.am (dist_pkgdata_DATA): Adjust accordingly. * gnu/services/base.scm (%default-authorized-guix-keys): Likewise.
2017-11-13services: guix: Remove dependency on 'lsof'.Ludovic Courtès
This is a followup to b8f59cdc20e9d83ce63523ef917e95fcee07f134: 'list-runtime-roots' no longer depends on 'lsof'. * gnu/services/base.scm (<guix-configuration>)[lsof]: Remove. (guix-shepherd-service): Adjust accordingly. * doc/guix.texi (Base Services): Adjust accordingly. * gnu/system.scm (%base-packages): Remove LSOF.
2017-11-08gnu: service: Update comment.Hartmut Goebel
* gnu/services/base.scm (guix-activation): Update comment.
2017-10-22services: base: Add file->udev-rule function.Maxim Cournoyer
This function allows passing a file-like object to the udev service. * gnu/services/base.scm (file->udev-rule): New function. * doc/guix.texi (Base Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-10-11file-systems: 'mount-file-system' now takes a <file-system> object.Ludovic Courtès
* gnu/build/file-systems.scm (mount-file-system): Rename 'spec' to 'fs' and assume it's a <file-system>. * gnu/build/linux-boot.scm (boot-system): Assume MOUNTS is a list of <file-system> and adjust accordingly. * gnu/build/linux-container.scm (mount-file-systems): Remove 'file-system->spec' call. * gnu/services/base.scm (file-system-shepherd-service): Add 'spec->file-system' call. Add (gnu system file-systems) to 'modules'. * gnu/system/linux-initrd.scm (raw-initrd): Use (gnu system file-systems). Add 'spec->file-system' call for #:mounts.
2017-09-22services: Move 'session-environment-service-type' to pam.scm.Ludovic Courtès
* gnu/services/base.scm (environment-variables->environment-file) (session-environment-service-type) (session-environment-service): Move to... * gnu/system/pam.scm: ... here.
2017-09-16services: base: Add descriptions.Ludovic Courtès
* gnu/services/base.scm (fstab-service-type) (file-system-service-type, urandom-seed-service-type) (session-environment-service-type) (console-font-service-type) (login-service-type, agetty-service-type) (mingetty-service-type, nscd-service-type) (pam-limits-service-type, guix-service-type) (guix-publish-service-type, udev-service-type) (gpm-service-type): Add 'description' field. * po/packages/POTFILES.in: Add gnu/services/base.scm.
2017-09-11services: file-system: Use 'file-system->spec'.Ludovic Courtès
* gnu/services/base.scm (file-system-shepherd-service): Use 'file-system->spec' instead of in-line code.
2017-09-11services: base: Import the closure of (gnu build file-systems).Ludovic Courtès
* gnu/services/base.scm (file-system-shepherd-service): Use 'source-module-closure' in the 'with-imported-modules' form.
2017-08-28services: user-processes: Reap child processes.Ludovic Courtès
Fixes <http://bugs.gnu.org/26931>. Reported by Leo Famulari <leo@famulari.name>. * gnu/services/base.scm (user-processes-service-type)[stop]: Add 'reap-children' loop. * gnu/tests/base.scm (run-halt-test): New procedure. (%test-halt): New variable.
2017-08-25gnu: services: Log debug messages to /var/log/debug.Andy Wingo
* gnu/services/base.scm (%default-syslog.conf): Create a /var/log/debug with messages logged to syslog at debug level.
2017-07-27services: guix-publish: Run in a UTF-8 locale.Ludovic Courtès
Works around <https://bugs.gnu.org/26948>. * gnu/services/base.scm (guix-publish-shepherd-service): Pass #:environment-variables to 'make-forkexec-constructor'.
2017-06-05services: guix: Add 'max-silent-time' and 'timeout'.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[max-silent-time] [timeout]: New fields. (guix-shepherd-service): Honor them. * doc/guix.texi (Base Services): Document them.
2017-05-15services: guix: Authorize the key for bayfront.guixsd.org.Ludovic Courtès
* gnu/services/base.scm (%default-authorized-guix-keys): Add "bayfront.guixsd.org".
2017-05-08services: nscd: Adjust activation snippet for /etc/resolv.conf symlinks.Ludovic Courtès
Fixes <http://bugs.gnu.org/26809>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/services/base.scm (nscd-activation): Use 'lstat' instead of 'file-exists?'.
2017-05-02services: nscd: Create /etc/resolv.conf if it does not exist.Ludovic Courtès
* gnu/services/base.scm (nscd-activation): Create /etc/resolv.conf if it does not exist yet.
2017-04-19services: guix-publish: Add 'cache', 'workers', and 'ttl' config knobs.Ludovic Courtès
* gnu/services/base.scm (<guix-publish-configuration>)[cache, workers, ttl]: New fields. (guix-publish-shepherd-service): Honor them. (guix-publish-activation): New procedure. (guix-publish-service-type): Extend ACTIVATION-SERVICE-TYPE. * doc/guix.texi (Base Services): Document it.
2017-04-19services: guix-publish: Fix getter names.Ludovic Courtès
Fixes a typo introduced in 697ddb8850d7aeb612ec9402e86f82c44edf8c96. * gnu/services/base.scm (<guix-publish-configuration>): Add missing 'configuration' word in getters for 'compression-level' and 'nar-path'.
2017-04-16services: Add a default value to various service types.Ludovic Courtès
* gnu/services/admin.scm (rottlog-service-type)[default-value]: New field. * gnu/services/base.scm (guix-service-type)[default-value]: New field. (guix-publish-service-type)[default-value]: New field. * gnu/services/cups.scm (cups-service-type)[default-value]: New field. * gnu/services/dict.scm (dicod-service-type)[default-value]: New field. * gnu/services/mcron.scm (mcron-service-type)[default-value]: New field. * gnu/services/networking.scm (<tor-configuration>)[config-file]: Add default value. (tor-service-type)[default-value]: New field. (<bitlbee-configuration>)[interface, port, extra-settings]: Add default values. (bitlbee-service-type)[default-value]: New field. (wpa-supplicant-service-type)[default-value]: New field. (tlp-service-type)[default-value]: New field. (openssh-service-type)[default-value]: New field. * doc/guix.texi (Base Services, Log Rotation) (Networking Services, Printing Services): (Power management Services): Adjust examples accordingly.
2017-03-24services: guix-publish: Add 'compression-level' and 'nar-path' fields.Ludovic Courtès
* gnu/services/base.scm (<guix-publish-configuration>)[compression-level, nar-path]: New fields. (guix-publish-shepherd-service): Honor them. * doc/guix.texi (Base Services): Document them.
2017-03-24doc: Document 'guix-publish-service-type' instead of 'guix-publish-service'.Ludovic Courtès
* doc/guix.texi (Base Services): Document 'guix-publish-service-type' and 'guix-configuration'. Remove 'guix-publish-service'. (Invoking guix publish): Mention 'guix-publish-service-type'. * gnu/services/base.scm (guix-publish-service): Mark as deprecated. (<guix-configuration>): Export getters.
2017-03-21file-systems: Do not use (gnu packages …).Ludovic Courtès
Fixes a regression introduced in 7208995426714c9fc3ad59cadc3cc0f52df0f018 whereby (gnu system file-systems) would pull in (gnu packages …) module, which in turn breaks when importing things like (gnu build shepherd). * gnu/system/file-systems.scm (file-system-type-predicate): Export. (file-system-packages): Move to... * gnu/system/linux-initrd.scm (file-system-packages): ... here. Add docstring. * gnu/services/base.scm: Use it. * tests/file-systems.scm ("does not pull (gnu packages …)"): New test.
2017-03-19services: Remove Tab character from source code whitespace.Danny Milosavljevic
* gnu/services/base.scm (file-system-shepherd-service): Remove Tab character from source code whitespace.
2017-03-19services: file-system-shepherd-service: Make it find the fsck programs.Danny Milosavljevic
Fixes <https://bugs.gnu.org/25917>. * gnu/services/base.scm (file-system-shepherd-service): Use file-system-packages.
2017-03-05services: Add agetty service.Leo Famulari
* gnu/services/base.scm (<agetty-configuration>): New record type. (agetty-shepherd-service, agetty-service): New procedures. (agetty-service-type): New variable. * doc/guix.texi (Base Services): Document it. [mingetty-configuration],[kmscon-configuration]: Specify the types of supported consoles.
2017-02-23services: guix: Support building in a directory besides '/tmp'.Leo Famulari
* gnu/services/base.scm (<guix-configuration>)[tmpdir]: New field. (guix-shepherd-service): Use 'tmpdir' in #:environment-variables. * doc/guix.texi (Base Services)[guix-configuration]: Document it.
2017-02-22services: guix: Support using an HTTP proxy.Leo Famulari
* gnu/services/base.scm (<guix-configuration>)[http-proxy]: New field. (guix-shepherd-service): Use 'http-proxy' in #:environment-variables. * doc/guix.texi (Base Services)[guix-configuration]: Document it.
2017-02-08services: Add 'special-files-service-type'.Ludovic Courtès
* gnu/build/activation.scm (activate-/bin/sh): Remove. (activate-special-files): New procedure. * gnu/services.scm (activation-script): Remove call to 'activate-/bin/sh'. (special-files-service-type): New variable. (extra-special-file): New procedure. * gnu/services/base.scm (%base-services): Add SPECIAL-FILES-SERVICE-TYPE instance. * gnu/tests/base.scm (run-basic-test)[special-files]: New variables. ["special files"]: New test.
2017-02-01services: Make 'static-networking' extensible.Ludovic Courtès
This allows users to statically define several interfaces. * gnu/services/networking.scm (<static-networking>)[provision] [name-servers]: Add default values. (static-networking-shepherd-service) (static-networking-etc-files) (static-networking-shepherd-services): New procedures. (static-networking-service-type): Change to extend both SHEPHERD-ROOT-SERVICE-TYPE and ETC-SERVICE-TYPE. (static-networking-service): Remove default value of #:provision. Implement using 'simple-service'. * gnu/services/base.scm (%base-services): Replace 'static-networking-service' call with 'service' form. * doc/guix.texi (Networking Services): Update documentation.
2017-01-31system: Introduce 'file-systems' Shepherd service.Ludovic Courtès
* gnu/services/base.scm (file-system-shepherd-services): New procedure. (file-system-service-type): Use it as the SHEPHERD-ROOT-SERVICE-TYPE extension. (user-processes-service-type): Change to take a single 'grace-delay' parameter. (user-processes-service): Remove 'file-systems' parameter. Pass GRACE-DELAY as the only value for the service. * gnu/system.scm (essential-services): Adjust accordingly.
2017-01-25services: Export guix-configuration getters.Mathieu Othacehe
* gnu/services/base.scm (guix-configuration-*): Export. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-12-19services: guix: Add 'log-file' configuration option.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[log-file]: New field. (guix-shepherd-service): Pass #:log-file to 'make-forkexec-constructor'. * gnu/services/admin.scm (simple-rotation-config): Take a list of files and join them with commas. (%default-rotations): Add /var/log/guix-daemon.log. * doc/guix.texi (Base Services): Document it.
2016-12-19services: guix: Remove dependency on lsh.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[lsh]: Remove. (guix-shepherd-service): Remove lsh from 'PATH'. * doc/guix.texi (Base Services): Adjust accordingly.
2016-12-19services: Use 'file-append' in more places.Ludovic Courtès
* gnu/services/avahi.scm (avahi-shepherd-service): Use #$(file-append x y) instead of (string-append #$x y). * gnu/services/base.scm (unicode-start) (console-keymap-service-type, console-font-shepherd-services) (mingetty-shepherd-service, nscd-shepherd-service) (hydra-key-authorization, guix-shepherd-service) (guix-publish-shepherd-service, udev-shepherd-service) (gpm-shepherd-service, <kmscon-configuration>) (kmscon-service-type): Likewise. * gnu/services/shepherd.scm (shepherd-boot-gexp): Likewise.