summaryrefslogtreecommitdiff
path: root/gnu/services/base.scm
AgeCommit message (Collapse)Author
2020-04-07services: guix: Add 'set-http-proxy' action.Ludovic Courtès
Fixes <https://bugs.gnu.org/25569>. Reported by Divan Santana <divan@santanas.co.za>. * gnu/services/base.scm (shepherd-set-http-proxy-action): New procedure. (guix-shepherd-service): Add 'actions' field. Change 'start' to a lambda; check the value of the "http_proxy" environment variable and add "http_proxy" and "https_proxy" to #:environment-variables as a function of that. * gnu/tests/base.scm (run-basic-test)["guix-daemon set-http-proxy action", "guix-daemon set-http-proxy action, clear"]: New tests. * doc/guix.texi (Base Services): Document it.
2020-04-06services: syslog: Create log files as non-world-readable.Ludovic Courtès
Partly fixes <https://bugs.gnu.org/40405>. Reported by Diego Nicola Barbato <dnbarbato@posteo.de>. * gnu/services/base.scm (syslog-service-type): Change 'start' method to set umask to #o137 before spawning syslogd. * gnu/tests/base.scm (run-basic-test)["/var/log/messages is not world-readable"]: New test.
2020-04-06services: Add 'rottlog-service-type' to '%base-services'.Ludovic Courtès
* gnu/services/base.scm (%base-services): Add an instance of ROTTLOG-SERVICE-TYPE. * doc/guix.texi (Log Rotation): Mention that it's part of %BASE-SERVICES and change example.
2020-03-27Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/packages/icu4c.scm gnu/packages/man.scm gnu/packages/python-xyz.scm guix/scripts/environment.scm guix/scripts/pack.scm guix/scripts/package.scm guix/scripts/pull.scm guix/store.scm
2020-03-23services: console-font: Fix docstring.Ludovic Courtès
* gnu/services/base.scm (console-font-service-type): Use quasiquote and unquote appropriately in docstring.
2020-03-14gnu: eudev: Remove bugfix variant.Marius Bakke
* gnu/packages/linux.scm (eudev/btrfs-fix): Remove variable. (eudev)[arguments]: Add phase patch-bindir-in-btrfs-rules. * gnu/services/base.scm (<udev-configuration>, udev-service): Refer to EUDEV instead of EUDEV/BTRFS-FIX.
2020-03-10Merge branch 'master' into core-updatesMarius Bakke
2020-03-07gnu: eudev: Add variant with corrected Btrfs rules.Ludovic Courtès
Discussed at <https://bugs.gnu.org/39926>. * gnu/packages/linux.scm (eudev/btrfs-fix): New variable. * gnu/services/base.scm (<udev-configuration>)[udev]: Default to it. (udev-service): Likewise for #:udev.
2020-03-04Merge branch 'master' into core-updatesMarius Bakke
2020-02-20services: udev: Do not rely on shepherd inheriting environment variables.Florian Pelz
Fixes <https://bugs.gnu.org/39671>. * gnu/services/base.scm (udev-shepherd-service)[start] Move or copy environment variables to 'fork+exec-command' instead of 'setenv'.
2020-02-11system: Stop using canonical-package.Mathieu Othacehe
Usage of canonical-package outside of thunked fields breaks cross-compilation, see: https://lists.gnu.org/archive/html/guix-devel/2019-12/msg00410.html. * gnu/installer.scm (installer-program): Remove canonical-package. * gnu/services/base.scm (<nscd-cache>): Ditto, (%base-services): ditto. * gnu/services/xorg.scm: Remove useless canonical-package import. * gnu/system.scm (%base-packages): Remove canonical-package. * gnu/system/install.scm (%installation-services): Ditto, (installation-os): ditto. * gnu/system/locale.scm (single-locale-directory): Ditto.
2020-01-05services: host-name: Make service one-shot.Efraim Flashner
* gnu/services/base.scm (host-name-service-type): Remove 'respawn?' keyword from shepherd-service-type, add 'one-shot?'.
2019-12-30services: console-font: Update example with HDPI font suggestion.Jan Nieuwenhuizen
This solution was kindly provided by Bernard M. Wiedemann. * gnu/services/base.scm (console-font-service-type): Add ter132n (terminus 132 nomal) font example, for HDPI displays. * doc/guix.texi (Invoking guix system): Update to `guix system search console' example output.
2019-10-21services: agetty: Really import (gnu build linux-boot).Ludovic Courtès
This is a followup to commit 62c2217570fb3a3437e8316d3679b7fe13db0884. * gnu/services/base.scm (agetty-shepherd-service)[start]: Wrap un 'with-imported-modules'. This fixes a build error when TTY is true ("no code for module (gnu build linux-boot)").
2019-10-06Merge branch 'master' into core-updatesRicardo Wurmus
2019-10-06services: udev: Explicitly depend on (gnu build linux-boot).Ludovic Courtès
* gnu/services/base.scm (udev-shepherd-service): Wrap 'start' method in 'with-imported-modules'.
2019-10-06services: agetty: Explicitly depend on (gnu build linux-boot).Ludovic Courtès
* gnu/services/base.scm (default-serial-port): Wrap in 'with-imported-modules'.
2019-10-05services: urandom-seed: Credit the entropy added to the PRNG.Ludovic Courtès
Partly fixes <https://bugs.gnu.org/37501>. Reported by Marius Bakke <mbakke@fastmail.com>. * gnu/services/base.scm (urandom-seed-shepherd-service): In 'start' method, add calls to 'add-to-entropy-count'.
2019-10-02services: For "gdm-password" pam service, include "limits.conf".Jesse Gibbons
* gnu/services/base.scm (pam-limits-service-type): For "gdm-password" pam service, include "limits.conf". Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-09-12services: Fix /usr/bin/env special file target.Ludovic Courtès
This is a followup to a9162155975a131afa1e6a44262afbb7af91f7fd. * gnu/services/base.scm (%base-services): Fix "/usr/bin/env" target.
2019-09-09services: Add ‘/usr/bin/env’ special file.Tobias Geerinckx-Rice
* gnu/services/base.scm (%base-services): Add ‘/usr/bin/env‘ to special-files-service-type.
2019-09-06Revert "services: Add ‘/usr/bin/env’ special file."Mark H Weaver
This reverts commit 3b38bf141a464e1bb370af7d2b2651d1efb29781. The Guix project discussed this years ago and decided against including /usr/bin/env. That decision should not be reversed without a wider discussion.
2019-09-06services: Fix typo.Efraim Flashner
This is a follow-up to 3b38bf141a464e1bb370af7d2b2651d1efb29781. * gnu/services/base.scm (%base-services): Remove duplicated line.
2019-09-06services: Add ‘/usr/bin/env’ special file.Tobias Geerinckx-Rice
* gnu/services/base.scm (%base-services): Add ‘/usr/bin/env‘ to special-files-service-type.
2019-08-22services: console-fonts: Update docstring.John Soo
* gnu/services/base (console-font-service-type): Add documentation about valid arguments. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-06-29etc: Remove hydra.gnu.org.pub key.Tobias Geerinckx-Rice
* etc/substitutes/hydra.gnu.org.pub: Delete file. * guix/self.scm (miscellaneous-files): Don't install it. * Makefile.am (dist_pkgdata_DATA): Remove it. * gnu/services/base.scm (%default-authorized-guix-keys): Likewise. (hydra-key-authorization): Rename to… (substitute-key-authorization): …this. Adjust only call site.
2019-06-10services: guix-publish: Configure log rotation.Christopher Baines
* gnu/services/base.scm (%guix-publish-log-rotations): New variable. (guix-publish-service-type): Extend the rottlog-service-type.
2019-06-10services: guix-publish: Log to a file.Christopher Baines
This makes it easier to read the output, as it's recorded in a file. * gnu/services/base.scm (guix-publish-shepherd-service): Add #:log-file to make-forkexec-constructor.
2019-06-03services: guix-publish: Allow for multi-compression.Ludovic Courtès
This is a followup to b8fa86adfc01205f1d942af8cb57515eb3726c52. * guix/deprecation.scm (warn-about-deprecation): Make public. * gnu/services/base.scm (<guix-publish-configuration>)[compression]: New field. [compression-level]: Default to #f. Add '%' to getter name. (guix-publish-configuration-compression-level): Define as deprecated. (default-compression): New procedure. (guix-publish-shepherd-service)[config->compression-options]: New procedure. Use 'match-record' instead of 'match'. * doc/guix.texi (Base Services): Remove 'compression-level' and document 'compression'.
2019-05-15tests: Skip unreliable "herd invalidate nscd" test.Ludovic Courtès
* gnu/tests/base.scm (run-basic-test)["nscd invalidate action, wrong table"]: Skip unconditionally.
2019-05-09services: Log-in services now require "pam_loginuid".Ludovic Courtès
Fixes <https://bugs.gnu.org/35553>. Reported by Bruno Haible <bruno@clisp.org>. * gnu/services/base.scm (login-pam-service): Pass #:login-uid? #t to 'unix-pam-service'. * gnu/services/ssh.scm (lsh-pam-services, openssh-pam-services): Likewise. * gnu/services/xorg.scm (slim-pam-service): Likewise. (gdm-pam-service): Likewise for "gdm-autologin" and "gdm-password". * gnu/tests/base.scm (run-basic-test)["getlogin on tty1"]: New test. * gnu/tests/ssh.scm (run-ssh-test): Add #:test-getlogin? parameter. ["getlogin"]: New test. (%test-dropbear): Pass #:test-getlogin? #f.
2019-04-27services: file-system: Filter what goes to /etc/fstab.Ludovic Courtès
Fixes a longstanding issue whereby, due to our long fstab that included pseudo file systems like cgroup mounts, graphical file managers would display all of these. Initially reported at <https://lists.gnu.org/archive/html/help-guix/2017-11/msg00084.html>. * gnu/services/base.scm (file-system-fstab-entries): New procedure. (file-system-service-type): Use it to extend FSTAB-SERVICE-TYPE.
2019-04-05services: console-keymap: Deprecate.Ludovic Courtès
* gnu/services/base.scm (console-keymap-service): Mark as deprecated. * doc/guix.texi (Base Services): Remove its documentation.
2019-04-04gexp: Remove workarounds for <https://bugs.gnu.org/15602>.Ludovic Courtès
* gnu/services/base.scm (hydra-key-authorization)[aaa]: Remove. [default-acl]: Don't import it. * guix/scripts/pack.scm (store-database)[build]: Don't import (gnu build install).
2019-03-13Remove traces of "GuixSD".Ludovic Courtès
* 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.
2019-03-10services: guix: Pre-compute the default ACL.Ludovic Courtès
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.
2019-03-10services: guix: Allocate build user UIDs in the system range.Ludovic Courtès
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'.
2019-01-20gnu: %base-services: Use *getty-service-type.Efraim Flashner
* gnu/services/base.scm (%base-services): Replace agetty-service with agetty-service-type, mingetty-service with mingetty-service-type.
2019-01-20gnu: %base-services: Use login-service-type.Efraim Flashner
* gnu/services/base.scm (login-service-type)[default-value]: New field. (%base-services): Replace login-service with login-service-type.
2019-01-20services: %base-services: Use udev-service-type.Efraim Flashner
* gnu/services/base.scm (udev-configuration): Fix typo. (udev-service-type)[default-value]: New field. (%base-services): Replace udev-service with udev-service-type.
2019-01-20services: %base-services: Use nscd-service-type.Efraim Flashner
* gnu/services/base.scm (nscd-service-type)[default-value]: New field. (%base-services): Replace nscd-service with nscd-service-type.
2019-01-20services: Use guix-service-type.Efraim Flashner
* gnu/services/base.scm (%base-services): Replace guix-service with guix-service-type. * gnu/system/examples/docker-image.tmpl (services): Same.
2019-01-17services: kmscon: Remove virtual-terminal requirement.Mathieu Othacehe
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.
2019-01-11services: Deprecate a few more service procedures.Ludovic Courtès
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.
2019-01-10services: Use 'define-deprecated' for service procedures.Ludovic Courtès
* 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.
2018-12-17services: udev: Add 'rules' action.Ludovic Courtès
* 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'.
2018-12-10services: guix: Run 'guix-daemon' in UTF-8 locale.Ludovic Courtès
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".
2018-12-05services: guix-daemon: Fix authorization of multiple keys.Ludovic Courtès
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.
2018-12-04Remove most references to hydra.gnu.org.Ludovic Courtès
* 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.
2018-11-13services: nscd: Add 'invalidate' and 'statistics' actions.Ludovic Courtès
* 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.