aboutsummaryrefslogtreecommitdiff
path: root/gnu/services/base.scm
Commit message (Collapse)AuthorAge
* services: base: Improve container related comments.Mathieu Othacehe2020-09-21
| | | | | * gnu/services/base.scm (guix-shepherd-service): Clarify the usage of a container for guix-daemon.
* installer: Run the installation inside a container.Mathieu Othacehe2020-09-02
| | | | | | | | | | | | | | | | | | | When the store overlay is mounted, other processes such as kmscon, udev and guix-daemon may open files from the store, preventing the underlying install support from being umounted. See: https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html. To avoid this situation, mount the store overlay inside a container, and run the installation from within that container. * gnu/build/shepherd.scm (fork+exec-command/container): New procedure. * gnu/services/base.scm (guix-shepherd-service): Support an optional PID argument passed to the "start" method. If that argument is passed, ensure that guix-daemon enters the given PID MNT namespace by using fork+exec-command/container procedure. * gnu/installer/final.scm (umount-cow-store): Remove it, (install-system): run the installation from within a container. * gnu/installer/newt/final.scm (run-install-shell): Remove the display hack.
* Remove "guile-zlib" extension when unused.Mathieu Othacehe2020-08-25
| | | | | | | | | | | | | | | | This is a follow-up of 755f365b02b42a5d1e8ef3000dadef069553a478. As (zlib) is autoloaded in (gnu build linux-modules), "guile-zlib" is needed as an extension only when it is effectively used. * gnu/installer.scm (installer-program): Remove "guile-zlib" from the extensions. * gnu/machine/ssh.scm (machine-check-initrd-modules): Ditto. * gnu/services.scm (activation-script): Ditto. * gnu/services/base.scm (default-serial-port): Ditto, (agetty-shepherd-service): ditto, (udev-service-type): ditto. * gnu/system/image.scm (gcrypt-sqlite3&co): Ditto. * gnu/system/shadow.scm (account-shepherd-service): Ditto.
* linux-libre: Support module compression.Mathieu Othacehe2020-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for GZIP compression for linux-libre kernel modules. The initrd modules are kept uncompressed as the initrd is already compressed as a whole. The linux-libre kernel also supports XZ compression, but as Guix does not have any available bindings for now, and the compression time is far more significant, GZIP seems to be a better option. * gnu/build/linux-modules.scm (modinfo-section-contents): Use 'call-with-gzip-input-port' to read from a module file using '.gz' extension, (strip-extension): new procedure, (dot-ko): adapt to support compression, (ensure-dot-ko): ditto, (file-name->module-name): ditto, (find-module-file): ditto, (load-linux-module*): ditto, (module-name->file-name/guess): ditto, (module-name-lookup): ditto, (write-module-name-database): ditto, (write-module-alias-database): ditto, (write-module-device-database): ditto. * gnu/installer.scm (installer-program): Add "guile-zlib" to the extensions. * gnu/machine/ssh.scm (machine-check-initrd-modules): Ditto. * gnu/services.scm (activation-script): Ditto. * gnu/services/base.scm (default-serial-port): Ditto, (agetty-shepherd-service): ditto, (udev-service-type): ditto. * gnu/system/image.scm (gcrypt-sqlite3&co): Ditto. * gnu/system/linux-initrd.scm (flat-linux-module-directory): Add "guile-zlib" to the extensions and make sure that the initrd only contains uncompressed module files. * gnu/system/shadow.scm (account-shepherd-service): Add "guile-zlib" to the extensions. * guix/profiles.scm (linux-module-database): Ditto.
* services: base: Export references-file.Oleg Pykhalov2020-07-22
| | | | * gnu/services/base.scm (references-file): Export procedure.
* services: Remove obsolete comment.Marius Bakke2020-07-12
| | | | | | This TODO was resolved in ea4915a74bc4c03495d4910c1e32a92c790b6626. * gnu/services/base.scm (%default-authorized-guix-keys): Remove TODO comment.
* services: guix: Refer to 'berlin.guix.gnu.org.pub'.Christopher Lemmer Webber2020-07-11
| | | | | | | | Commit 6680880f9b8dceb4f2f3f91bd2b13c659b53835e pushes out a new guix package with a new key location, so we need to update to the new key in order for systems to build correctly. * gnu/services/base.scm (%default-authorized-guix-keys): Refer to berlin.guix.gnu.org.pub.
* services: guix: Refer to 'berlin.guixsd.org.pub'.Ludovic Courtès2020-07-10
| | | | | | This partly reverts d283bb960f927dd5f7bb8b96bc697221e4e8ad39. * gnu/services/base.scm (%default-authorized-guix-keys): Refer to berlin.guixsd.org.pub.
* maint: Remove traces of "berlin.guixsd.org".Ludovic Courtès2020-07-10
| | | | | | | | | | | | | | The guixsd.org domain is no longer advertised since before in 1.0.0 release in May 2019. * etc/substitutes/berlin.guixsd.org.pub: Rename to... * etc/substitutes/berlin.guix.gnu.org.pub: ... this. * etc/substitutes/ci.guix.gnu.org.pub, etc/substitutes/ci.guix.info.pub: Adjust accordingly. * gnu/services/base.scm (%default-authorized-guix-keys): Likewise. * guix/build/download-nar.scm (urls-for-item): Likewise. * guix/self.scm (miscellaneous-files): Likewise. * Makefile.am (dist_pkgdata_DATA): Likewise.
* Merge branch 'core-updates'Marius Bakke2020-05-08
|\
| * Merge branch 'master' into core-updatesMarius Bakke2020-05-05
| |\
| * \ Merge branch 'master' into core-updatesMarius Bakke2020-05-02
| |\ \
| * \ \ Merge branch 'master' into core-updatesMarius Bakke2020-04-23
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: etc/news.scm gnu/local.mk gnu/packages/bootloaders.scm gnu/packages/linphone.scm gnu/packages/linux.scm gnu/packages/tls.scm gnu/system.scm
| * \ \ \ Merge branch 'master' into core-updatesMarius Bakke2020-04-19
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2020-04-08
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: etc/news.scm gnu/local.mk gnu/packages/check.scm gnu/packages/cross-base.scm gnu/packages/gimp.scm gnu/packages/java.scm gnu/packages/mail.scm gnu/packages/sdl.scm gnu/packages/texinfo.scm gnu/packages/tls.scm gnu/packages/version-control.scm
| * \ \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2020-03-27
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | | gnu: eudev: Remove bugfix variant.Marius Bakke2020-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | | | | | | Merge branch 'master' into core-updatesMarius Bakke2020-03-10
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2020-03-04
| |\ \ \ \ \ \ \ \
| * | | | | | | | | system: Stop using canonical-package.Mathieu Othacehe2020-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | | | Revert "services: syslog: Simplify 'start' method."Ludovic Courtès2020-05-07
| |_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4c0cc7bed3de2c0e2d3a6e95b88693941e839eec. Fixes <https://bugs.gnu.org/41116>. Reported by Alex Sassmannshausen <alex@komputilo.eu>. The problem is that reconfiguring on a system running Shepherd < 0.8.0 would lead to an error, due to #:file-creation-mask not being supported. The error is rather harmless: it prevents service upgrade but the system itself is upgraded. We can reinstate that commit eventually, once #:file-creation-mask has become widespread.
* | | | | | | | | services: For "sddm" pam service, include "limits.conf".Giacomo Leidi2020-05-05
| |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/base.scm (pam-limits-service-type): For "sddm" pam service, include "limits.conf". Signed-off-by: Marius Bakke <mbakke@fastmail.com>
* | | | | | | | services: syslog: Simplify 'start' method.Diego Nicola Barbato2020-05-02
| |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a followup to d7113bb655ff80a868a9e624c913f9d23e6c63ad and e3358a831e7d5d9e8dc614340e49ea5aeb11a7ff. * gnu/services/base.scm (syslog-service-type): Change 'start' method to set umask using the #:file-creation-mask parameter of 'make-forkexec-constructor' introduced in version 0.8.0 of the Shepherd. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | | | | | | services: Add udev-rules-service helper.Brice Waegeneire2020-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/guix.texi (Base services): Add documentation for 'udev-rules-service'. Replace examples of 'udev-service-type' extension with 'udev-rules-service'. * gnu/services/base.scm (udev-rules-service): New procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | | | | | | services: Don't use the deprecated 'make-forkexec-constructor' call.Ludovic Courtès2020-04-21
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing 'make-forkexec-constructor' a string or several string arguments has been deprecated since dmd 0.1. * gnu/services/base.scm (rngd-service-type): In 'start' method, pass a list as the first argument to 'make-forkexec-constructor'. * gnu/services/desktop.scm (bluetooth-shepherd-service): Likewise. * gnu/services/spice.scm (spice-vdagent-shepherd-service): Likewise.
* | | | | | services: Move 'user-processes' to (gnu services shepherd).Ludovic Courtès2020-04-17
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/base.scm (%do-not-kill-file) (user-processes-shepherd-service, user-processes-service-type): Move to... * gnu/services/shepherd.scm: ... here.
* | | | | services: guix: Add 'set-http-proxy' action.Ludovic Courtès2020-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | services: syslog: Create log files as non-world-readable.Ludovic Courtès2020-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | services: Add 'rottlog-service-type' to '%base-services'.Ludovic Courtès2020-04-06
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | services: console-font: Fix docstring.Ludovic Courtès2020-03-23
| |_|/ |/| | | | | | | | | | | * gnu/services/base.scm (console-font-service-type): Use quasiquote and unquote appropriately in docstring.
* | | gnu: eudev: Add variant with corrected Btrfs rules.Ludovic Courtès2020-03-07
| |/ |/| | | | | | | | | | | | | 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.
* | services: udev: Do not rely on shepherd inheriting environment variables.Florian Pelz2020-02-20
|/ | | | | | | 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'.
* services: host-name: Make service one-shot.Efraim Flashner2020-01-05
| | | | | * gnu/services/base.scm (host-name-service-type): Remove 'respawn?' keyword from shepherd-service-type, add 'one-shot?'.
* services: console-font: Update example with HDPI font suggestion.Jan Nieuwenhuizen2019-12-30
| | | | | | | | | 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.
* services: agetty: Really import (gnu build linux-boot).Ludovic Courtès2019-10-21
| | | | | | | | 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)").
* Merge branch 'master' into core-updatesRicardo Wurmus2019-10-06
|\
| * services: udev: Explicitly depend on (gnu build linux-boot).Ludovic Courtès2019-10-06
| | | | | | | | | | * gnu/services/base.scm (udev-shepherd-service): Wrap 'start' method in 'with-imported-modules'.
| * services: agetty: Explicitly depend on (gnu build linux-boot).Ludovic Courtès2019-10-06
| | | | | | | | | | * gnu/services/base.scm (default-serial-port): Wrap in 'with-imported-modules'.
| * services: For "gdm-password" pam service, include "limits.conf".Jesse Gibbons2019-10-02
| | | | | | | | | | | | | | * gnu/services/base.scm (pam-limits-service-type): For "gdm-password" pam service, include "limits.conf". Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* | services: urandom-seed: Credit the entropy added to the PRNG.Ludovic Courtès2019-10-05
|/ | | | | | | | 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'.
* services: Fix /usr/bin/env special file target.Ludovic Courtès2019-09-12
| | | | | | This is a followup to a9162155975a131afa1e6a44262afbb7af91f7fd. * gnu/services/base.scm (%base-services): Fix "/usr/bin/env" target.
* services: Add ‘/usr/bin/env’ special file.Tobias Geerinckx-Rice2019-09-09
| | | | | * gnu/services/base.scm (%base-services): Add ‘/usr/bin/env‘ to special-files-service-type.
* Revert "services: Add ‘/usr/bin/env’ special file."Mark H Weaver2019-09-06
| | | | | | | | 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.
* services: Fix typo.Efraim Flashner2019-09-06
| | | | | | This is a follow-up to 3b38bf141a464e1bb370af7d2b2651d1efb29781. * gnu/services/base.scm (%base-services): Remove duplicated line.
* services: Add ‘/usr/bin/env’ special file.Tobias Geerinckx-Rice2019-09-06
| | | | | * gnu/services/base.scm (%base-services): Add ‘/usr/bin/env‘ to special-files-service-type.
* services: console-fonts: Update docstring.John Soo2019-08-22
| | | | | | | * gnu/services/base (console-font-service-type): Add documentation about valid arguments. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* etc: Remove hydra.gnu.org.pub key.Tobias Geerinckx-Rice2019-06-29
| | | | | | | | | * 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.
* services: guix-publish: Configure log rotation.guix-publish-loggingChristopher Baines2019-06-10
| | | | | * gnu/services/base.scm (%guix-publish-log-rotations): New variable. (guix-publish-service-type): Extend the rottlog-service-type.
* services: guix-publish: Log to a file.Christopher Baines2019-06-10
| | | | | | | 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.
* services: guix-publish: Allow for multi-compression.Ludovic Courtès2019-06-03
| | | | | | | | | | | | | | | | 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'.