Commit graph

177 commits

Author SHA1 Message Date
Romain GARBAGE
c88f98bb3c
home: services: msmtp: Accept g-expressions for ‘password-eval’.
This allows users to specify:

  (password-eval #~(string-append
                    #$(file-append libsecret "/bin/secret-tool")
		    "…"))

* gnu/home/services/mail.scm (string-or-gexp?): New variable.
(maybe-string-or-gexp): New record type
(msmtp-configuration-serialize-string-or-gexp): New variable.
(msmtp-configuration) [password-eval]: Change type.

Change-Id: Id3016956250c447b301b40f29a6509d57058be49
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-08 17:23:27 +02:00
Luis Guilherme Coelho
ca795a79c8
home: services: Re-export ‘simple-service‘.
* gnu/home/services.scm: Re-export ‘simple-service‘.

Change-Id: Id680af7050fa23d112e4172d96c15470c3dbeaf9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-08 17:15:47 +02:00
Ludovic Courtès
a35fa2d2cb
services: shepherd: Add ‘shepherd-timer’.
* gnu/services/shepherd.scm (shepherd-timer): New procedure.
* gnu/home/services/shepherd.scm: Re-export it.

Suggested-by: Luis Guilherme Coelho <lgcoelho@disroot.org>
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I5f702d4119eee47381a7a1ac650b8ad3fc5e6cdd
2025-03-23 19:30:57 +01:00
Ludovic Courtès
aed019b646
services: shepherd: Factorize ‘trigger’ action.
* gnu/services/shepherd.scm (shepherd-trigger-action): New variable.
* gnu/services/admin.scm (log-cleanup-shepherd-services)
(unattended-upgrade-shepherd-services): Use it.
* gnu/services/backup.scm (restic-backup-job->shepherd-service): Use it.
* gnu/home/services/shepherd.scm: Re-export ‘shepherd-trigger-action’.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I834b5b9b61c78f012ee9306df6cf4fd8a93dd6d2
2025-03-23 19:29:14 +01:00
gemmaro
db023ab59a
home: xdg-mime-applications: Update Freedesktop specification links.
* gnu/home/services/xdg.scm: Fix broken links for "Shared MIME-info Database"
and "Association between MIME types and applications".

Change-Id: Ib25fd740dbdfc7e17951d10bfc2e4a83901911da
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-03-22 18:00:17 +08:00
Janneke Nieuwenhuizen
18f956467a
home: Add home-snuik-service.
* gnu/home/services/messaging.scm (home-snuik-service-type): New variable.
* doc/guix.texi (Messaging Home Services): Document it.

Change-Id: I1e278e7d8ed04efcb1a2ce9e12e69cb6a31a9fa4
2025-03-20 09:32:05 +01:00
Ludovic Courtès
90aa90eb05
home: services: unclutter: Add a ‘stop’ method.
* gnu/home/services/desktop.scm (home-unclutter-shepherd-service):
Remove ‘one-shot?’ field and set ‘stop’.

Change-Id: I82b915d4260a62e628b419a497c50ecf2cbc356c
2025-02-21 15:27:12 +01:00
Liam Hupfer
4b8952ea9e
home: services: setup-environment: Set GUIX_LOCPATH.
Locales installed via Guix Home should be exposed to Guix packages by
default.

* gnu/home/services.scm (environment-variables->setup-environment-script):
Set GUIX_LOCPATH.

Change-Id: Ic61f0832312479ba36f471d92a12e7b4e296389f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-02-21 15:27:11 +01:00
Liam Hupfer
50a2d73eac
home: services: Unset variables after profile init.
While they aren’t exported, these temporary variables show up in the
resulting shell, cluttering tab completion and declare -p.

* gnu/home/services.scm (environment-variables->setup-environment-script):
Unset shell variables.
* gnu/home/services/shells.scm (add-shell-profile-file): Likewise.

Change-Id: Ibb634849d9f38c1a9a44c0d493e92231364de958
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-02-21 15:27:10 +01:00
Liam Hupfer
890fe50d9b
home: services: setup-environment: Use GUIX_PROFILE.
setup-environment already defines this variable. Use it since it’s more
concise.

