aboutsummaryrefslogtreecommitdiff
path: root/gnu/home/services
Commit message (Collapse)AuthorAge
* home: shepherd: Add daemonize? option to configuration.Andrew Tropin2022-09-14
| | | | | | | | | | * 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.
* home: shepherd: Add shepherd/init.scm to XDG_CONFIG_HOME.Andrew Tropin2022-09-12
| | | | | | | * gnu/home/services/shepherd.scm (shepherd-xdg-configuration-files): New variable. (home-shepherd-service-type)[extensions]: Add HOME-XDG-CONFIGURATION-FILES-SERVICE-TYPE extension.
* services: Use the new maybe/unset API.Attila Lendvai2022-08-25
| | | | | | | | | | | | | | | | | | | * 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>
* home: ssh: Fix invalid value error for address-family.Maxim Cournoyer2022-08-10
| | | | | | | | | | | 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>
* home: xdg: Skip mkdir XDG_RUNTIME_DIR in activation script.Andrew Tropin2022-08-05
| | | | | | | * 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>
* home: xdg: Use a single @ instead of @@.Andrew Tropin2022-08-05
| | | | | | | * 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>
* home: services: environment-variables: Double-quote values.Ludovic Courtès2022-07-14
| | | | | | | | | | | | | | 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'.
* home: services: shells: Double-quote environment variable values.Ludovic Courtès2022-07-14
| | | | | | | | | | | | 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.
* home: services: shell: Do not use "setup" as a verb.Ludovic Courtès2022-07-14
| | | | | | * 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.
* gnu: home: Add Guix channels service.Reily Siegel2022-07-12
| | | | | | | | * 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>
* home: services: shells: Export Fish environment variables.(2022-06-29
| | | | | | | | | | 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>
* home: Add OpenSSH service.Ludovic Courtès2022-06-17
| | | | | | | * 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.
* services: configuration: Use *unspecified* instead of 'disabled.Attila Lendvai2022-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* home: shells: Migrate fish to xdg-configuration-files.Bastien Rivière2022-04-29
| | | | | | | * 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>
* home: services: fish: Fix incorrect ".config" file name.Maya2022-04-29
| | | | | | | | | 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>
* home: shepherd: Redirect input port to /dev/null.Ludovic Courtès2022-04-21
| | | | | | | Suggested by Aleksandr Vityazev <avityazev@posteo.org>. * gnu/home/services/shepherd.scm (home-shepherd-configuration-file): Redirect input port to /dev/null.
* home: shepherd: "shepherd.conf" returns one value.Ludovic Courtès2022-04-21
| | | | | | | | | Fixes <https://issues.guix.gnu.org/54779>. Reported by Aleksandr Vityazev <avityazev@posteo.org> and Nicolas Graves <ngraves@ngraves.fr>. * gnu/home/services/shepherd.scm (home-shepherd-configuration-file): Return one value.
* home: shepherd: Prevent launching the second instance.Andrew Tropin2022-04-12
| | | | | | | | | Fixes <https://issues.guix.gnu.org/54545>. * gnu/home/services/shepherd.scm (launch-shepherd-gexp): Launch shepherd if and only if its socket file does not already exist. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: symlink-manager: Handle non-existing directory during cleanup.Andrew Tropin2022-04-11
| | | | | | | * gnu/home/services/symlink-manager.scm (update-symlinks-script): Handle non-existing directory during cleanup. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: shells: Rename zsh related functions.Andrew Tropin2022-04-11
| | | | | | | * gnu/home/services/shells.scm (home-zsh-service-type): Make zsh related private functions more consistently named. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: symlink-manager: Use no-follow version of file-exists?.Andrew Tropin2022-04-10
| | | | | | | * gnu/home/services/symlink-manager.scm (update-symlinks-script): Use no-follow version of file-exists?. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: Add home-xdg-data-files-service-type.Andrew Tropin2022-04-08
| | | | | | | | | | * gnu/home/services.scm (home-xdg-data-files-service-type): New variable. * gnu/home/services/symlink-manager.scm (update-symlinks-script): Add a proper handling for XDG_DATA_HOME value. * gnu/home/services/xdg.scm (home-xdg-mime-applications-service-type): Use home-xdg-data-files service. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: symlink-manager: Remove appending of leading dot.Andrew Tropin2022-04-08
| | | | | | | | | | | | * gnu/home/services.scm (xdg-configuration-files-directory): Add leading dot. * gnu/home/services.scm (xdg-configuration-files-service-type): Change name. * gnu/home/services/shells.scm (add-shell-profile-file, zsh-get-configuration-files, add-zsh-dot-configuration, add-zsh-xdg-configuration, add-bash-configuration): Add leading dots. * gnu/home/services/symlink-manager.scm (update-symlinks-script): Remove leading dot. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: shepherd: Default to version 0.9.Ludovic Courtès2022-04-07
| | | | | | | * gnu/home/services/shepherd.scm (<home-shepherd-configuration>)[shepherd]: Default to SHEPHERD-0.9. (home-shepherd-configuration-file): Use 'start-in-the-background' when it is defined.
* home: services: zsh: Fix zshenv creation.Brian Kubisiak2022-04-03
| | | | | | | | | | | | | Fixes a regression introduced by 4935501fd9f690d8990bb798237d51702b87fb3f that would skip generating the user's ~/.config/zsh/.zshenv unless both of zshenv and environment-variables are set in the configuration. * gnu/home/services/shells.scm (zsh-get-configuration-files): Generate ~/.config/zsh/.zshenv when only one of zshenv or environment-variables is specified. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: symlink-manager: Respect XDG_CONFIG_HOME during activation.Andrew Tropin2022-03-20
| | | | | | | * gnu/home/services/symlink-manager.scm (update-symlinks-script): Respect XDG_CONFIG_HOME during activation. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: Migrate fountutils and xdg modules to xdg-configuration-files.Andrew Tropin2022-03-20
| | | | | | | | | * gnu/home/services/fontutils.scm (home-fontconfig-service-type): Migrate to xdg-configuration-files. * gnu/home/services/xdg.scm (home-xdg-user-directories-service-type, home-xdg-mime-applications-service-type): Migrate to xdg-configuration-files. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: shells: Migrate zsh to xdg-configuration-files.Andrew Tropin2022-03-20
| | | | | | | * gnu/home/services.scm (home-zsh-service-type): Additionally extend home-xdg-configuration-files-service-type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: Explicitly connect home-file and symlink-manager services.Andrew Tropin2022-03-20
| | | | | | | | * gnu/home/services.scm (home-files-directory): New variable. * gnu/home/symlink-manager.scm (update-symlinks-script): Use home-files-directory variable from (gnu home services). Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: symlink-manager: Add missing 'done' word in message.Andrew Tropin2022-03-20
| | | | | | | * gnu/home/services/symlink-manager.scm (update-symlinks-script): Add missing 'done' word in message, keep code width below 80 column. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: symlink-manager: Use existing home-directory symbol.Andrew Tropin2022-03-20
| | | | | | | * gnu/home/services/symlink-manager.scm (update-symlinks-script): Use existing home-directory symbol instead of additional getenv call. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: services: Fix bash aliases without guix-defaults.angryrectangle2022-03-18
| | | | | | | | | * gnu/home/services/shells.scm: Fix bash aliases not being added if guix-defaults? was #f. Also fix inaccuracy in documentation about placement of defaults. * doc/guix.texi (Shells Home Services): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: services: Export record type accessors.Ludovic Courtès2022-03-18
| | | | | * gnu/home/services/shepherd.scm: Export <home-shepherd-configuration> accessors. Re-export <shepherd-service> accessors.
* home: symlink-manager: Rename "path" to "file" where appropriate.Ludovic Courtès2022-03-10
| | | | | | | | | | | | | | | * gnu/home/services/symlink-manager.scm (update-symlinks-script): [home-path]: Rename to... [home-directory]: ... this. Adjust users. [backup-dir]: Rename to... [backup-directory]: ... this. Adjust user. [get-target-path]: Rename to... [target-file]: ... this. Adjust users. [get-backup-path]: Remove. [backup-file]: Inline it. [cleanup-symlinks](get-source-path): Rename to... (source-file): ... this. Adjust users. Rename 'he-path' to 'home' and 'new-he-path' to 'pivot'.
* home: symlink-manager: 'create-symlinks' uses 'file-system-fold'.Ludovic Courtès2022-03-10
| | | | | | | | | This removes the need for two intermediate representations of the file tree. * gnu/home/services/symlink-manager.scm (update-symlinks-script) [simplify-file-tree, file-tree-traverse]: Remove. [create-symlinks]: Rewrite in terms of 'file-system-fold'.
* home: symlink-manager: 'cleanup-symlinks' uses 'file-system-fold'.Ludovic Courtès2022-03-10
| | | | | | * gnu/home/services/symlink-manager.scm (update-symlinks-script)[cleanup-symlinks]: Take a home generation and iterate over its config files directly with 'file-system-fold'. Adjuster caller accordingly. Remove 'old-tree'.
* home: symlink-manager: Avoid extra 'lstat' call.Ludovic Courtès2022-03-10
| | | | | * gnu/home/services/symlink-manager.scm (update-symlinks-script)[symlink-to-store?]: Avoid extra 'lstat' call.
* home: symlink-manager: Remove 'empty-directory?' and avoid TOCTTOU race.Ludovic Courtès2022-03-10
| | | | | | | | | This removes three 'stat' syscalls. * gnu/home/services/symlink-manager.scm (update-symlinks-script)[empty-directory?]: Remove. [cleanup-symlinks]: Replace use of 'file-exists?', 'file-is-directory?', and 'empty-directory?' by a single 'rmdir' call.
* home: symlink-manager: Use 'file-is-directory?'.Ludovic Courtès2022-03-10
| | | | | | * gnu/home/services/symlink-manager.scm (update-symlinks-script)[directory?]: Remove. Change callers to use 'file-is-directory?' instead.
* home: symlink-manager: Use 'for-each' when used for effects.Ludovic Courtès2022-03-10
| | | | | * gnu/home/services/symlink-manager.scm (update-symlinks-script)[cleanup-symlinks] [create-symlinks]: Use 'for-each' instead of 'map'.
* home: symlink-manager: Move helper procedures as top-level defines.Ludovic Courtès2022-03-10
| | | | | | | | | * gnu/home/services/symlink-manager.scm (update-symlinks-script): Remove 'config-home', which is unused. Move 'home-path', 'backup-dir', 'get-target-path', 'get-backup-path', 'directory?', 'empty-directory?', 'symlink-to-store?', and 'backup-file' to the top level. Move 'create-symlinks' and 'cleanup-symlinks' to the top level as well, and add parameters. Adjust callers.
* home: symlink-manager: Clarify module imports.Ludovic Courtès2022-03-10
| | | | | | * gnu/home/services/symlink-manager.scm (update-symlinks-script): Wrap body in 'with-imported-modules'. Move (guix build utils) import to the top. Move #$%initialize-gettext after definitions.
* home: xdg: Fix xdg-desktop-entry config field serialization.Andrew Tropin2022-03-01
| | | | | | | | | [[PGP Signed Part:No public key for 2208D20958C1DEB0 created at 2022-03-01T06:09:14+0100 using RSA]] * gnu/home/services/xdg.scm (serialize-xdg-desktop-entry): Use append instead of identity to allow multiple alist values. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: Add redshift service.Ludovic Courtès2022-02-07
| | | | | | * gnu/home/services/desktop.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Desktop Home Services): New node.
* home: services: Make strings in Gexps translateble.Xinglu Chen2022-01-03
| | | | | | | | | | | | | * gnu/home/services.scm (%initialize-gettext): New variable. (compute-on-first-login-script): Use it. (compute-on-change-gexp): Likewise. * gnu/home/services/symlink-manager.scm (update-symlinks-script): Likewise. * po/guix/POTFILES.in: Add gnu/home-services.scm and gnu/home/services/symlink-manager.scm. Suggested-by: Ludovic Courtès <ludo@gnu.org> Link: <https://yhetil.org/guix-bugs/87sfvy8k1u.fsf@gnu.org> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: services: bash: Only source /etc/bashrc if it exists.Tobias Geerinckx-Rice2021-11-24
| | | | | | | * gnu/home/services/shells.scm (home-bash-configuration): Check whether /etc/bashrc exists before trying to ‘source’ it. Reported by guixy on #guix.
* home: services: bash: Emit 'extra-content' first again.Ludovic Courtès2021-11-16
| | | | | | | | | Fixes a regression introduced in 4b96998292442ec03024481c911d88f86c7c36b5 that would less to a 'tests/guix-home.sh' failure. * gnu/home/services/shells.scm (add-bash-configuration)[file-if-not-empty]: Move EXTRA-CONTENT first.
* gnu: home: services: Fix typo.Vagrant Cascadian2021-11-14
| | | | | * gnu/home/services/xdg.scm (home-xdg-base-directories-service-type): Fix spelling of "convenient".
* gnu: home: services: Fix typo.Vagrant Cascadian2021-11-14
| | | | * gnu/home/services/utils.scm: Fix spelling of "anything".
* gnu: home: services: Fix typo.Vagrant Cascadian2021-11-14
| | | | | * gnu/home/services/shells.scm (home-shell-profile-configuration): Fix spelling of "available".