summary refs log tree commit diff
path: root/gnu/home
AgeCommit message (Collapse)Author
2023-01-09home: environment-variables: Fix escaping.Andrew Tropin
* gnu/home/services.scm (environment-variable-shell-definitions): Fix escaping. * tests/guix-home.sh: Add STRING_WITH_ESCAPES environment variable and test its value. Reported-by: elevnkb
2023-01-09home: environment-variables: Return support for file-likes and gexps.Andrew Tropin
* gnu/home/services.scm (environment-variable-shell-definitions): Add support for file-likes and gexps. * tests/guix-home.sh: Add SHELL environment variable and test its value. Add BUILDHOSTTIME environment variable.
2023-01-05home: shells: Do not escape backslashes in single-quoted strings.Ludovic Courtès
This is a followup to 73684dc90e013f2f0cca1097b0c944bb9aa88709. * gnu/home/services.scm (environment-variable-shell-definitions) [shell-single-quote]: Remove #\\ from the escape list.
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.
2023-01-05home: services: environment-variables: Add support for literal strings.Ludovic Courtès
* gnu/home/services.scm (<literal-string>): New record type. (environment-variable-shell-definitions): Split 'shell-quote' into 'quote-string' and 'shell-double-quote'. Add 'shell-single-quote'. Add clause for 'literal-string' records. * tests/guix-home.sh: Test it. * doc/guix.texi (Essential Home Services): Document it.
2023-01-03guix: Fix typos.jman
* gnu/home/services.scm (home-files-service-type): Fix typo. (home-xdg-configuration-files-service-type): Likewise. (home-xdg-data-files-service-type): Likewise. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
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-19home: Use absolute path for home in activation script.Andrew Tropin
* gnu/home/services.scm (compute-activation-script): Use absolute path for home in activation script.
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: Use warning instead of display.Andrew Tropin
* gnu/home/services/xdg.scm (compute-on-first-login-script): Use warning instead of display. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
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-08-02home: Add explicit dependency on env to activation script.Andrew Tropin
* gnu/home/services.scm (compute-activation-script): Add explicit dependency on env to activation script. Signed-off-by: 宋文武 <iyzsong@member.fsf.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-14home: services: Fix typo.Ludovic Courtès
* gnu/home/services.scm (environment-variables->setup-environment-script): Fix spelling of 'warn-about-duplicate-definitions'.
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-06-04home: services: Add 'lookup-home-service-types' procedure.Ludovic Courtès
* gnu/home/services.scm (lookup-home-service-types): New procedure. * tests/home-services.scm: New file. * Makefile.am (SCM_TESTS): Add it.
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>
2022-04-21home: shepherd: Redirect input port to /dev/null.Ludovic Courtès
Suggested by Aleksandr Vityazev <avityazev@posteo.org>. * gnu/home/services/shepherd.scm (home-shepherd-configuration-file): Redirect input port to /dev/null.
2022-04-21home: shepherd: "shepherd.conf" returns one value.Ludovic Courtès
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.
2022-04-12home: shepherd: Prevent launching the second instance.Andrew Tropin
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>
2022-04-11home: symlink-manager: Handle non-existing directory during cleanup.Andrew Tropin
* gnu/home/services/symlink-manager.scm (update-symlinks-script): Handle non-existing directory during cleanup. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-04-11home: shells: Rename zsh related functions.Andrew Tropin
* 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>
2022-04-10home: symlink-manager: Use no-follow version of file-exists?.Andrew Tropin
* 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>
2022-04-08home: Add home-xdg-data-files-service-type.Andrew Tropin
* 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>
2022-04-08home: symlink-manager: Remove appending of leading dot.Andrew Tropin
* 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>
2022-04-07home: shepherd: Default to version 0.9.Ludovic Courtès
* 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.