* gnu/home/services.scm (environment-variables->setup-environment-script):
Use GUIX_PROFILE.

Change-Id: Ib75d8df6294976f4e95cfa7d607dc0ba21ddd258
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-02-21 15:27:10 +01:00
Efraim Flashner
66daf46b41
gnu: Fix some misspellings.
Change-Id: I316652aff7418af4b8e83bea24638b1513f8aa97
2025-02-19 11:21:47 +02:00
Zacchaeus
651f8765b6
services: syncthing: Add support for declarative configuration.
* gnu/services/syncthing.scm: (syncthing-config-file, syncthing-folder,
syncthing-device, syncthing-folder-device): New records.
(syncthing-service-type): Add special-files-service-type extension for
the config file.
(syncthing-files-service): Add service to create config file.
* gnu/home/services/syncthing.scm: (home-syncthing-service-type):
Extend home-files-services-type and re-exported more things from
gnu/services/syncthing.scm.
* doc/guix.texi: (syncthing-service-type): Document changes.

Change-Id: I87eeba1ee1fdada8f29c2ee881fbc6bc4113dde9
Signed-off-by: Leo Famulari <leo@famulari.name>
2025-02-17 01:12:37 -05:00
Ludovic Courtès
5cfbf7b513
home: services: shepherd: Add ‘transient’ and ‘timer’ services.
* gnu/home/services/shepherd.scm (home-shepherd-timer-service-type)
(home-shepherd-transient-service-type): New variables.
* doc/guix.texi (Shepherd Home Service): Document them.
(Shepherd Services): Add anchor.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Ia4eb7cf043f4661c64f5ca81b8989a451532aa18
2025-01-26 22:09:27 +01:00
Janneke Nieuwenhuizen
7080aaf081
gnu: home: home-pipewire: Add extra-content to configuration.
This allows for setting the default sound card/device, e.g.:

    pcm.!default {type hw card 0 device 2}
    ctl.!default {type hw card 0 device 2}

* gnu/home/services/sound.scm (home-pipewire-configuration)[extra-content]:
New field.
* gnu/home/services/sound.scm (home-pipewire-asoundrc): Append it to
"asoundrc".
* doc/guix.texi (Sound Home Services): Update accordingly.

Change-Id: I6ecebaaab41cd7313b16a5f365c21789db65664e
2025-01-22 09:32:18 +01:00
Ludovic Courtès
f68060a101
home: services: Add log rotation service.
* gnu/home/services/admin.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Shepherd Home Service): Document it.

Change-Id: I37ac171147c236b05d6d3b226e9072ab7524dfe9
2025-01-16 22:32:11 +01:00
Nicolas Graves
4b9b223bff
gnu: home: Replace rename in update-symlinks scripts.
* gnu/home/services/symlink-manager.scm (update-symlinks): Use
copy-file and delete-file instead of rename-file to avoid an error
when the target and backup are not in the same filesystem.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-23 20:45:32 +01:00
Ludovic Courtès
8eb7176fef
home: services: shepherd: Default to 1.0.
* gnu/home/services/shepherd.scm (<home-shepherd-configuration>)[shepherd]:
Default to SHEPHERD-0.10.

Change-Id: I2c4acc28978ac3376fe5683f60941e28edea5746
2024-12-09 23:15:44 +01:00
Dariqq
53ef4bf537
home: services: Use %user-log-dir as the log directory for all services.
* gnu/home/services/desktop.scm (home-dbus-shepherd-services): Log to
%user-log-dir.
* gnu/home/services/desktop.scm (home-unclutter-shepherd-services): Same.
* gnu/home/services/pm.scm (home-batsignal-shepherd-services): Same.
* gnu/home/services/shepherd.scm (launch-shepherd-gexp): Don't overwrite
default log-file.

