summaryrefslogtreecommitdiff
path: root/gnu/home
AgeCommit message (Collapse)Author
2026-04-03home: services: niri: Use existing session dbus.Estevan Castilho
Spawning niri with `dbus-run-session` as is done here causes the compositor and children applications to run within it's own D-Bus session bus rather than relying on the already existing one. This causes Guix home services that rely on a session bus to misbehave within a niri session, as the bus the services are talking to is not the same as the one niri & applications see. Guix home already provides a `home-dbus-service-type` for ensuring a D-Bus session bus exists, so it makes sense to just rely on that. * gnu/home/services/niri.scm (home-niri-service-type): Add HOME-DBUS-SERVICE-TYPE extension. (home-niri-shepherd-service)[requirement]: Add DBUS requirement. [start]: Drop the 'dbus-run-session' call in favour of extending HOME-DBUS-SERVICE-TYPE. Change-Id: I1d402064128fe94aaaa2868e174752ef640dd31e Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2026-03-29home: services: pulseaudio-rtp-sink: Use a fixed sample rate.Ludovic Courtès
* gnu/home/services/sound.scm (pulseaudio-rtp-sink-shepherd-services): Add ‘rate’ parameter for ‘module-rtp-send’. Change-Id: Ic734ea241ee85147f949196dd3f7d58a81525388 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #7464
2026-03-29gnu: Add home-jellyfin-mpv-shim-service-type.Ian Eure
* gnu/home/services/media.scm (home-jellyfin-mpv-shim-service-type): New variable. * doc/guix.texi (Jellyfin Services): New section. * doc/guix.texi (Kodi Services): Add subheading. Change-Id: I037ab0602214fdaa1b032be51ff98ecf6b7ee16c
2026-03-21gnu: home: services: Add home-git-annex-assistant-service-typeYarl Baudig
* gnu/home/services/git-annex-assistant.scm: New file. * gnu/local/mk (GNU_SYSTEM_MODULES): Register it. * doc/guix.texi (Miscellaneous Services): Document it. Change-Id: I9ca75210dfe7f6d2d81b9eb8919d6eb34c7bb002 Signed-off-by: Ian Eure <ian@retrospec.tv>
2026-03-07gnu: home: dotfiles: Fix inclusion of directories having .git in their name.Giacomo Leidi
* gnu/home/services/dotfiles.scm (%home-dotfiles-excluded): Replace .git/.* with /.git/.* . * doc/guix.texi: Document it. Fixes https://codeberg.org/guix/guix/issues/6808 Change-Id: Ib6c824bb4bf5a5b3d6939807667c7961ce0cf6d2
2026-03-07home: services: Fix location of home-gc-root-service-type.Giacomo Leidi
The home-gc-root-service-type has gnu/services.scm as location but, being in gnu/home/services.scm, it should have gnu/home/services.scm. The tests/home-services.scm test has been broken since f7b8fbb504094ad617c7102579559efcc56db5fb . This commit fixes that, by instantiating a new service-type record instead of directly using the one built by system->home-service. This was initially reported by Yelninei at https://codeberg.org/guix/guix/issues/6946#issuecomment-11318779 . * gnu/home/services/scm (home-gc-root-service-type): Instantiate a new service-type record, instead of directly using the one built by system->home-service. Fixes: https://codeberg.org/guix/guix/issues/6960 Change-Id: I4389e6bbd2b2e4b0657768228651e8b1c01fee3a
2026-02-22gnu: home: dotfiles: Files not excluded when they should.Giacomo Leidi
* gnu/home/services/dotfiles.scm (%home-dotfiles-excluded): Match content of .git directories. (directory-contents): Match whole file-name instead of basename. * doc/guix.texi: Document it. Fixes <https://issues.guix.gnu.org/71217> Authored-by: Nicolas Odermatt-Lemay <nodermattlemay@gmail.com> Change-Id: I2929fe3318e1f9f0b552c891207524dea25389ed Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-02-21home: services: Add home-gc-root-service-type.Giacomo Leidi
* gnu/home/services.scm (home-gc-root-service-type): New variable. Merges: https://codeberg.org/guix/guix/pulls/4236 Change-Id: I648068fc005a993b9527ed13ae87470c5ce9b693
2026-02-15home: services: sway: Refactor flatmap to append-map.jgart
* gnu/home/services/sway.scm (flatmap): Refactor flatmap to append-map. Change-Id: I1a8e46ac7f2de163bc33f4bf61f267d35893cfc2 Signed-off-by: jgart <jgart@dismail.de>
2026-02-14home: services: pipewire: Install pipewire and wireplumber.Luis Guilherme Coelho
* gnu/home/services/sound.scm (home-pipewire-profile-service): New procedure. (home-pipewire-service-type): Extend home-profile-service-type. Closes: guix/guix#6404 Change-Id: I6f9a0f61bb09080479264c31471e0461437d3913 Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2026-02-10home: services: Format let block in helper function.jgart
* gnu/home/services/sway.scm (services): Format let block in helper function. Change-Id: I9ce14f33cb52ab97e0af129aad12d65bfdd70495
2026-02-06home: dotfiles: Fix compilation warning.Sergey Trofimov
* gnu/home/services/dotfiles.scm: For list-of-strings field type use define-maybe/no-serialization, remove duplicated predicate. Change-Id: I31620b22b53ef3100852ab96dd4a0e69280e6902 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #5338
2026-02-06home: xdg: Fix compilation warning.Sergey Trofimov
* gnu/home/services/xdg.scm (home-xdg-base-directories-configuration): Specify field serializer explicitly. Change-Id: I1b178952e3eb95d3faea38f7cf7a782bc73c0ea5 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-02-06home: symlink-manager: Handle dangling symlinks.Hilton Chain
This is a follow-up to commit 4b9b223bff65645b61666df48c12fd1a4f735b0f. * gnu/home/services/symlink-manager.scm (update-symlinks-script): Handle dangling symlinks. Fixes: #1752 Change-Id: Iedd11f84f816e3043d7bf50db240bf5ec1f3e512 Signed-off-by: Hilton Chain <hako@ultrarare.space> Merges: #6169
2026-02-02home: services: ssh: Add support for known_hosts2 file.Oleg Pykhalov
This commit adds a new 'known-hosts2' field to the OpenSSH home service configuration, enabling a hybrid approach to SSH host key management. * gnu/home/services/ssh.scm (<home-openssh-configuration>)[known-hosts2]: New field. (openssh-configuration-files): Generate ~/.ssh/known_hosts2 when specified. * doc/guix.texi (Secure Shell): Document new 'known-hosts2' field. Change-Id: I1d314706eaf6af9547833020abe857f4d8c44b86
2026-01-09services: configuration: Generalize 'list-of-packages?'Sergey Trofimov
* gnu/services/configuration.scm (list-of-packages?): Allow as well tuples of a package and its output. * gnu/home/services/sway.scm (list-of-packages): Remove duplicate. Change-Id: I42622a29ac808c76928e9056dee9330d5e1b3f39 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #5470
2025-12-03Update Giacomo's email address.Giacomo Leidi
The change was automated via: git grep -l goodoldpaul@autistici.org | xargs sed -i 's/goodoldpaul@autistici.org/therewasa@fishinthecalculator.me/g' * .mailmap: New entry. Change-Id: I1629388334695d221647afe6a14faf61af5fe0d6 Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-12-02gnu: home: Add himitsu-secret-service service.Lilah Tascheter
* gnu/home/services/secrets.scm (home-himitsu-secret-service-configuration): New configuration. (himitsu-secret-service-shepherd-service): New procedure. (home-himitsu-secret-service-type): New service. Change-Id: Ifb05edce06dbe6a24282701c94007a95dcda1313 Signed-off-by: jgart <jgart@dismail.de>
2025-12-02gnu: home: Add himitsu-ssh service.Lilah Tascheter
* gnu/home/services/secrets.scm (remember-option?,list-of-remember-options?): New types. (himitsu-serialize-list-of-remember-options): New serializer. (home-himitsu-ssh-configuration): New configuration. (himitsu-ssh-shepherd-service,himitsu-ssh-himitsu.ini, himitsu-ssh-environment-variables): New procedures. (home-himitsu-ssh-service-type): New service. Change-Id: I051a97aec2396dd899078c594c9d0b989a0aa6f1 Signed-off-by: jgart <jgart@dismail.de>
2025-12-02gnu: home: Add himitsu service.Lilah Tascheter
* gnu/home/services/secrets.scm: New file... * gnu/local.mk (GNU_SYSTEM_MODULES): ...and add it. Change-Id: I6bd1a3843fd9e93d11e4a8f3fa2a510f5891a2d7 Signed-off-by: jgart <jgart@dismail.de>
2025-12-01gnu: Add home-gcr-ssh-agent-service-type.Giacomo Leidi
GNOME Keyring used to be able to act as a wrapper over ssh-agent. It would display a GUI password entry dialog, including a checkbox to remember the password, which, if selected, would allow fully passwordless use of that key. The SSH functionality is disabled by default in gnome-keyring-daemon builds since version 1.46 (commit 25c5a1982467802fa12c6852b03c57924553ba73). It has been moved (https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/67) into gcr-ssh-agent, which is part of the gcr package. * gnu/home/services/gnome.scm: New file. (gcr-ssh-agent-log-file,gcr-ssh-agent-shepherd-services): New public procedures. (gcr-ssh-agent-configuration): New configuration record. (home-gcr-ssh-agent-service-type): New service type. * gnu/local.mk: Add it. * doc/guix.texi: Document it. Change-Id: Idd3e40f544d40bb4c6682255f877cb79f0c70850 Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop> Reviewed-by: Dariqq <dariqq@posteo.net> Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-11-22gnu: Add home-darkman-service-type.dan
* gnu/home/services/desktop.scm (home-darkman-configuration) (home-darkman-service-type): New variables. (serialize-number, serialize-boolean, serialize-home-darkman-configuration) (home-darkman-configuration-files, home-darkman-profile-service) (home-darkman-shepherd-service): New procedures. * doc/guix.texi (Desktop Home Services): Document it. Change-Id: I23acb2cae9745e1a76c19c5552bf487539d6a807 Reviewed-by: Sergey Trofimov <sarg@sarg.org.ru> Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-11-10home: services: niri: Add XWayland satellite support.Oleg Pykhalov
The niri compositor requires xwayland-satellite for proper X11 application support under Wayland. This package provides the necessary bridge for running X11 applications in a Wayland-native environment. * gnu/home/services/niri.scm (home-niri-service-type): Add xwayland-satellite to the package list, ensuring X11 applications work correctly in niri sessions. Change-Id: I8b16fe2bed7563425408adfa9083ce322575dac0
2025-10-23home: services: bash: Support setting shell variables.Ludovic Courtès
* gnu/home/services.scm (shell-variable-definitions): New procedure. * gnu/home/services/shells.scm (serialize-shell-variables): New procedure. (home-bash-configuration)[variables]: New field. (add-bash-configuration): Honor it. (home-bash-extension)[variables]: New field. (home-bash-extensions): Handle ‘variables’. * doc/guix.texi (Shells Home Services): Update. Change ‘PS1’ example to use ‘variables’, not ‘environment-variables’. * doc/he-config-bare-bones.scm: Use ‘variables’ instead of ‘bash-profile’. Change-Id: I29083d6313d10b1eb9d91eccacfb33efefe60d58
2025-10-10home: services: Add niri.Oleg Pykhalov
This introduces a new home service for Niri, a scrollable tiling Wayland compositor that combines traditional tiling window management with smooth scrolling between workspaces. The service provides: - home-niri-service-type for installing and configuring Niri - Shepherd service that starts Niri in a DBus session - Proper Wayland environment variables (XDG_CURRENT_DESKTOP, XDG_SESSION_DESKTOP, etc.) - Integration with xdg-desktop-portal and related components The service starts Niri with appropriate environment variables for Wayland compatibility and includes necessary dependencies like xdg-desktop-portal-gnome and xdg-desktop-portal-gtk for proper desktop integration. * gnu/home/services/niri.scm: New file containing the service implementation. * gnu/local.mk (GNU_SYSTEM_MODULES): Register the new module. * doc/guix.texi (Niri window manager): Add comprehensive documentation. Change-Id: I9ef081226b4aaa31706d1fbc0d8b7aa1a202cd6e
2025-09-26home: services: Fix binding options in sway-service-type.Alissa Istleyeva
* gnu/home/services/sway.scm (keybinding-options?): Add to-code option. (codebinding-options?): Remove to-code option. Change-Id: I0a43ccb7d997bb1ba2ec334721a9a7bdd5e5ce91 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-23home: services: sway: Export configuration file accessors.Richard Sent
* gnu/home/services/sway.scm: Export field accessors for sway-* configuration records. Change-Id: I0f116508bdd710dec810dcbb69cf3c7b91daead4 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-18Reapply "Update Maxim's email address."Maxim Cournoyer
This reverts commit a7db92d9b389cbe565395523882c34c6eff2c21a, this time with the more careful command, to avoid a world rebuild: grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \ --exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
2025-09-18Revert "Update Maxim's email address."Maxim Cournoyer
This reverts commit d0d87a744d724b7e7d5ac013c586039652087bb3. Oops! This caused a world rebuild. Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
2025-09-18Update Maxim's email address.Maxim Cournoyer
The change was automated via: git grep -l maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' * .mailmap: New entry. Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
2025-09-14home: services: home-sway-service-type: Enable extensions.Arnaud Daby-Seesaram
* gnu/home/services/sway.scm (%empty-sway-configuration): New value. (sway-combine): New procedure. (sway-compose): New procedure. (sway-extend): New procedure. (home-sway-service-type) [compose/extend]: New fields. * doc/guix.texi (Sway window manager): Document this. Change-Id: I548a18a6a273380be90c9b5b365f65a93cc02416 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-14home: services: Support options for bindings in sway-service-type.Arnaud Daby-Seesaram
* gnu/home/services/sway.scm (make-alist-predicate): Add an optional argument. (bindings?): Remove procedure. (keybinding-options?): New procedures. (codebinding-options?): New procedures. (gesture-options?): New procedures. (mouse-bindings?): Allow to pass options to mouse-bindings. (sway-configuration) [keybindings]: Allow to pass options to key-bindings. [gestures]: Allow to pass options to gesture-bindings. (sway-mode) [keybindings]: Allow to pass options to key-bindings. (serialize-binding): Support options. (serialize-mouse-binding): Support options. (serialize-keybinding): Support options. (serialize-gesture): Support options. (serialize-variable): Inline previous definition. * doc/guix.texi (Sway window manager): Document this. Change-Id: Icf210aca4a9b44adc0baead7430637f6fcda17e5 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-08-25home: Add home-oci-service-type.Giacomo Leidi
* gnu/home/service/containers.scm: New file; * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (OCI backed services): Document it. Change-Id: I8ce5b301e8032d0a7b2a9ca46752738cdee1f030 Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-06-09home-mpv-configuration: Fix mpv/list-of-file.Tomas Volf
* gnu/home/services/mpv.scm (serialize-mpv/list-of-file): Use : as delimiter. Reported-by: Sergey Trofimov <sarg@sarg.org.ru> Change-Id: I7e55b306104c235d165ab138397b767f1af5c124 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-05-27home-mpv-configuration: Support file-like for file fields.Tomas Volf
* gnu/home/services/mpv.scm (serialize-mpv/file, mpv/file?): New procedures. (ao-null-latency, audio-file-paths, audio-files, bluray-device, cdda-device) (chapters-file, cookies-file, cover-art-files, demuxer-cache-dir, dump-stats) (dvbin-file, dvd-device, external-files, glsl-shaders, gpu-shader-cache-dir) (icc-cache-dir, icc-profile, image-lut, include, input-conf, input-ipc-server) (log-file, lut, ordered-chapters-files, osd-fonts-dir, screenshot-directory) (scripts, stream-dump, sub-ass-styles, sub-file-paths, sub-files) (sub-fonts-dir, target-lut, tls-ca-file, tls-cert-file, tls-key-file): (vo-image-outdir, watch-history-path, watch-later-directory): Change type. * doc/guix.texi (mpv Media Player): Document it. Reported-by: Sergey Trofimov <sarg@sarg.org.ru> Change-Id: I7e55b306104c235d165ab138397b767f1af5c124 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-05-27home-mpv-configuration: Update for mpv 0.40.0.Tomas Volf
* gnu/home/services/mpv.scm (audio-backward-batch, clipboard-backends) (clipboard-monitor?, demuxer-mkv-crop-compat?, hwdec-software-fallback) (input-ime?, load-commands?, load-console?, load-positioning?) (osd-bar-marker-min-size, osd-bar-marker-scale, osd-bar-marker-style) (osd-selected-color, osd-selected-outline-color, playlist-exts) (save-watch-history?, sub-ass-prune-delay, sub-ass-scale-with-window?) (sub-hinting, sub-line-spacing, sub-scale-signs?, sub-shaper, video-recenter?) (watch-history-path, wayland-internal-vsync): New options. (cache-pause-wait, video-aspect-override): Change range. (dvbin-timeout, media-controls, target-colorspace-hint): Change type. (video-aspect-method): Add enumeration member. (drm-connector, drm-device, drm-draw-plane, drm-draw-surface-size) (drm-drmprime-video-plane, drm-format, drm-mode, drm-vrr-enabled) (load-osd-console?, sub-ass-hinting, sub-ass-line-spacing) (sub-ass-scale-with-window?, sub-ass-shaper) (vd-lavc-software-fallback): Removed options. * doc/guix.texi: Update the list of fields. Change-Id: I7e55b306104c235d165ab138397b767f1af5c124 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-05-26system: Factorize bashrc default configuration.Maxim Cournoyer
This factorizes out the remaining bashrc bits from /etc/skel/.bashrc to a the template used for both /etc/bashrc on Guix System and ~/.bashrc for home-bash-service-type. Rationale: The use of /etc/skel introduce state: the file is only copied originally when the user account is created, and never (automatically) refreshed again. * gnu/system.scm (operating-system-etc-service): <profile>: Guard against souring /etc/bashrc in non-interactive, SSH case. <bashrc>: Use %default-bashrc, having migrated the remaining definitions to... * gnu/system/shadow.scm (%default-bashrc): ... here. Factorize aliases to... * gnu/services.scm (%default-bash-aliases): ... here. (%default-bashrc-d-aliases): New variable. (%default-etc-bashrc-d-files): Include it in the default configuration. * gnu/services/base.scm (%base-services): Register etc-bashrc-d-service-type. * gnu/home/services/shells.scm (add-bash-configuration): Do not set PS1, now part of %default-bashrc. (home-bash-configuration) [guix-defaults?]: Update doc. [aliases]: Set %default-bash-aliases as the default value. Update doc. * doc/guix.texi (Shells Home Services): Update documentation. (Service Reference): Update example. Change-Id: I340c614983a78fd20a9c4a9705e7fc542ae9b513
2025-05-21home: services: Build "files" union allowing dangling symlinks.Sergey Trofimov
* gnu/home/services.scm (files->files-directory): Build file union without checking for existence of included items. * tests/guix-home.sh: Verify symlinking files out of store works. Change-Id: I94054003f4a6be944252ce7a397cf56f0b979554 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-05-18home: services: Add readymedia.Sughosha
* gnu/home/services/upnp.scm: New file. * gnu/local.mk: Register it. * gnu/services/upnp.scm: Export readymedia-activation and readymedia-shepherd-service. (<readymedia-configuration>)[home-service?]: New field. [cache-directory]: Adjust value depending on 'for-home?'. [log-directory]: Ditto. (readymedia-shepherd-service): Adjust 'requirement' and 'start' according to 'home-service?'. (readymedia-activation): Adjust creating 'media-directories' with permissions according to 'home-service?'. * gnu/tests/upnp.scm (%readymedia-configuration-test): Configure port with %readymedia-default-port. * doc/guix.texi (Miscellaneous Home Services): Document Readymedia Service. (Miscellaneous Services): Add cross-reference. Change-Id: I5c48595d84a815d98e03c7f68a716f048903720c Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-05-18home: Add home-restic-backup service.Giacomo Leidi
* gnu/services/backup.scm: Drop mcron obsolete export. (restic-backup-job-program): Generalize to restic-program. (lower-restic-backup-job): New procedure implementing a standard way to lower restic-backup-job records into lists. (restic-program): Implement general way to run restic commands, for example to initialize repositories. (restic-backup-configuration): Reimplement with (guix records). (restic-backup-job-{logfile,command,requirement,modules}): Add new procedures and add support for Guix Home environments. (restic-backup-job->shepherd-service): Add support for Guix Home environments. (restic-backup-service-activation): Drop procedure as now the Shepherd takes care of creating timers log file directories. (restic-backup-service-type): Drop profile and activation services extensions. * gnu/home/services/backup.scm: New file. * gnu/local.mk: Add this. * doc/guix.texi: Document this. Change-Id: Ied1c0a5756b715fba176a0e42ea154246089e6be Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-05-14gnu: home: Use ‘shepherd-for-home’ as the default shepherd.Dariqq
Fixes <https://issues.guix.gnu.org/73903>. * gnu/home/services/shepherd.scm (home-shepherd-configuration): Change default value of shepherd field to shepherd-for-home. Change-Id: I3773403bb1fcdcbe2acb1bbcbfaa009f4d31ace4 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-05-13gnu: home: services: Add home-mpv-service-type.Tomas Volf
This commit adds a new service type to generate configuration file for the mpv media player. Originally I attempted to use Guix Records (via define-configuration) for this, but ran into the bug #74748, so I had to switch to procedures instead. The usage is (hopefully) sufficiently described in the documentation. When the bug is resolved, I will update it to use define-configuration instead. The full list of supported options is documented, however I decided to *not* document types and purpose for each individual fields. While I had mostly working prototype to extract the documentation from mpv, once I realized it would be few 10k of lines added, I decided it is not worth it. It would bloat the .texi file (by more than 50%), be hard to maintain and, in my opinion, would not provide enough value to justify that. The current version seems like sane middle ground. * gnu/home/services/mpv.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Register it. * doc/guix.texi (mpv Media Player): Document it. Change-Id: I2deb44799a28047cb5d67da97dc6007a9df873af
2025-04-08home: services: msmtp: Accept g-expressions for ‘password-eval’.Romain GARBAGE
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-08home: services: Re-export ‘simple-service‘.Luis Guilherme Coelho
* gnu/home/services.scm: Re-export ‘simple-service‘. Change-Id: Id680af7050fa23d112e4172d96c15470c3dbeaf9 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-03-23services: shepherd: Add ‘shepherd-timer’.Ludovic Courtès
* 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-23services: shepherd: Factorize ‘trigger’ action.Ludovic Courtès
* 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-22home: xdg-mime-applications: Update Freedesktop specification links.gemmaro
* 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-20home: Add home-snuik-service.Janneke Nieuwenhuizen
* gnu/home/services/messaging.scm (home-snuik-service-type): New variable. * doc/guix.texi (Messaging Home Services): Document it. Change-Id: I1e278e7d8ed04efcb1a2ce9e12e69cb6a31a9fa4
2025-02-21home: services: unclutter: Add a ‘stop’ method.Ludovic Courtès
* gnu/home/services/desktop.scm (home-unclutter-shepherd-service): Remove ‘one-shot?’ field and set ‘stop’. Change-Id: I82b915d4260a62e628b419a497c50ecf2cbc356c
2025-02-21home: services: setup-environment: Set GUIX_LOCPATH.Liam Hupfer
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>