summaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Expand)Author
2020-10-01services: %desktop-services: Setuid root NTFS and NFS mount helpers....Fixes <https://issues.guix.info/39670>. Combined with commit def6e2ae46, this allows unprivileged users to mount file systems marked with the "user" option. It adds less than 4 MiB to the closure of the lightweight-desktop.tmpl operating system template. * gnu/services/desktop.scm (%desktop-services): Extend the setuid-program-service-type service with the 'mount.nfs' and 'mount.nfs-3g' programs. Reported-by: Nathan Dehnel <ncdehnel@gmail.com> Maxim Cournoyer
2020-10-01gnu: Add webssh service....* gnu/services/ssh.scm: (<webssh-configuration>): New record type. (%webssh-configuration-nginx, webssh-service-type): New variables. (webssh-account, webssh-activation, webssh-shepherd-service): New procedures. * doc/guix.texi: Document this. Oleg Pykhalov
2020-09-30services: hurd-vm: Add childhurd user to kvm group....This is a follow-up to commit d692ebf98077d6b651d426aba92bf2a38599c4dc. * gnu/services/virtualization.scm (%hurd-vm-accounts)[supplementary-groups]: Add ’kvm’. * gnu/services/virtualization.scm (hurd-vm-shepherd-service): Use #:group "kvm" Jan (janneke) Nieuwenhuizen
2020-09-30services: virtualization: Use a compressed qcow2 hurd disk-image....* gnu/services/virtualization.scm (hurd-vm-disk-image): Use 'compressed-qcow2 format. Mathieu Othacehe
2020-09-29services: secret-service: Add initial client/server handshake....This allows the client running on the host to know when it's actually connect to the server running in the guest. Failing that, the client would connect right away to QEMU and send secrets even though the server is not running yet in the guest, which is unreliable. * gnu/build/secret-service.scm (secret-service-send-secrets): Add #:handshake-timeout. Read from SOCK an initial message from the server. Return #f on error. (secret-service-receive-secrets): Send 'secret-service-server' message to the client. Close SOCK upon timeout. * gnu/services/virtualization.scm (hurd-vm-shepherd-service): 'start' method returns #f when 'secret-service-send-secrets' returns #f. Ludovic Courtès
2020-09-29services: secret-service: Move instance last in the list of services....* gnu/services/virtualization.scm (secret-service-operating-system): Add the SECRET-SERVICE-TYPE instance to the end of the list. Ludovic Courtès
2020-09-29services: hurd-vm: Pass "-no-reboot" when spawning the Hurd VM....* gnu/services/virtualization.scm (hurd-vm-shepherd-service)[vm-command]: Add "--no-reboot". Ludovic Courtès
2020-09-29services: hurd-vm: Initialize the guest's SSH/Guix keys at activation time....* gnu/services/virtualization.scm (initialize-hurd-vm-substitutes) (hurd-vm-activation): New procedures. (hurd-vm-service-type)[extensions]: Add ACTIVATION-SERVICE-TYPE extension. * doc/guix.texi (Transparent Emulation with QEMU): Mention GNU/Hurd. (The Hurd in a Virtual Machine): Explain which files are automatically installed and mention offloading. Ludovic Courtès
2020-09-29services: guix: Generate key pair if needed during activation....* gnu/services/base.scm (guix-activation): Invoke "guix archive --generate-key". * doc/guix.texi (Invoking guix archive) (Invoking guix deploy): Mention that 'guix-service-type' takes care of generating the key pair. Ludovic Courtès
2020-09-29services: hurd-vm: Check whether /dev/kvm exists at run time....This change allows a childhurd to run within Guix System in a VM. * gnu/services/virtualization.scm (hurd-vm-shepherd-service)[vm-command]: Stage the 'file-exists?' call. Ludovic Courtès
2020-09-29services: childhurd: Tweak description....* gnu/services/virtualization.scm (hurd-vm-service-type)[description]: Mention "childhurd". Ludovic Courtès
2020-09-29services: hurd-vm: Run QEMU as an unprivileged user....Until qemu was running as "root", which is unnecessary. * gnu/services/virtualization.scm (%hurd-vm-accounts): New variable. (hurd-vm-service-type)[extensions]: Add ACCOUNT-SERVICE-TYPE extension. Ludovic Courtès
2020-09-28services: Add elogind ‘handle-lid-switch-external-power’....* gnu/services/desktop.scm <elogind-configuration>: Add an handle-lid-switch-external-power field, mapping to the HandleLidSwitchExternalPower logind.conf setting. * doc/guix.texi (Desktop Services): ‘Document’ it. Tobias Geerinckx-Rice
2020-09-24services: WPA Supplicant: Conditionally depend on D-Bus....Fixes <https://bugs.gnu.org/43567>. Reported by calcium <calcium@disroot.org>. * gnu/services/networking.scm (<wpa-supplicant-configuration>)[requirement]: Remove 'dbus-system. (wpa-supplicant-shepherd-service)[requirement]: Add 'dbus-system when DBUS? is true. * doc/guix.texi (Networking Services)[wpa-supplicant-service-type]: Adjust accordingly. Marius Bakke
2020-09-24services: cuirass: Create queries log files at activation....* gnu/services/cuirass.scm (cuirass-activation)[queries-log-file]: Create and set user permissions on "queries-log-file" and "web-queries-log-file". Mathieu Othacehe
2020-09-24services: cuirass: Add web SQL queries logging support....* gnu/services/cuirass.scm (<cuirass-configuration>)[web-queries-log-file]: New field. (cuirass-shepherd-service): Honor it. (cuirass-log-rotations): If defined, add the web queries log file to the log rotation. Mathieu Othacehe
2020-09-24services: cuirass: Add SQL queries logging support....* gnu/services/cuirass.scm (<cuirass-configuration>)[queries-log-file]: New field. (cuirass-shepherd-service): Honor it. (cuirass-log-rotations): If defined, add the queries log file to the log rotation. Mathieu Othacehe
2020-09-23services: docker: Fix configuration....This is a follow-up to e04b90607ac903359c90c9bad1b67fb7ce2f0eb6. * gnu/services/docker.scm (docker-shepherd-service): Fix "enable-proxy?" configuration. Oleg Pykhalov
2020-09-23services: Allow (service bluetooth-service-type)....* gnu/services/desktop.scm (bluetooth-service-type) [default-value]: Set to (bluetooth-configuration). Tobias Geerinckx-Rice
2020-09-21services: Docker: Fix typo in configuration....This is a follow-up to f0a09310e6ff2ed63770cb585c551ba94ce4a9d0. * gnu/services/docker.scm (docker-shepherd-service): Properly reference variables in service definition. Efraim Flashner
2020-09-21services: docker: Fix enable-proxy? option....The userland proxy option does not properly disable the userland proxy when set to false. Docker defaults to enabling the userland proxy if the option is unset on the command line. * gnu/services/docker.scm (docker-shepherd-service): Properly handle the 'enable-proxy?' option. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Jesse Dowell
2020-09-21services: base: Improve container related comments....* gnu/services/base.scm (guix-shepherd-service): Clarify the usage of a container for guix-daemon. Mathieu Othacehe
2020-09-21services: dicod: Reduce irony....* gnu/services/dict.scm (dicod-service): Fix docstring typo. Tobias Geerinckx-Rice
2020-09-15services: bitlbee: Support libpurple plugins....* gnu/services/messaging.scm (bitlbee-shepherd-service): Pass PURPLE_PLUGIN_PATH as #:environment-variables. Ludovic Courtès
2020-09-15services: docker: Fix service definition....This commit follows a404716d411cf7cd49ff02e3100f0bbf6622d6d5. * gnu/services/docker.scm (docker-configuration)[docker-cli]: New record field. (docker-service-type): Use this. * doc/guix.texi (Miscellaneous Services)[Docker Service]: Document this. Oleg Pykhalov
2020-09-14services: docker: Fix service definition....This is a follow-up to 8422a67dc16af4dd5eb82180463aa7a0b362d5b9. * gnu/services/docker.scm (docker-service-type): Use a composed list for packages in profile-service-type. Efraim Flashner
2020-09-14services: docker: Make docker command available....* gnu/services/docker.scm (docker-service-type): Extend the profile-service-type and add the docker-cli package. Efraim Flashner
2020-09-13services: certbot: Support registration without email....* gnu/services/certbot.scm (certbot-configuration): Add default for the email option. (certbot-command): Pass email for registration only when specified. * doc/guix.texi (Certificate Services): "mandatory"→"optional" email. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Timotej Lazar
2020-09-13services: Fix zram-device-service....* gnu/services/linux.scm (<zram-device-configuration>): Fix typo. Tobias Geerinckx-Rice
2020-09-11Revert "services: dovecot: Use modules via symlink to system profile."...This reverts commit bcfe0f0c1e9a2b91049d7c6c591c7f0c6a002c14 for now. It breaks most current use(r)s of the Dovecot service and needs to be combined with an extra modules configuration field of some kind. See <https://issues.guix.gnu.org/43347>. Tobias Geerinckx-Rice
2020-09-11services: dovecot: Only serialize settings with non-empty values....* gnu/services/mail.scm (serialize-space-separated-string-list): Protocols might have custom settings, which are not supported by other protocols. To prevent dovecot/services from crashing, serialize settings that hold non-empty values only. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> Alexey Abramov
2020-09-10services: php-fpm: Add 'php-ini-file' configuration....* gnu/services/web.scm: (<php-fpm-configuration>)[php-ini-file]: New record field. (php-fpm-shepherd-service): Use it. * doc/guix.texi (Web Services): Document it. Jelle Licht
2020-09-09services: dovecot: Serialize global settings first....* gnu/services/mail.scm (dovecot-configuration): To avoid dovecot warning messages, move serialization of protocol settings below the global one. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> Alexey Abramov
2020-09-09services: dovecot: Use modules via symlink to system profile....* gnu/services/mail.scm (%dovecot-activation): Link the location with multiple plugins (dovecot-pigeonhole, etc), to a place where dovecot can find them. * gnu/services/mail.scm (dovecot-configuration): Use the symlink. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> Alexey Abramov
2020-09-02installer: 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 Othacehe
2020-09-02services: 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) Nieuwenhuizen
2020-09-01services: 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) Nieuwenhuizen
2020-09-01services: 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) Nieuwenhuizen
2020-08-26services: 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 Isaac
2020-08-26services: 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ès
2020-08-26services: 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ès
2020-08-25services: ganeti-kvmd-service-type: Fix typo in description....* gnu/services/ganeti.scm (ganeti-kvmd-service-type)[description]: Fix typo. Tobias Geerinckx-Rice
2020-08-25Remove "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 Othacehe
2020-08-25linux-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 Othacehe
2020-08-24services: 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ès
2020-08-24services: 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ès
2020-08-19services: Allow (service accountsservice-service-type)....* gnu/services/desktop.scm (accountsservice-service-type) [default-value]: Set to accountsservice. Tobias Geerinckx-Rice
2020-08-16services: 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 Flashner
2020-08-16services: 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 Abramov
2020-08-02services: 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 Flashner