Change-Id: I2742371cbddd1bf4d981efc41f3eae8f148336be
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-11-20 22:57:38 +01:00
Fabio Natali
b0e3121495
home: services: unclutter: Inherit $DISPLAY.
* gnu/home/services/desktop.scm: Add DISPLAY to the list of environment
variables passed to 'home-unclutter-service-type'. Change
'make-forkexec-construstor' to 'fork+exec-command' as the former did not seem to
pick up the newly defined environment variable. Add 'x11-display' as a
requirement. These changes are consistent to how things are done in
'home-redshift-service-type'.

Change-Id: Ie8b88b30353e76139d354da27aef791036eaa5a0
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-10-14 14:08:44 +02:00
Dariqq
41b5b723b3
doc: Document home-shepherd-configuration-daemonize?
* gnu/home/services/shepherd.scm: Export home-shepherd-configuration-daemonize?.
* doc/guix.texi (home-shepherd-configuration): Add entry for daemonize? field.

Change-Id: Ifd1518c89fe8d5869d5e6469823dafd8457f24f1
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-10-14 14:08:42 +02:00
Dariqq
8221a6a1ac
home: home-shepherd-configuration: Add silent? field.
* gnu/home/services/shepherd.scm (home-shepherd-configuration): Add silent? field.
(launch-shepherd-gexp): Conditionally invoke shepherd with --silent.
* doc/guix.texi (home-shepherd-configuration): Document it.

Change-Id: I1ce7a92c2777ebded39fe293b0bdcbd03562b4fc
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-10-14 14:08:42 +02:00
Arnaud Daby-Seesaram
b64f7984a5
home: services: Add 'home-sway-service-type'.
* gnu/home/services/sway.scm: New file.
(home-sway-service-type): New variable.
(sway-configuration->file): New procedure.
(sway-configuration): New configuration record.
(sway-bar): New configuration record.
(sway-output): New configuration record.
(sway-input): New configuration record.
(point): New configuration record.
(sway-color): New configuration record.
(sway-border-color): New configuration record.
(sway-mode): New configuration record.
(flatmap): New procedure.
* gnu/local.mk: Add gnu/home/services/sway.scm.
* doc/guix.texi (Sway window manager): New node to document the above
changes.

Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
Change-Id: I880261570c5afdb795f2ce18bac2b9a5c898677f
2024-10-12 14:26:01 +02:00
Nicolas Graves
6fb05e77e7
home: xdg-mime-applications: Fix file name spelling.
* gnu/home/services/xdg.scm (home-xdg-mime-applications-xdg-files): Fix
spelling mistake.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
Change-Id: Ibd0f68a857dc78b66db8b0a16bd418ee787fa467
2024-09-29 22:21:34 +08:00
Richard Sent
cbf46d2565
home: services: Add newline to XDG_RUNTIME_DIR warning.
* gnu/home/services.scm: Add end-of-text newline to warning printed by
on-first-login script when XDG_RUNTIME_DIR does not exist.

Change-Id: I3bfe2c415f6941fa9a2231ab2a0be53db965053f
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-09-29 22:21:28 +08:00
Ludovic Courtès
8da4eab244
home: services: shepherd: Replace use of deprecated ‘action’ procedure.
This is a followup to 1964531ce5.

* gnu/home/services/shepherd.scm (home-shepherd-configuration-file):
Use ‘perform-service-action’ rather than ‘action’.

Change-Id: I669750c319083836416c3e093c112ebfeba32e64
2024-09-16 00:16:20 +02:00
Nicolas Graves
8da7f4a110
home: services: channels: Remove duplicate channels.
* gnu/home/services/guix.scm
(extend-channel-list): Add function.
(home-channels-service-type)[extend]: Use extend-channel-list.

Change-Id: I587207b86216f075a54b6ed0b8fa998896bbed74
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-09-04 19:16:53 +02:00
Fabio Natali
1fb4c399ea
home: services: Add home-beets-service-type.
* gnu/home/services/music.scm: New file.
* gnu/local.mk: Add this.
* doc/guix.texi: Document this.

