summaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Expand)AuthorAgeFilesLines
* installer: Run the installation inside a container.•••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. Mathieu Othacehe2020-09-021-50/+65
* services: childhurd: Always include the secret-service.•••* gnu/services/virtualization.scm (secret-service-operating-system): New procedure. (hurd-vm-disk-image): Use it to ensure a Childhurd always includes the secret-service. (%hurd-vm-operating-system): Remove secret-service. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Jan (janneke) Nieuwenhuizen2020-09-021-4/+11
* services: childhurd: Support installing secrets from the host.•••* gnu/services/virtualization.scm (%hurd-vm-operating-system): Add secret-service. (hurd-vm-shepherd-service): Use it to install secrets. * doc/guix.texi (The Hurd in a Virtual Machine): Document it. Jan (janneke) Nieuwenhuizen2020-09-011-11/+49
* services: Add secret-service-type.•••This adds a "secret-service" that can be added to a Childhurd VM to receive out-of-band secrets (keys) sent from the host. Co-authored-by: Ludovic Courtès <ludo@gnu.org> * gnu/services/virtualization.scm (secret-service-activation): New procedure. (secret-service-type): New variable. * gnu/build/secret-service.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Jan (janneke) Nieuwenhuizen2020-09-011-1/+28
* services: fcgiwrap: Create parent directory for unix socket.•••* gnu/services/web.scm (fcgiwrap-activation): New function. (fcgiwrap-service-type): Extend activation-service-type with fcgiwrap-activation. Arun Isaac2020-08-261-1/+18
* services: mcron: Validate jobs even in the presence of #:user.•••Fixes a bug in 949672c923b6a3953471c446e0b19f30be335572 whereby jobs specifying a #:user not available in the build environment would fail validation. Reported by Maxim Cournoyer. * gnu/services/mcron.scm (job-files)[validated-file]: Add "prologue" file and pass it to 'mcron --schedule'. Ludovic Courtès2020-08-261-1/+10
* services: mcron: Validate jobs at build time.•••That way, run-time errors in the job specs are caught at build time. * gnu/services/mcron.scm (job-file): Remove. (job-files): New procedure. (mcron-shepherd-services): Adjust accordingly. Ludovic Courtès2020-08-261-3/+21
* services: ganeti-kvmd-service-type: Fix typo in description.•••* gnu/services/ganeti.scm (ganeti-kvmd-service-type)[description]: Fix typo. Tobias Geerinckx-Rice2020-08-251-1/+1
* Remove "guile-zlib" extension when unused.•••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. Mathieu Othacehe2020-08-251-218/+210
* linux-libre: Support module compression.•••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. Mathieu Othacehe2020-08-251-210/+218
* services: unattended-upgrade: Log output of the 'guix' commands.•••Fixes <https://bugs.gnu.org/43011>. Reported by Jesse Gibbons <jgibbons2357@gmail.com>. Until now the stdout/stderr file descriptors were not redirected. * gnu/services/admin.scm (unattended-upgrade-mcron-jobs)[code]: Remove 'with-logging' and use 'redirect-port' instead. Ludovic Courtès2020-08-241-30/+26
* services: unattended-upgrade: Add 'operating-system-file' field.•••* gnu/services/admin.scm (<unattended-upgrade-configuration>)[operating-system-file]: New field. (unattended-upgrade-mcron-jobs): Honor it. * doc/guix.texi (Unattended Upgrades): Document it. Ludovic Courtès2020-08-241-2/+7
* services: Allow (service accountsservice-service-type).•••* gnu/services/desktop.scm (accountsservice-service-type) [default-value]: Set to accountsservice. Tobias Geerinckx-Rice2020-08-191-1/+2
* services: connman-shepherd-service: Don't use short flags.•••* gnu/services/networking.scm (connman-shepherd-service): Use the long flag options for the start command. Efraim Flashner2020-08-161-2/+3
* services: docker: Add 'enable-iptables?' argument.•••* gnu/services/docker.scm (docker-configuration): Define the argument. * gnu/services/docker.scm (docker-shepherd-service): Use it. * doc/guix.texi (Docker Service): Document it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Alexey Abramov2020-08-161-2/+9
* services: Add zram-device-service.•••* gnu/services/linux.scm (<zram-device-configuration>): New record. (zram-device-service-type): New variable. * doc/guix.texi (Linux Services): Document it. * tests/services/linux.scm (zram-swap-device-test): New tests. Efraim Flashner2020-08-021-1/+80
* services: postgresql: Provide postgresql commands.•••* gnu/services/databases.scm (postgresql-service-type): Extend profile-service-type to provide postgresql commands. Pierre Neidhardt2020-08-011-1/+3
* services: auditd: Provide default configuration directory.•••* gnu/services/auditd.scm (auditd.conf) (%default-auditd-configuration-directory): New variables. (<auditd-configuration>): Switch to 'define-record-type*'. [configuration-directory]: New field. (auditd-shepherd-service): Honor 'configuration-directory'. Pass #:pid-file. (auditd-service-type)[description]: Tweak. [default-value]: Provide 'configuration-directory'. * doc/guix.texi (Miscellaneous Services): Update docs to reflect changes. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Robin Green2020-07-271-11/+30
* services: Add 'unattended-upgrade-service-type'.•••* gnu/services/admin.scm (<unattended-upgrade-configuration>): New record type. (%unattended-upgrade-log-file): New variable. (unattended-upgrade-mcron-jobs, unattended-upgrade-log-rotations): New procedures. (unattended-upgrade-service-type): New variable. * doc/guix.texi (Service Reference): Add 'provenance-service-type' anchor. (Unattended Upgrades): New section. Ludovic Courtès2020-07-271-2/+138
* services: nix: Add extra-options.•••* gnu/services/nix.scm (<nix-configuration>)[extra-options]: New field. (nix-shepherd-service): Add this. (nix-activation): Add new line to the end of /etc/nix/nix.conf file. * doc/guix.texi (Miscellaneous Services)[Nix service]: Document this. Oleg Pykhalov2020-07-251-3/+7
* services: nix: Fix typo.•••* gnu/services/nix.scm (<nix-configuration>): Fix typo. Oleg Pykhalov2020-07-251-1/+1
* services: nix: Export nix-configuration.•••* gnu/services/nix.scm (nix-configuration, nix-configuration?): Export. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com> Peng Mei Yu2020-07-251-1/+4
* services: nix: Provide nix commands.•••* gnu/services/nix.scm (nix-service-type): Extend profile-service-type to provide nix commands. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com> Peng Mei Yu via Guix-patches via2020-07-251-1/+4
* services: nix: Fix sandbox.•••* gnu/tests/package-management.scm: New file. * gnu/local.mk: Add this. * gnu/services/nix.scm (<nix-configuration>): New record. (nix-activation): Generate Nix config file which fixes sandbox. (nix-service-type): Add default value. (nix-shepherd-service): Allow provide Nix package. * doc/guix.texi (Miscellaneous Services)[Nix service]<nix-configuration>: Document record. Oleg Pykhalov2020-07-221-32/+59
* services: base: Export references-file.•••* gnu/services/base.scm (references-file): Export procedure. Oleg Pykhalov2020-07-221-0/+2
* services: ganeti: Fix erroneous gexp.•••* gnu/services/ganeti.scm (ganeti-watcher-command): Add missing parens. Marius Bakke2020-07-211-1/+1
* services: ganeti: Use TLS on the remote API by default.•••* gnu/services/ganeti.scm (<ganeti-rapi-configuration>): Set SSL? to #t. * gnu/tests/ganeti.scm (%ganeti-os): Set SSL? to #f. * doc/guix.texi (Virtualization Services): Adjust accordingly. Marius Bakke2020-07-191-1/+1
* services: Add ganeti.•••* gnu/services/ganeti.scm, gnu/tests/ganeti.scm: New files. * doc/guix.texi (Virtualization Services): Document the Ganeti services. Marius Bakke2020-07-161-0/+1109
* services: web: Do not export record type descriptors.•••* gnu/services/web.scm (<httpd-configuration>, <httpd-virtualhost>) (<httpd-config-file>, <httpd-module>, <nginx-configuration>) (<nginx-server-configuration>, <nginx-upstream-configuration>) (<nginx-location-configuration>, <nginx-named-location-configuration>) (<php-fpm-configuration>, <php-fpm-dynamic-process-manager-configuration>) (<php-fpm-static-process-manager-configuration>) (<php-fpm-on-demand-process-manager-configuration>) (<tailon-configuration-file>, <tailon-configuration>) (<varnish-configuration>, <patchwork-database-configuration>) (<patchwork-settings-module>, <patchwork-configuration>) (<mumi-configuration>): Do not export. Ludovic Courtès2020-07-121-21/+1
* services: mumi: Run in a UTF-8 locale.•••* gnu/services/web.scm (mumi-shepherd-services)[environment]: New variable. Pass it as #:environment-variables to each 'make-forkexec-constructor' call. Ludovic Courtès2020-07-121-0/+9
* services: Remove obsolete comment.•••This TODO was resolved in ea4915a74bc4c03495d4910c1e32a92c790b6626. * gnu/services/base.scm (%default-authorized-guix-keys): Remove TODO comment. Marius Bakke2020-07-121-2/+0
* services: guix: Refer to 'berlin.guix.gnu.org.pub'.•••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. Christopher Lemmer Webber2020-07-111-1/+1
* services: guix: Refer to 'berlin.guixsd.org.pub'.•••This partly reverts d283bb960f927dd5f7bb8b96bc697221e4e8ad39. * gnu/services/base.scm (%default-authorized-guix-keys): Refer to berlin.guixsd.org.pub. Ludovic Courtès2020-07-101-1/+3
* maint: Remove traces of "berlin.guixsd.org".•••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. Ludovic Courtès2020-07-101-1/+1
* services: simulated-wifi: Use 'kernel-module-loader'.•••* gnu/services/networking.scm (simulated-wifi-shepherd-services): Change 'mac-simulation-module' service to use 'kernel-module-loader'. Brice Waegeneire2020-07-061-18/+7
* services: wpa-supplicant: Support specifying additional service dependencies.•••* gnu/services/networking.scm (<wpa-supplicant-configuration>)[requirement]: New parameter. (wpa-supplicant-shepherd-service): Use it instead of hard-coded list. * doc/guix.texi (Networking Services): Document accordingly. Marius Bakke2020-07-021-3/+6
* services: wpa-supplicant: Do not export the <wpa-supplicant-configuration> re...•••* gnu/services/networking.scm: Remove <wpa-supplicant-configuration> from exports. Marius Bakke2020-07-021-1/+0
* services: virtualization: Export hurd-vm-configuration accessors.•••* gnu/services/virtualization.scm (hurd-vm-id, hurd-vm-options): Rename export to ... (hurd-vm-configuration-id, hurd-vm-configuration-options): ... these correct accessor names. (hurd-vm-configuration?, hurd-vm-configuration-os, hurd-vm-configuration-qemu, hurd-vm-configuration-image, hurd-vm-configuration-disk-size, hurd-vm-configuration-memory-size, hurd-vm-configuration-options, hurd-vm-configuration-id, hurd-vm-configuration-net-options): Export record predicate and accessors. Jan (janneke) Nieuwenhuizen2020-06-281-2/+9
* services: Add rshiny service.•••* gnu/services/science.scm: New file. (<rshiny-configuration>): New record. (rshiny-shepherd-service-type): New variable. * doc/guix.texi (Miscellaneous Services): Document it. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Efraim Flashner2020-06-281-0/+57
* services: Add missing (ice-9 format) import.•••These issues were reported by -Wformat, though they were harmless in practice because importing (ice-9 format) changes the global 'format' binding currently. * gnu/services/nix.scm: Import (ice-9 format). * gnu/services/web.scm: Likewise. * gnu/system/mapped-devices.scm: Likewise. Ludovic Courtès2020-06-252-1/+3
* services: childhurd: Adjust for hurd-disk-image move.•••This is a follow-up to commit b904b59ce592c89dfb4675a8c06757afed6738a0. * gnu/services/virtualization.scm: Import (gnu system images hurd). Marius Bakke2020-06-251-0/+1
* services: childhurd: Support more than one instance.•••* gnu/services/virtualization.scm (<hurd-vm-configuration>)[options]: Remove "--hda" option. [id,net-options]: New fields. (hurd-vm-net-options): New procedure. Parameterize port forwarding with ID. * gnu/services/virtualization.scm (hurd-vm-shepherd-service): Use them. Parameterize provision with ID, if set. Hardcode "--hda" option for image. * doc/guix.texi (Virtualization Services): Document new fields. Update for hardcoding of "--hda". Jan (janneke) Nieuwenhuizen2020-06-211-11/+32
* services: Add 'hurd-vm service-type'.•••* gnu/services/virtualization.scm (hurd-vm-shepherd-service, hurd-vm-disk-image): New procedures. (%hurd-vm-operating-system, hurd-vm-service-type): New variables. (<hurd-vm-configuration>): New record type. * doc/guix.texi (Virtualization Services): Document it. * gnu/services/shepherd.scm (scm->go): Use let-system, remove FIXME. Fixes fixes cross-building of shepherd modules for the Hurd image. Jan (janneke) Nieuwenhuizen2020-06-142-9/+118
* services: hurd: Remove deprecated 'hurd-getty-service' wrapper.•••* gnu/services/hurd.scm (hurd-getty-service): Remove. Jan (janneke) Nieuwenhuizen2020-06-131-5/+0
* services: Add `hurd-getty-service-type'.•••* gnu/services/hurd.scm (<hurd-gettty-configuration>): New record. (hurd-ttys-shepherd-service): New procedure. (hurd-getty-service-type): New variable. * doc/guix.texi (Hurd Services): Document it. Jan (janneke) Nieuwenhuizen2020-06-081-1/+51
* services: Add `hurd-console-service-type'.•••* gnu/services/hurd.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Hurd Services): Document it. Jan (janneke) Nieuwenhuizen2020-06-081-0/+73
* xorg: honor xorg-configuration-server in xorg-configuration->file•••Fixes <https://bugs.gnu.org/40806>. Previously the xorg-server package specified in the configuration was ignored entirely in xorg-configuration->file. This had the effect that while the X program of the configured package would be executed, the modules of the configured package would be ignored in favor of the default xorg-server package's modules. This fixes that. * gnu/services/xorg.scm (xorg-configuration->file): honor xorg-configuration-server. Caleb Ristvedt2020-06-041-80/+81
* gnu: services: docker: Add a debug? parameter.•••* gnu/services/docker.scm (docker-configuration): Add a debug? field. (containerd-shepherd-service): Pass the "--log-level=debug" argument when DEBUG? is true. (docker-shepherd-service): Pass the "--debug" and "--log-level=debug" arguments when DEBUG? is true. * doc/guix.texi (Miscellaneous Services): Update doc. Maxim Cournoyer2020-06-031-4/+16
* services: nfs: Expose configuration options for TCP and UDP.•••* gnu/services/nfs.scm (<nfs-configuration>)[nfsd-tcp?, nfsd-udp?]: New fields. (nfs-shepherd-services)[rpc.nfsd]: Populate the --{no-,}tcp and --{no-,}udp command line options based on the values of the nfsd-tcp? and nfsd-upd? fields. * doc/guix.texi (Network File System): Add doc. Maxim Cournoyer2020-05-291-1/+13
* services: Fix permissions of directory /var/spool/cups/tmp.•••Fixes <https://bugs.gnu.org/41367>. * gnu/services/cups.scm (%cups-activation): Fix permissions of directory /var/spool/cups/tmp. Danny Milosavljevic2020-05-261-1/+1