summaryrefslogtreecommitdiff
path: root/gnu/services/base.scm
Commit message (Collapse)AuthorAge
* Remove traces of "GuixSD".Ludovic Courtès2019-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Remove mentions of "GuixSD". * gnu/bootloader/grub.scm (install-grub-efi): Likewise. * gnu/build/vm.scm (make-iso9660-image): Change default #:volume-id to "Guix_image". (initialize-hard-disk): Search for the "Guix_image" label. * gnu/ci.scm (system-test-jobs, tarball-jobs): Remove "GuixSD". * gnu/installer/newt/welcome.scm (run-welcome-page): Likewise. * gnu/packages/audio.scm (supercollider)[description]: Likewise. * gnu/packages/curl.scm (curl): Likewise. * gnu/packages/emacs.scm (emacs): Likewise. * gnu/packages/gnome.scm (network-manager): Likewise. * gnu/packages/julia.scm (julia): Likewise. * gnu/packages/linux.scm (alsa-plugins): Likewise. (powertop, wireless-regdb): Likewise. * gnu/packages/package-management.scm (guix): Likewise. * gnu/packages/polkit.scm (polkit): Likewise. * gnu/packages/tex.scm (texlive-bin): Likewise. * gnu/services/base.scm (file-systems->fstab): Likewise. * gnu/services/cups.scm (%cups-activation): Likewise. * gnu/services/mail.scm (%dovecot-activation): Likewise. * gnu/services/messaging.scm (prosody-configuration)[log]: Likewise. * gnu/system/examples/vm-image.tmpl (vm-image-motd): Likewise. * gnu/system/install.scm (installation-os)[file-systems]: Change root file system label to "Guix_image". * gnu/system/mapped-devices.scm (check-device-initrd-modules): Remove "GuixSD". * gnu/system/vm.scm (system-docker-image): Likewise. (system-disk-image)[root-label]: Change to "Guix_image". * gnu/tests/install.scm (run-install): Remove "GuixSD". * guix/modules.scm (guix-module-name?): Likewise. * nix/libstore/optimise-store.cc: Likewise.
* services: guix: Pre-compute the default ACL.Ludovic Courtès2019-03-10
| | | | | | | | This makes the first boot slightly faster. * gnu/services/base.scm (not-config?): New procedure. (hydra-key-authorization): Rewrite to pre-compute the default ACL, and pre-compute it using (guix pki) directly.
* services: guix: Allocate build user UIDs in the system range.Ludovic Courtès2019-03-10
| | | | | | | | | | Until now we were allocating the UIDs of build users above 30000, which is in "normal" user UID range. This static allocation was unnecessary, so this change lets the system allocate UIDs in the system range (below 1000). * gnu/services/base.scm (guix-build-accounts): Remove #:first-uid, and remove 'uid' field from 'user-account'.
* gnu: %base-services: Use *getty-service-type.Efraim Flashner2019-01-20
| | | | | * gnu/services/base.scm (%base-services): Replace agetty-service with agetty-service-type, mingetty-service with mingetty-service-type.
* gnu: %base-services: Use login-service-type.Efraim Flashner2019-01-20
| | | | | * gnu/services/base.scm (login-service-type)[default-value]: New field. (%base-services): Replace login-service with login-service-type.
* services: %base-services: Use udev-service-type.Efraim Flashner2019-01-20
| | | | | | * gnu/services/base.scm (udev-configuration): Fix typo. (udev-service-type)[default-value]: New field. (%base-services): Replace udev-service with udev-service-type.
* services: %base-services: Use nscd-service-type.Efraim Flashner2019-01-20
| | | | | * gnu/services/base.scm (nscd-service-type)[default-value]: New field. (%base-services): Replace nscd-service with nscd-service-type.
* services: Use guix-service-type.Efraim Flashner2019-01-20
| | | | | | * gnu/services/base.scm (%base-services): Replace guix-service with guix-service-type. * gnu/system/examples/docker-image.tmpl (services): Same.
* services: kmscon: Remove virtual-terminal requirement.Mathieu Othacehe2019-01-17
| | | | | | | kmscon does not require that virtual terminals run in UTF-8 mode. * gnu/services/base.scm (kmscon-service-type): Remove virtual-terminal from requirement list.
* services: Deprecate a few more service procedures.Ludovic Courtès2019-01-11
| | | | | | | | | | | | | | | | | | These procedures were already either undocumented (and de facto deprecated) or documented as deprecated or redundant. * gnu/services/base.scm (guix-service, guix-publish-service): Mark as deprecated. * gnu/services/mcron.scm (mcron-service): Likewise. * gnu/services/networking.scm (tor-service): Likewise. * doc/guix.texi (Scheduled Job Execution): Remove 'mcron-service' and adjust example. (Networking Services): Remove 'tor-service'. * gnu/tests/base.scm (%mcron-os): Use 'mcron-service-type' instead of 'mcron-service'. * gnu/tests/networking.scm (%tor-os): Use 'tor-service-type' instead of 'tor-service'. * tests/guix-system.sh: Likewise.
* services: Use 'define-deprecated' for service procedures.Ludovic Courtès2019-01-10
| | | | | | | | | | * gnu/services/base.scm (urandom-seed-service, gpm-service): Define using 'define-deprecated'. * gnu/services/messaging.scm (bitlbee-service): Likewise. * gnu/services/networking.scm (dhcp-client-service): Likewise. (ntp-service): Likewise. * gnu/services/xorg.scm (slim-service): Likewise. (gdm-service): Likewise.
* services: udev: Add 'rules' action.Ludovic Courtès2018-12-17
| | | | | | * gnu/services/base.scm (udev-shepherd-service): Add 'actions' field. * doc/guix.texi (Base Services): Move "@end deffn" after 'udev-service' definition. Mention 'herd rules udev'.
* services: guix: Run 'guix-daemon' in UTF-8 locale.Ludovic Courtès2018-12-10
| | | | | | | | Fixes <https://bugs.gnu.org/32942>. Reported by Julien Lepiller <julien@lepiller.eu>. * gnu/services/base.scm (guix-shepherd-service) <start>: In #:environment-variables, add "GUIX_LOCPATH" and "LC_ALL".
* services: guix-daemon: Fix authorization of multiple keys.Ludovic Courtès2018-12-05
| | | | | | | | | Previously, the 'unless (file-exists? "/etc/guix/acl")' guard would mean that only the first key in the list would get registered since were were generating one registration snippet per key. This fixes that. * gnu/services/base.scm (hydra-key-authorization): Change to be a 'for-each' loop iterating on #$KEYS.
* Remove most references to hydra.gnu.org.Ludovic Courtès2018-12-04
| | | | | | | | | | | | | | | * Makefile.am (assert-binaries-available): Don't mention hydra.gnu.org in comment. * build-aux/check-available-binaries.scm: Likewise. * build-aux/check-final-inputs-self-contained.scm: Likewise. * doc/guix.texi (SUBSTITUTE-SERVER): New variable. Use it throughout instead of "mirror.hydra.gnu.org". * doc/contributing.texi (Submitting Patches): Likewise. * gnu/services/base.scm (hydra-key-authorization) (guix-activation): Remove mentions of "hydra.gnu.org" in comments and messages. * gnu/system/install.scm (%installation-services): Likewise. * guix/scripts/size.scm (guix-size): Likewise.
* services: nscd: Add 'invalidate' and 'statistics' actions.Ludovic Courtès2018-11-13
| | | | | | | | | | * gnu/services/base.scm (nscd-action-procedure, nscd-actions): New procedures. (nscd-shepherd-service): Add 'modules' and 'actions' fields. * gnu/tests/base.scm (run-basic-test)["nscd invalidate action"] ["nscd invalidate action, wrong table"]: New tests. * doc/guix.texi (Services): Mention 'herd doc nscd action'. (Base Services): Document the actions.
* services: kmscon: Add an auto-login option.Mathieu Othacehe2018-11-07
| | | | | | | | Add an auto-login option that behaves as the one of mingetty-service. * gnu/services/base.scm (kmscon-configuration)[auto-login]: New field. (kmscon-service-type): Pass it to kmscon command. * doc/guix.texi (Base Services): Document it.
* services: kmscon: Do not switch to vt at start.Mathieu Othacehe2018-11-07
| | | | | * gnu/services/base.scm (kmscon-service-type): Add "--no-switchvt" to kmscon command.
* services: virtual-terminal: Write to "default_utf8" only if necessary.Ludovic Courtès2018-09-26
| | | | | | | | Fixes a bug in containers whereby 'virtual-terminal' would always fail to start because writing to /sys/…/default_utf8 would fail with EROFS. * gnu/services/base.scm (virtual-terminal-service-type): Read from "default_utf8" before attempting to write to it.
* services: udev: Don't attempt to read "modules.devname" from a container.Ludovic Courtès2018-09-26
| | | | | | | | Fixes <https://bugs.gnu.org/32814>. Reported by Julien Lepiller <julien@lepiller.eu>. * gnu/services/base.scm (udev-shepherd-service)[start]: Check whether DIRECTORY exists and skip 'make-static-device-nodes' call if it doesn't.
* services: networking: Remove unbound variable reference in 'stop'.Ludovic Courtès2018-09-19
| | | | | | * gnu/services/base.scm (static-networking-shepherd-service): Remove spurious ":" in 'stop' method inadvertently introduced in commit c9436025a90b86047ba2203d58bbf238f8f9b2f9.
* services: udev: Simplify 'start' method.Ludovic Courtès2018-09-19
| | | | | | * gnu/services/base.scm (udev-shepherd-service)[start](find): Remove. (udev): Hardwire the eudev file name. Use 'fork+exec-command' instead of 'primitive-fork' and 'exec-command'.
* services: file-system-shepherd-service: Require "udev" service.Danny Milosavljevic2018-08-02
| | | | | | | Fixes <https://bugs.gnu.org/32313>. Reported by Brendan Tildesley <brendan.tildesley@openmailbox.org> * gnu/services/base.scm (file-system-shepherd-service): Require "udev" service.
* services: mingetty: Use '--nohangup'.Ludovic Courtès2018-07-05
| | | | | | | | See the discussion at <https://lists.gnu.org/archive/html/guix-devel/2018-07/msg00049.html>. * gnu/services/base.scm (mingetty-shepherd-service): Pass "--nohangup" to mingetty.
* store-copy: 'read-reference-graph' returns a list of records.Ludovic Courtès2018-06-14
| | | | | | | | | | | | | | The previous implementation of 'read-reference-graph' was good enough for many use cases, but it discarded the graph structure, which is useful information in some cases. * guix/build/store-copy.scm (<store-info>): New record type. (read-reference-graph): Rewrite to return a list of <store-info>. (closure-size, populate-store): Adjust accordingly. * gnu/services/base.scm (references-file): Adjust accordingly. * gnu/system/vm.scm (system-docker-image): Likewise. * guix/scripts/pack.scm (squashfs-image, docker-image): Likewise. * tests/gexp.scm ("gexp->derivation #:references-graphs"): Likewise.
* services: fstab: Properly handle file system labels.Ludovic Courtès2018-05-29
| | | | | | | | | | Fixes a regression introduced in a5acc17a3c10a3779b5b8b1a2565ef130be77e51. Reported by Tobias Geerinckx-Rice <me@tobias.gr>. * gnu/services/base.scm (file-system->fstab-entry): Pass LABEL, not FILE-SYSTEM, to 'file-system-label->string'.
* file-systems: Remove 'title' field and add <file-system-label>.Ludovic Courtès2018-05-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'title' field was easily overlooked and was an endless source of confusion. Now, the value of the 'device' field is self-contained. * gnu/system/file-systems.scm (<file-system>): Change constructor name to '%file-system'. [title]: Remove. (<file-system-label>): New record type with printer. (report-deprecation, device-expression) (process-file-system-declaration, file-system): New macros. (file-system-title): New procedure. (file-system->spec, spec->file-system): Adjust to handle <file-system-label>. * gnu/system.scm (bootable-kernel-arguments): Add case for 'file-system-label?'. (read-boot-parameters): Likewise. (mapped-device-user): Avoid 'file-system-title'. (fs->boot-device): Remove. (operating-system-boot-parameters): Use 'file-system-device' instead of 'fs->boot-device'. (device->sexp): Add case for 'file-system-label?'. * gnu/bootloader/grub.scm (grub-root-search): Add case for 'file-system-label?'. * gnu/system/examples/bare-bones.tmpl, gnu/system/examples/beaglebone-black.tmpl, gnu/system/examples/lightweight-desktop.tmpl, gnu/system/examples/vm-image.tmpl: Remove uses of 'title'. * gnu/system/vm.scm (virtualized-operating-system): Remove uses of 'file-system-title'. * guix/scripts/system.scm (check-file-system-availability): Likewise, and adjust fix-it hint. (check-initrd-modules)[file-system-/dev]: Likewise. * gnu/build/file-systems.scm (canonicalize-device-spec): Remove 'title' parameter. [canonical-title]: Remove. Match on SPEC's type rather than on CANONICAL-TITLE. (mount-file-system): Adjust caller. * gnu/build/linux-boot.scm (boot-system): Interpret ROOT here. * gnu/services/base.scm (file-system->fstab-entry): Remove use of 'file-system-title'. * doc/guix.texi (File Systems): Remove documentation of the 'title' field. Rewrite documentation of 'device' and document 'file-system-label'.
* services: gpm: Provide a default value and document 'gpm-service-type'.Ludovic Courtès2018-04-30
| | | | | | | | | * gnu/services/base.scm (%default-gpm-options): New variable. (<gpm-configuration>)[gpm, options]: Add default values. (gpm-service-type)[default-value]: New field. (gpm-service): Use %DEFAULT-GPM-OPTIONS and mark as deprecated. * doc/guix.texi (Base Services): Document 'gpm-service-type' and 'gpm-configuration'. Remove 'gpm-service'.
* services: Move static-networking to (gnu services base).Danny Milosavljevic2018-04-30
| | | | | | | | * gnu/services/networking.scm (static-networking, static-networking?, static-networking-interface, static-networking-ip, static-networking-netmask, static-networking-gateway, static-networking-requirement, static-networking-service, static-networking-service-type): Move to... * gnu/services/base.scm: ...here.
* services: Add 'virtual-terminal'.Ludovic Courtès2018-03-15
| | | | | | | | | | | | | 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.
* services: agetty: Call default-serial-port only when starting.Danny Milosavljevic2018-03-08
| | | | | * gnu/services/base.scm (agetty-shepherd-service): Call default-serial-port only when starting.
* services: file-systems: Include 'user-file-systems' service.Ludovic Courtès2018-03-07
| | | | | | | | | | | | | | | | | | | | 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.
* services: console-font: Don't emit the IUTF8 console code.Ludovic Courtès2018-02-19
| | | | | | | Fixes <https://bugs.gnu.org/30505>. * gnu/services/base.scm (unicode-start): Remove 'display' call to FD for "\x1b%G" console code.
* services: mingetty: Move tty optionality to agetty.Danny Milosavljevic2018-02-15
| | | | | | | Follow-up to 5a9902c8acd63916c6c80cf3c61be6ee814b7e3d. * gnu/services/base.scm (mingetty-shepherd-service): Move tty optionality check to... (agetty-shepherd-service): ...here.
* services: agetty: Add agetty instance to base services. Make its tty optional.Danny Milosavljevic2018-02-15
| | | | | | | | | | * 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.
* services: guix: Add 'chroot-directories' field.Ludovic Courtès2018-01-11
| | | | | | | | * 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.
* services: guix: Add 'log-compression' option.Ludovic Courtès2018-01-08
| | | | | | | | * 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'.
* services: networking: Add a dependency override mechanism to ↵Marius Bakke2017-12-29
| | | | | | | | | | <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.
* services: urandom-seed: Depend on udev.Ludovic Courtès2017-12-22
| | | | | | | Suggested by Leo Famulari <leo@famulari.name>. * gnu/services/base.scm (urandom-seed-shepherd-service): Add 'udev' to 'requirement'.
* services: urandom-seed: Deprecate the 'urandom-seed-service' procedure.Ludovic Courtès2017-12-22
| | | | | | | | | | * 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'.
* services: urandom-seed: Become a dependency of 'user-processes'.Ludovic Courtès2017-12-22
| | | | | | | | | | | | 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.
* services: 'user-processes-service-type' can now be extended.Ludovic Courtès2017-12-22
| | | | | | | | | | | * 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.
* services: urandom-seed: Try using a HWRNG to seed the Linux CRNG at boot.Leo Famulari2017-12-19
| | | | | | * 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.
* services: base: Use make-static-device-nodes.Danny Milosavljevic2017-12-16
| | | | | | Fixes <https://bugs.gnu.org/22050>. * gnu/services/base.scm (udev-shepherd-service): Use make-static-device-nodes.
* services: console-font: Use 'tcsetattr' instead of invoking 'unicode_start'.Ludovic Courtès2017-12-06
| | | | | | | | | | | 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.
* maint: Add 'berlin.guixsd.org.pub'.Ludovic Courtès2017-12-04
| | | | | | | * 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.
* services: guix: Remove dependency on 'lsof'.Ludovic Courtès2017-11-13
| | | | | | | | | | 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.
* gnu: service: Update comment.Hartmut Goebel2017-11-08
| | | | * gnu/services/base.scm (guix-activation): Update comment.
* services: base: Add file->udev-rule function.Maxim Cournoyer2017-10-22
| | | | | | | | | 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>
* file-systems: 'mount-file-system' now takes a <file-system> object.Ludovic Courtès2017-10-11
| | | | | | | | | | | | | * 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.