Change-Id: Idc23a68276cb3fb07733bb38bc38b1c5a63c1d6a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-08-28 16:37:31 +02:00
Tobias Geerinckx-Rice
0c9876a16a
home: Fix typo in parcimonie configuration.
* gnu/home/services/gnupg.scm (<home-parcimonie-configuration>)
[gnupg-aleady-torified?]: Rename to ‘gnupg-already-torified?’.

Change-Id: I0687f67a5cef410b8b1d579c57b318b9d269e0d0
2024-08-18 02:00:00 +02:00
Richard Sent
b631640f3b
home: Set 700 permissions on .gnupg with home-gpg-agent-service
* gnu/home/services/gnupg.scm (gpg-agent-activation): New variable.
(home-gpg-agent-service-type) [extensions]: Extend
home-activation-service-type.

Change-Id: If3365c6cade2b03ee53a466ce1d63a5cdf654d6c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-07-26 18:22:04 +02:00
Tomas Volf
8144c587f8
home: services: Add home-startx-command-service-type.
* gnu/home/services/desktop.scm (home-startx-command-service-type): New
variable.
(startx-command-service-type): New service-type mapping.
* doc/guix.texi (Guix Home Services): Document
home-startx-command-service-type.

Change-Id: Id38b5dc7b9235e04e3a9a1b70a35b02e8fae95f0
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-05-30 22:40:54 +01:00
Richard Sent
44c8ce8334
home: services: bash: Move default PS1 prompt to bashrc
Fixes <https://issues.guix.gnu.org/70164>.

* home/services/shells.scm (add-bash-configuration): Move default PS1 prompt
from .bash_profile to .bashrc.

Change-Id: Ic437458ee362cc4aa803a71c9962af866749f59a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-04-29 23:54:13 +02:00
Richard Sent
59bb53823e
services: Add the Guix Home service.
This patch adds a Guix Home service, which allows for configuring/deploying an
operating-system declaration with an associated home-environment.

* gnu/services/guix.scm: Add guix-home-service and guix-home-shepherd-service
* gnu/home/services/shepherd.scm: Don't attempt to launch user shepherd when
the system shepherd runs guix-home-<user>
* doc/guix.texi: Add documentation for guix-home-service
* gnu/tests/guix.scm: Add a test to verify guix-home-service-type is able to
activate a home environment

Change-Id: Ifbcc0878d934aa4abe34bb2123b5081fb432aa8e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-04-17 12:13:03 +02:00
Jason Darby
0b38c9401b
home: services: bash: Reorder aliases.
Reported in <https://issues.guix.gnu.org/67652>.

* home/services/shells.scm (add-bash-configuration): Reorder aliases.

Change-Id: I288856bb6befe378ca60ef78578acc069cb18532
Reported-by: Atte Torri <atte.torri@universite-paris-saclay.fr>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-03-27 22:25:19 +08:00
Ludovic Courtès
6f9d844d2e
services: shepherd: Load each service file in a fresh module.
Fixes <https://issues.guix.gnu.org/67649>.

* gnu/home/services/shepherd.scm (home-shepherd-configuration-file)[config]:
Define ‘make-user-module’.  Call ‘load’ in ‘save-module-excursion’.
* gnu/services/shepherd.scm (shepherd-configuration-file): Likewise.

Reported-by: Attila Lendvai <attila@lendvai.name>
Change-Id: I7df11c81b5bbbf2b24a8daa02502a000e0826fe0
2024-03-21 17:43:15 +01:00
Giacomo Leidi
01f685d560
gnu: home: dotfiles: Properly support both plain and Stow directory layouts.
Fixes <https://issues.guix.gnu.org/68848>.

The current implementation of the home-dotfiles-service-type contradicts
the Guix manual.  This patch properly implements both the plain and Stow
dotfiles directory layouts.

It does so by refactoring home-dotfiles-configuration adding a new
packages field to support GNU Stow's users workflow and introducing
a new layout field to switch between the two directory layouts.

* gnu/home/services/dotfiles (home-dotfiles-configuration): Migrate to
(gnu services configuration);
[packages]: new field;
[layout]: new field;
(strip-stow-dotfile): new variable;
(strip-plain-dotfile): new variable;
(home-dotfiles-configuration->files): use the new fields;
[directory-contents]: allow for
selecting a subset of application dotfile directories;
* doc/guix.texi: document the new layouts.

