summary refs log tree commit diff
path: root/gnu/home/services
AgeCommit message (Collapse)Author
2023-05-13services: shepherd: Default to 0.10.Ludovic Courtès
* gnu/services/shepherd.scm (<shepherd-configuration>)[shepherd]: Default to SHEPHERD-0.10. * gnu/home/services/shepherd.scm (<home-shepherd-configuration>)[shepherd]: Likewise.
2023-05-11gnu: home: services: fontutils: Add support for SXML fragments.Andrew Patterson
* gnu/home/services/fontutils.scm (add-fontconfig-config-file): Add support for adding arbitrary SXML configuration into fonts.conf; * doc/guix.texi (Fonts Services): Update the documentation. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-21home: services: openssh: Add configuration option for jump proxiesSaku Laesvuori
Add a new 'proxy' field to openssh-host to allow ProxyCommand or ProxyJump, but not both, to be configured. Configuring both would cause the serialization order to determine which one is used. Deprecate the 'proxy-command' field because the 'proxy' field replaces it. * gnu/home/services/ssh.scm (proxy-jump->string, proxy-command-or-jump-list?, serialize-proxy-command-or-jump-list, sanitize-proxy-command): New procedure. (proxy-jump, proxy-command): New record type. (openssh-host)[proxy-command]: Mark field as deprecated because OpenSSH can't have ProxyCommand and ProxyJump configured at the same time. * doc/guix.texi (Secure Shell): Update to match the changes to the service. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-08home: Add gpg-agent service.Ludovic Courtès
* gnu/home/services/gnupg.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (GNU Privacy Guard): New node. (Secure Shell): Link to it.
2023-04-07home: xdg-base-directories: Set correct value for XDG_STATE_HOME.Bruno Victal
XDG Base Directory Specification 0.8 officially introduces the XDG_STATE_HOME environment variable. Fixes <https://issues.guix.gnu.org/issue/61809>. * gnu/home/services/xdg.scm (home-xdg-base-directories-configuration)[state-home]: Set default value according to spec. Update field documentation. (home-xdg-base-directories-service-type): Update service description. Signed-off-by: Andrew Tropin <andrew@trop.in>
2023-04-02services: replace bare serializers with (serializer ...)Bruno Victal
* gnu/home/services/shells.scm (home-zsh-configuration)[environment-variables]: Use (serializer ...). (home-bash-configuration)[aliases, environment-variables]: Likewise. (home-fish-configuration)[abbreviations, aliases] [environment-variables]: Likewise. * gnu/services/audio.scm (mpd-configuration)[music-dir, playlist-dir] [endpoints, address, inputs, archive-plugins, input-cache-size] [decoders, filters, playlist-plugins]: Likewise. * gnu/services/linux.scm (fstrim-configuration)[extra-arguments]: Likewise. * gnu/services/security.scm (fail2ban-jail-configuration)[backend] [log-encoding, extra-content]: Likewise. * tests/services/configuration.scm: Update tests. ("serialize-configuration [deprecated]"): New test. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-03-26home: services: Export home-xmodmap-service-type and configuration.Jan (janneke) Nieuwenhuizen
This is a follow-up to commit 511ae8325db0dfc7803d7b98d7e4d8f76774e8c5 home: services: Add home-xmodmap-service-type. * gnu/home/services/desktop.scm (home-xmodmap-service-type, home-xmodmap-configuration): Export.
2023-03-17home: services: Add home-xmodmap-service-type.conses
* gnu/home/services/desktop.scm (home-xmodmap-service-type) (home-xmodmap-configuration): New variables; (serialize-xmodmap-configuration) (xmodmap-shepherd-service): New procedures; * doc/guix.texi (Desktop Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-17home: services: ssh-agent: Handle setting of SSH_AUTH_SOCK.Jan (janneke) Nieuwenhuizen
* gnu/home/services/ssh.scm (home-ssh-agent-environment-variables): New procedure. (home-ssh-agent-service-type): Use it as ahome-environment-service type extension. * doc/guix.texi (Secure Shell): Remove advice about, and examples of setting SSH_AUTH_SOCK.
2023-03-16home: services: kodi, znc, ssh-agent: Use 'match-record'.Ludovic Courtès
* gnu/home/services/media.scm (home-kodi-services): Use 'match-record' instead of 'match'. * gnu/home/services/messaging.scm (home-znc-services): Likewise. * gnu/home/services/ssh.scm (home-ssh-agent-services): Likewise.
2023-03-16home: services: znc: Remove host-side use of (shepherd support).Ludovic Courtès
This is a followup to 193f547ca35eb49ef57bd9a25b67cb3965f10b03, which inadvertently pulled in (shepherd support) on the host side. * gnu/home/services/messaging.scm (home-znc-services): Change 'command' and 'log-file' to gexps. Add 'modules' field to 'shepherd-service'.
2023-03-16home: services: kodi: Remove host-side use of (shepherd support).Ludovic Courtès
This is a followup to 70056b1b2beebbc9f8ea2c34eacc57f379368ab3, which inadvertently pulled in (shepherd support) on the host side. * gnu/home/services/media.scm (home-kodi-services): Change 'command' and 'logfile' to gexps. Add 'modules' field to 'shepherd-service'.
2023-03-16home: services: ssh-agent: Remove host-side use of (shepherd support).Ludovic Courtès
This is a followup to 2c2f382e757d5eef39e8460a20ac75a1b1f8b22e, which inadvertently pulled in (shepherd support) on the host side. * gnu/home/services/ssh.scm (<home-ssh-agent-configuration>)[socket-directory]: Change value to a gexp. (home-ssh-agent-services): Change 'socket-file' and 'command' to a gexp. Add 'modules' field to 'shepherd-service'. * doc/guix.texi (Secure Shell): Adjust accordingly.
2023-03-16gnu: home: services: Add home-kodi-service-type.Jan (janneke) Nieuwenhuizen
* gnu/home/services/media.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/guix/POTFILES.in: Likewise. * doc/guix.texi (Media Home Services): Document it in new subsection.
2023-03-16gnu: home: services: Add home-znc-service-type.Jan (janneke) Nieuwenhuizen
* gnu/home/services/messaging.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/guix/POTFILES.in: Likewise. * doc/guix.texi (Messaging Home Services): Document it in new subsection.
2023-03-16gnu: home: services: Add home-ssh-agent-service-type.Jan (janneke) Nieuwenhuizen
* gnu/home/services/ssh.scm: (<home-ssh-agent-configuration>): New type. (home-ssh-agent-services): New procedure. (home-ssh-agent-service-type): New variable. * doc/guix.texi (Secure Shell): Document it.
2023-03-16home: services: Add home-unclutter-service-type.conses
* gnu/home/services/desktop.scm (home-unclutter-configuration) (home-unclutter-service-type): New variables; (home-unclutter-shepherd-service): New procedure; * doc/guix.texi (Desktop Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-05home: services: Add 'pulseaudio-rtp-sink' and 'pulseaudio-rtp-source'.Ludovic Courtès
* gnu/home/services/sound.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Sound Home Services): New section.
2023-01-31home: services: fontutils: Add service value.Giacomo Leidi
* gnu/home/services/fontutils.scm (add-fontconfig-config-file): Add support for multiple paths; (home-fontconfig-service-type): Honor it; * doc/guix.texi (Fonts Services): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-01-05system: Define default 'PS1' in /etc/bashrc rather than ~/.bashrc.Ludovic Courtès
Users can override 'PS1' in ~/.bashrc if they wish. Previously, on Guix Home, the "default" 'PS1' would be set in ~/.bashrc when 'home-bash-configuration-guix-defaults?' is true, preventing users from overriding it via the 'environment-variables' field of 'home-bash-extension'. * gnu/system/shadow.scm (%default-bashrc): Remove 'PS1' setting. * gnu/system.scm (operating-system-etc-service): Define PS1 in /etc/bashrc. * gnu/home/services/shells.scm (add-bash-configuration): When 'home-bash-configuration-guix-defaults?' is true, add a default 'PS1' to ~/.bash_profile.
2023-01-05system, home: Factorize default '.bashrc'.Ludovic Courtès
* gnu/system/shadow.scm (%default-bashrc): New variable. Source /etc/bashrc only if it exists. (default-skeletons): Use it. * gnu/home/services/shells.scm (guix-bashrc): Remove. (add-bash-configuration): Refer to '%default-bashrc' instead.
2022-12-23home: xdg: Add with-imported-modules to xdg activation script.Andrew Tropin
Without it activation doesn't work when called in clean environment. * gnu/home/services/xdg.scm (ensure-xdg-base-dirs-on-activation): Add with-imported-modules to xdg activation script.
2022-12-19home: xdg: Make it possible to extend user-directories service.Andrew Tropin
* gnu/home/services/xdg.scm (home-xdg-user-directories-service-type): Make it possible to override user-directories configuration by extending.
2022-12-02home: services: Use 'match-record' instead of 'match'.Ludovic Courtès
* gnu/home/services/mcron.scm (home-mcron-shepherd-services): Use 'match-record' instead of 'match'. * gnu/home/services/shells.scm (home-bash-extensions): Likewise. * gnu/home/services/xdg.scm (serialize-xdg-desktop-entry): Likewise.
2022-12-01home: xdg: Export xdg-base/user-directories getters.Andrew Tropin
* gnu/home/services/xdg.scm: Export xdg-base/user-directories getters.
2022-11-18home: services: redshift: Add 'configuration' action.Ludovic Courtès
* gnu/home/services/shepherd.scm: Re-export 'shepherd-configuration-action'. * gnu/home/services/desktop.scm (redshift-shepherd-service): Add 'actions' field.
2022-11-17Fix problems initially introduced in commit 543d971ed2, now reinstated.Maxim Cournoyer
Commit 543d971ed2 ("services: configuration: Re-order generated record fields") introduced two regressions, one in guix home and another one in the zabbix service. * gnu/home/services/shells.scm (home-bash-extensions): Remove the first pattern in the match, which used to be to ignore %location. * gnu/services/monitoring.scm (zabbix-front-end-nginx-extension): Likewise.
2022-11-17Revert "services: configuration: Revert to a working ‘guix home’."Maxim Cournoyer
This reverts commit 39e4e00f75be8055300cb0afffb8bd4b4d35f2cc, with fixes for the guix home issues reported and another one found while reconfiguring berlin in the subsequent commit.
2022-11-13services: configuration: Revert to a working ‘guix home’.Tobias Geerinckx-Rice
This reverts commit 543d971ed2a1d9eb934af1f51930741d7cc4e7ef, and its dependent commit 9b21cd2e9a614f1937769caf3917a791b151d841, which appear to have triggered a recent wave of ‘guix home’ regressions involving (services (list (service home-bash-service-type))): In gnu/home/services/shells.scm: 504:7 3 (home-bash-extensions #<<home-bash-configuration> package: #<package bash@5.1.8 gnu/packages/ba…> …) In unknown file: 2 (append #<<location> file: "…" line: 14 column: 12> ()) In ice-9/boot-9.scm: 1685:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure append: Wrong type argument in position 1 (expecting empty list): #<<location> file: "…" line: 14 column: 12> I should love to dive in & fix this rather than revert, but urgently need sleep.
2022-11-15services: mcron: Add log? and log-format fields to mcron-configuration.Maxim Cournoyer
* gnu/services/mcron.scm (list-of-gexps?): New predicate. (mcron-configuration): Rewrite using define-configuration. [log?, log-format]: New fields. (mcron-shepherd-services): Invoke mcron with the --log and --log-format arguments when log? is #t, (generate-doc): New procedure. * doc/guix.texi (Scheduled Job Execution): Update doc. (Mcron Home Service): Likewise. * gnu/home/services/mcron.scm: Keep in sync with the above changes to gnu/services/mcron.scm.
2022-10-17home: dbus: Inherit environment variables from shepherd.Andrew Tropin
* gnu/home/services/desktop.scm (home-dbus-shepherd-services)[start] <#:environment-variables>: Inherit environment variables from shepherd.
2022-10-17home: dbus: Remove unecessary list call.Andrew Tropin
* gnu/home/services/desktop.scm (home-dbus-shepherd-services)[start] <#:environment-variables>: Remove unecessary list call.
2022-10-14home: home-dbus-service-type: Fix make-forkexec-constructor call.(
* gnu/home/services/desktop.scm (home-dbus-shepherd-services)[start] <#:environment-variables>: Use a quote instead of a gexp. Signed-off-by: Andrew Tropin <andrew@trop.in>
2022-10-13gnu: home: Add home-dbus-service-type.( via Guix-patches via
* gnu/home/services/desktop.scm (home-dbus-service-type): New variable. (home-dbus-configuration): New record type. * doc/guix.texi: Document them. Signed-off-by: Andrew Tropin <andrew@trop.in>
2022-10-04home: Add home-batsignal-service-type.( via Guix-patches via
* gnu/home/services/pm.scm (home-batsignal-service-type): New variable. (home-batsignal-configuration): New record type. * doc/guix.texi: Document them. * gnu/local.mk: Add gnu/home/services/pm.scm.
2022-09-14home: shepherd: Add daemonize? option to configuration.Andrew Tropin
* gnu/home/services/shepherd.scm (home-shepherd-configuration): Add DAEMONIZE?. (home-shepherd-configuration-file): Use CONFIG argument instead of two separate SERVICES and SHEPHERD, respect DAEMONIZE?. (ensure-shepherd-gexp, launch-shepherd-gexp, shepherd-xdg-configuration-files): Adjust according to arguments changes in HOME-SHEPHERD-CONFIGURATION-FILE.
2022-09-12home: shepherd: Add shepherd/init.scm to XDG_CONFIG_HOME.Andrew Tropin
* gnu/home/services/shepherd.scm (shepherd-xdg-configuration-files): New variable. (home-shepherd-service-type)[extensions]: Add HOME-XDG-CONFIGURATION-FILES-SERVICE-TYPE extension.
2022-08-25services: Use the new maybe/unset API.Attila Lendvai
* gnu/home/services/ssh.scm (serialize-address-family): Use the public API of the maybe infrastructure. * gnu/services/file-sharing.scm (serialize-maybe-string): Use maybe-value. (serialize-maybe-file-object): Use maybe-value-set?. * gnu/services/getmail.scm (getmail-retriever-configuration): Don't use internals in unset field declarations. (getmail-destination-configuration): Ditto. * gnu/services/messaging.scm (raw-content?): Use maybe-value-set?. (prosody-configuration): Use %unset-value. * gnu/services/telephony.scm (jami-shepherd-services): Use maybe-value-set?. (archive-name->username): Use maybe-value-set?. * tests/services/configuration.scm ("maybe type, no default"): Use %unset-value. Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-08-10home: ssh: Fix invalid value error for address-family.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/57110>, a regression introduced with a2b89a3319dc1d621c546855f578acae5baaf6da. * gnu/home/services/ssh.scm (address-family?): Replace *unspecified* with 'unset. (serialize-address-family): Adjust accordingly. (openssh-host): Adjust doc. Reported-by: Oleg Pykhalov <go.wigust@gmail.com>
2022-08-05home: xdg: Skip mkdir XDG_RUNTIME_DIR in activation script.Andrew Tropin
* gnu/home/services/xdg.scm (ensure-xdg-base-dirs-on-activation): Skip mkdir XDG_RUNTIME_DIR in activation script. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-08-05home: xdg: Use a single @ instead of @@.Andrew Tropin
* gnu/home/services/xdg.scm (ensure-xdg-base-dirs-on-activation, home-xdg-user-directories-files-service): Use single @ intsead of @@. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-07-14home: services: environment-variables: Double-quote values.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/54469>. Reported by Maxime Devos <maximedevos@telenet.be>. * gnu/home/services.scm (environment-variable-shell-definitions): New procedure, with code formerly in 'serialize-posix-env-vars'. (environment-variables->setup-environment-script): Change "setup-environment" from 'mixed-text-file' to 'computed-file', and use 'environment-variable-shell-definitions'. * tests/guix-home.sh: Test it. * gnu/home/services/shells.scm (serialize-posix-env-vars): Delegate to 'environment-variable-shell-definitions'.
2022-07-14home: services: shells: Double-quote environment variable values.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/56540>. Until now, environment variable values were emitted unquoted, producing invalid shell code if the value contains spaces for example. * gnu/home/services/shells.scm (serialize-posix-env-vars): Define 'shell-quote' procedure in staged code and use it for #$value. * tests/guix-home.sh: Add test for PS1 variable with a value containing spaces.
2022-07-14home: services: shell: Do not use "setup" as a verb.Ludovic Courtès
* gnu/home/services/shells.scm (zsh-file-zprofile) (add-bash-configuration): Do not use "setup" as a word in generated files. End sentences with a period.
2022-07-12gnu: home: Add Guix channels service.Reily Siegel
* gnu/home/services/guix.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add guix.scm. * doc/guix.texi: Add documentation for home-channels-service. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-29home: services: shells: Export Fish environment variables.(
Variables set in the Fish configuration weren't previously being exported. * gnu/home/services/shells.scm (serialize-fish-env-vars): Output the `set -x` command instead of `set`. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2022-06-17home: Add OpenSSH service.Ludovic Courtès
* gnu/home/services/ssh.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/guix/POTFILES.in: Add it. * doc/guix.texi (Secure Shell): New section.
2022-06-15services: configuration: Use *unspecified* instead of 'disabled.Attila Lendvai
Use *unspecified* as a marker for field values that have not been set. Rationale: 'disabled may easily clash with user values for boolean fields, is confusing (i.e. its meaning is *not* boolean false, but unspecified) and it also passes silently through the symbol? predicate of a field of type symbol. * gnu/services/configuration.scm (configuration-missing-default-value): Renamed from configuration-no-default-value. (define-maybe-helper): Use *unspecified* instead of 'disabled, and make the default value optional. * gnu/home/services/desktop.scm (home-redshift-configuration): Change (maybe-xyz 'disabled) to maybe-xyz. * gnu/services/authentication.scm (nslcd-configuration): Likewise. * gnu/services/cgit.scm (repository-cgit-configuration): Likewise. * gnu/services/file-sharing.scm (serialize-maybe-string) (serialize-maybe-file-object): Use 'unspecified?' instead of (eq? val 'disabled). * gnu/services/messaging.scm (raw-content?): Likewise. (ssl-configuration): Change (maybe-xyz 'disabled) to maybe-xyz. (prosody-configuration): Likewise. * gnu/services/file-sharing.scm (transmission-daemon-configuration): Likewise. * gnu/services/messaging.scm (define-all-configurations): Use *unspecified* instead of 'disabled'. * gnu/services/networking.scm (opendht-configuration): Likewise. * gnu/services/pm.scm (tlp-configuration): Likewise. * gnu/services/telephony.scm (jami-account): Likewise. (jami-configuration): Likewise. * gnu/services/vpn.scm (openvpn-client-configuration): Likewise. * tests/services/configuration.scm ("maybe type, no default") ("maybe type, with default"): New tests. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-04-29home: shells: Migrate fish to xdg-configuration-files.Bastien Rivière
* gnu/home/services/shells.scm (home-fish-service-type): Use new xdg-configuration-files-service-type service. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-04-29home: services: fish: Fix incorrect ".config" file name.Maya
This is a followup to 5832d9fb601c7d4ec5380654db2b62b906bc658f. * gnu/home/services/shells.scm (fish-files-service): Change "config/" to ".config/". Signed-off-by: Ludovic Courtès <ludo@gnu.org>