Change-Id: I2e96037608353e360828290f055ec5271cfdfd48
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-03-06 23:25:51 +01:00
Nicolas Graves
b1ec85533a
home: symlink-manager: Allow busy device skip.
* gnu/home/services/symlink-manager.scm (update-symlinks-script):
Allow busy device skip.

Change-Id: Iff91c8a30309d25c02a8311d8d5ddbf54e90f5ad
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-02-19 18:43:32 +01:00
Giacomo Leidi
2f67528edd
home: Add home-dotfiles-service.
* gnu/home/service/dotfiles.scm: New file;
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* doc/guix.texi (Essential Home Services): Document it.

Change-Id: I6769169cfacefc3842faa5b31bee081c56c28743
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2024-01-28 22:50:49 +01:00
Ludovic Courtès
68b2a19c20
home: services: Add missing import.
* gnu/home/services.scm: Import (srfi srfi-34) for ‘raise’.

Change-Id: Ib0e8d134f3953c78a09b623f697e7e5b251d5611
2024-01-28 22:50:48 +01:00
Efraim Flashner
299ce524c9
home: fontutils: Don't install fontconfig.
* gnu/home/services/fontutils.scm (home-fontconfig-service-type): Don't
add fontconfig to the profile.

Change-Id: I28208461efdfa4a585ee61db3a23bed05eb38d02
2024-01-17 11:13:45 +02:00
Efraim Flashner
0f967dde76
home: services: zsh: Use unified zprofile.
* gnu/home/services/shells.scm (zsh-file-zprofile): Use the zprofile
defined in (gnu system shadow) as a base.

Change-Id: Iaf4c4f66d1ccbc0bd0166136b3d082229bdec201
2024-01-17 11:11:10 +02:00
Ludovic Courtès
1964531ce5
home: services: shepherd: Use the 0.10.x interface.
* gnu/home/services/shepherd.scm (home-shepherd-configuration-file):
Pass ‘register-services’ a list.  Call ‘start-in-the-background’
unconditionally.

Change-Id: Id7ba005949653a9ac065c47eddb425df4f4792aa
2024-01-08 23:14:46 +01:00
Brian Cully
afdbf7f271
gnu: home: Add home-pipewire service.
This adds a set of home Shepherd services which will start the required
services for a functional PipeWire setup.

* gnu/home/services/sound.scm (home-pipewire-shepherd-service,
home-wireplumber-shepherd-service, home-pipewire-shepherd-services,
home-pipewire-asoundrc, home-pipewire-xdg-configuration,
home-pipewire-pulseaudio-shepherd-service): New procedures.
(home-pipewire-service-type): New service type.
(home-pipewire-configuration): New struct.
(home-pipewire-disable-pulseaudio-auto-start): New variable.
* doc/guix.texi (Sound Home Services): Document it.

Change-Id: I99e0ae860de91d459c3c554ec5503bf35f785a2a
Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2023-12-26 15:41:59 +03:00
Janneke Nieuwenhuizen
b0715d7cd2
gnu: Use ‘libc-utf8-locales-for-target’.
* guix/packages.scm (%standard-patch-inputs): Use
‘libc-utf8-locales-for-target’ instead of ‘glibc-utf8-locales’.
* guix/self.scm (%packages): Likewise.
* gnu/home/services/ssh.scm (file-join): Likewise
* gnu/installer.scm (build-compiled-file): Likewise.
* gnu/packages/chromium.scm (ungoogled-chromium/wayland): Likewise.
* gnu/packages/gnome.scm (libgweather4, tracker): Likewise.
* gnu/packages/javascript.scm (js-mathjax): Likewise.
* gnu/packages/package-management.scm (guix, flatpak): Likewise.
* gnu/packages/raspberry-pi.scm (raspi-arm64-chainloader): Likewise.
* gnu/packages/suckless.scm (svkbd): Likewise.
* gnu/services.scm (cleanup-gexp): Likewise.
* gnu/services/base.scm (guix-publish-shepherd-service): Likewise.
* gnu/services/guix.scm (guix-build-coordinator-shepherd-services)
(guix-build-coordinator-agent-shepherd-services): Likewise.
* gnu/services/guix.scm (guix-build-coordinator-queue-builds-shepherd-services):
(guix-data-service-shepherd-services)
(nar-herder-shepherd-services)
(bffe-shepherd-services): Likewise.
* gnu/services/web.scm (anonip-shepherd-service)
(mumi-shepherd-services): Likewise.
* gnu/system/image.scm (system-disk-image, system-iso9660-image)
(system-docker-image, system-tarball-image): Likewise.
* gnu/system/install.scm (%installation-services): Likewise.
* guix/profiles.scm (info-dir-file): Likewise.
(ca-certificate-bundle, profile-derivation): Likewise.
* guix/scripts/pack.scm (store-database, set-utf8-locale): Likewise.
* tests/pack.scm: Likewise.
* tests/profiles.scm ("profile-derivation, cross-compilation"):
Likewise.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Co-authored-by: Christopher Baines <mail@cbaines.net>
Change-Id: I24239f427bcc930c29d2ba5d00dc615960a6c374
2023-12-02 12:25:45 +01:00
Ludovic Courtès
08d94fe20e
home: services: Add 'x11-display' service.
* gnu/home/services/desktop.scm (x11-shepherd-service): New procedure.
(home-x11-service-type): New variable.
(redshift-shepherd-service): Add 'requirement' field.
(home-redshift-service-type): Extend 'home-x11-service-type'.
* doc/guix.texi (Desktop Home Services): Document it.

Change-Id: Ibd46d71cbb80fcdff8dbf3e8dbcfc3b24163bdb6
2023-11-05 23:23:23 +01:00
Rostislav Svoboda
2de3004267
home: services: Fix regression in generated ‘on-first-login’ script.
Fixes <https://issues.guix.gnu.org/66659>.

Fixes a regression introduced in 6b0a321969. The
first attempt in e098ba2f49 to fix this issue didn't work.

* gnu/home/services.scm (compute-on-first-login-script): Add
‘begin *unspecified*’ around #$@gexps.

Change-Id: I14339ad684ffe93e692e507b57dcd221d96210ef
Signed-off-by: Clément Lassieur <clement@lassieur.org>
2023-10-27 16:51:58 +02:00
Ludovic Courtès
e098ba2f49
home: services: Fix regression in generated ‘on-first-login’ script.
Fixes <https://issues.guix.gnu.org/66659>.

Fixes a regression introduced in
6b0a321969.

* gnu/home/services.scm (compute-on-first-login-script): Add ‘begin’
around #$@gexps.

Reported-by: Nils Landt <nils@landt.email>
2023-10-21 16:00:14 +02:00
Carlo Zancanaro
6b0a321969
home: services: Fix race condition when detecting first login.
* gnu/home/services.scm (compute-on-first-login-script): Use open-fdes to
atomically check whether a file exists and create it if not.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-10-20 00:33:27 +02:00
Saku Laesvuori
d2a751c14e
gnu: home: zsh: Load environment when running via ssh
* gnu/home/services/shells.scm (zsh-file-zshenv): Add snippet to source
/etc/profile when running via ssh.
(zsh-get-configuration-files): Always add .zshenv as it is never empty.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-09-17 15:31:04 +02:00
Kjartan Oli Agustsson
2643fa3513
home: services: redshift: Use redshift package specified in configuration
* gnu/home/services/desktop.scm (redshift-shepherd-service): Use the redshift
package specified by config.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-09-14 15:53:23 +02:00
Efraim Flashner
1af35bbb25
home: Add parcimonie service.
* gnu/home/services/gnupg.scm (home-parcimonie-service-type,
home-parcimonie-configuration): New variables.
* doc/guix.texi (GNU Privacy Guard): Document it.
2023-09-04 11:11:58 +03:00