summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_map.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/tests/test_map.py b/tests/test_map.py
index c64258d..660f742 100644
--- a/tests/test_map.py
+++ b/tests/test_map.py
@@ -455,7 +455,9 @@ class BaseMapTest:
h = h.set(D, 'd')
h = h.set(E, 'e')
+ self.assertEqual(len(h), 5)
h = h.set(C, 'c') # trigger branch in CollisionNode.assoc
+ self.assertEqual(len(h), 5)
orig_len = len(h)
es/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-17services: Add the Guix Home service.Richard Sent 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-03-27home: services: bash: Reorder aliases.Jason Darby 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-21services: shepherd: Load each service file in a fresh module.Ludovic Courtès 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-06gnu: home: dotfiles: Properly support both plain and Stow directory layouts.Giacomo Leidi 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-02-19home: symlink-manager: Allow busy device skip.Nicolas Graves * 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-01-28home: Add home-dotfiles-service.Giacomo Leidi * 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-28home: services: Add missing import.Ludovic Courtès * gnu/home/services.scm: Import (srfi srfi-34) for ‘raise’. Change-Id: Ib0e8d134f3953c78a09b623f697e7e5b251d5611 2024-01-17home: fontutils: Don't install fontconfig.Efraim Flashner * gnu/home/services/fontutils.scm (home-fontconfig-service-type): Don't add fontconfig to the profile. Change-Id: I28208461efdfa4a585ee61db3a23bed05eb38d02 2024-01-17home: services: zsh: Use unified zprofile.Efraim Flashner * gnu/home/services/shells.scm (zsh-file-zprofile): Use the zprofile defined in (gnu system shadow) as a base. Change-Id: Iaf4c4f66d1ccbc0bd0166136b3d082229bdec201 2024-01-08home: services: shepherd: Use the 0.10.x interface.Ludovic Courtès * gnu/home/services/shepherd.scm (home-shepherd-configuration-file): Pass ‘register-services’ a list. Call ‘start-in-the-background’ unconditionally. Change-Id: Id7ba005949653a9ac065c47eddb425df4f4792aa 2023-12-26gnu: home: Add home-pipewire service.Brian Cully 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-02gnu: Use ‘libc-utf8-locales-for-target’.Janneke Nieuwenhuizen * 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-11-05home: services: Add 'x11-display' service.Ludovic Courtès * 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-10-27home: services: Fix regression in generated ‘on-first-login’ script.Rostislav Svoboda Fixes <https://issues.guix.gnu.org/66659>. Fixes a regression introduced in 6b0a32196982a0a2f4dbb59d35e55833a5545ac6. The first attempt in e098ba2f499bbddfea50c85058e4077e39b85513 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-21home: services: Fix regression in generated ‘on-first-login’ script.Ludovic Courtès Fixes <https://issues.guix.gnu.org/66659>. Fixes a regression introduced in 6b0a32196982a0a2f4dbb59d35e55833a5545ac6. * gnu/home/services.scm (compute-on-first-login-script): Add ‘begin’ around #$@gexps. Reported-by: Nils Landt <nils@landt.email> 2023-10-20home: services: Fix race condition when detecting first login.Carlo Zancanaro * 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-09-17gnu: home: zsh: Load environment when running via sshSaku Laesvuori * 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-14home: services: redshift: Use redshift package specified in configurationKjartan Oli Agustsson * 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-04home: Add parcimonie service.Efraim Flashner * gnu/home/services/gnupg.scm (home-parcimonie-service-type, home-parcimonie-configuration): New variables. * doc/guix.texi (GNU Privacy Guard): Document it. 2023-08-29home: services: dicod, syncthing: Import (gnu home services shepherd).Ludovic Courtès Fixes <https://issues.guix.gnu.org/65510>. Without this import, 'shepherd-service-type' is not mapped, leading to an error about missing 'system' target. * gnu/home/services/dict.scm, gnu/home/services/syncthing.scm: Add #:use-module clause. Reported-by: Morgan Smith <Morgan.J.Smith@outlook.com> 2023-08-20home: services: ssh: Fix compilation warning with 'serialize-match-criteria'.Nicolas Graves * gnu/home/services/ssh.scm (serialize-match-criteria): New procedure. (serialize-openssh-host): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2023-08-20home: services: Add Syncthing.Ludovic Courtès * gnu/home/services/syncthing.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/services/syncthing.scm (<syncthing-configuration>)[home-service?]: New field. Adjust 'provision' and 'requirement' depending on 'home-service?', and likewise for #:user and #:group. Use 'filter' + 'negate' instead of 'remove'. * doc/guix.texi (Networking Services): Add note and cross-reference to "Networking Home Services". (Networking Home Services): New node. 2023-08-20home: services: Add dicod.Ludovic Courtès * gnu/home/services/dict.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/services/dict.scm (<dicod-configuration>)[home-service?]: New field. (dicod-shepherd-service): Do not map /dev/log when 'home-service?' is true. Remove 'user-processes' requirement when 'home-service?' is true. (dicod-shepherd-service): Set #:user and #:group to #f when 'home-service?' is true. * doc/guix.texi (Miscellaneous Home Services): New node. (Miscellaneous Services): Add cross-reference. 2023-08-20home: services: mcron: Define as a mapping of the system service.Ludovic Courtès * gnu/services/mcron.scm (list-of-gexps?): Remove. (<mcron-configuration>): Rewrite using 'define-record-type*'. [home-service?]: New field. [log-file]: Make thunked and changed default value. (mcron-shepherd-services): Honor 'home-service?' and remove use of 'maybe-value-set?'. (mcron-service-type): Inherit 'home-service?' from CONFIG. (generate-doc): Remove. * gnu/home/services/mcron.scm (list-of-gexp?) (<home-mcron-configuration>, job-files, shepherd-schedule-action) (home-mcron-shepherd-services, home-mcron-profile) (home-mcron-extend, generate-doc): Remove. (home-mcron-configuration): Turn into a macro. (home-mcron-service-type): Define in terms of 'system->home-service-type'. <top level>: Add service type mapping. 2023-08-20home: services: Support mapping of System services to Home services.Ludovic Courtès * gnu/home/services.scm (service-type-mapping) (system->home-service-type): New procedures. (define-service-type-mapping, define-service-type-mappings): New macros. (%system/home-service-type-mapping): New variable. <top level>: Use 'define-service-type-mappings'. * gnu/home/services/shepherd.scm <top level>: Likewise. 2023-07-11home: services: bash: Properly quote shell aliases.Ludovic Courtès Fixes <https://issues.guix.gnu.org/63048>. Reported by Ekaitz Zarraga <ekaitz@elenq.tech>. * gnu/home/services.scm (with-shell-quotation-bindings): New procedure. (environment-variable-shell-definitions): Use it instead of inline copy. * gnu/home/services/shells.scm (bash-serialize-aliases): Use it. Add clause for 'literal-string?'. * tests/guix-home.sh: Add 'aliases' to 'home-bash-extension' and test it. 2023-07-05home: Add inputrc service.Efraim Flashner * gnu/home/services/shells.scm (home-inputrc-service-type, home-inputrc-configuration): New variables. (serialize-inputrc-key-bindings, serialize-inputrc-variables, serialize-inputrc-conditional-constructs, serialize-inputrc-extra-content): New procedures. * doc/guix.texi (Shells Home Services): Document it. 2023-06-15home: services: xdg-base-directories: Deprecate XDG_LOG_HOME.Bruno Victal XDG_LOG_HOME is non-standard and log files should go to XDG_STATE_HOME according to the XDG Base Directory Specification. Fixes <https://issues.guix.gnu.org/61809>. * gnu/home/services/desktop.scm (home-dbus-shepherd-services): Log to XDG_STATE_HOME. * gnu/home/services/desktop.scm (home-unclutter-shepherd-services): Log to XDG_STATE_HOME. * gnu/home/services/mcron.scm (home-mcron-shepherd-services): Ditto. * gnu/home/services/pm.scm (home-batsignal-shepherd-services): Ditto. * gnu/home/services/shepherd.scm (launch-shepherd-gexp): Ditto. * gnu/home/services/xdg.scm (home-xdg-base-directories-configuration)[log-home]: Deprecate and unset default value. (home-xdg-base-directories-environment-variables-service) (ensure-xdg-base-dirs-on-activation): Handle field deprecation. (home-xdg-base-directories-service-type): Update description. Co-authored-by: Andrew Tropin <andrew@trop.in> Signed-off-by: Andrew Tropin <andrew@trop.in> 2023-06-14home: services: ssh: Allow unset boolean options in ssh-config.Efraim Flashner From man 5 ssh_config: Unless noted otherwise, for each parameter, the first obtained value will be used. We want to allow falling through to the first explicitly chosen user defined value. * gnu/home/services.ssh.scm (define-maybe boolean): New configuration. (openssh-host)[forward-x11?, forward-x11-trusted?, forward-agent?, compression?]: Replace default value with maybe-boolean. * doc/guix.texi (Secure Shell): Update documentation to match the changes in the code. 2023-06-09home: services: ssh: Export home-ssh-agent variables.Nicolas Graves Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2023-06-09home: services: ssh: Export configuration predicates.Nicolas Graves Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2023-06-09home: services: ssh: Add 'match-criteria' option.Nicolas Graves * gnu/home/services/ssh.scm (serialize-address-family): Raise '&formatted-message' instead of '&error'. (ssh-match-keywords): New variable. (match-criteria?): New procedure. (match-criteria): New maybe type. (openssh-host)[name]: Turn into 'maybe-string'. [match-criteria]: New field. (serialize-openssh-host): Adjust accordingly. * doc/guix.texi (Secure Shell): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2023-06-09home: services: ssh: Add 'add-keys-to-agent' field.Nicolas Graves * gnu/home/services/ssh.scm (<home-openssh-configuration>)[add-keys-to-agent]: New field. (serialize-add-keys-to-agent): New procedure. (openssh-configuration->string): Use it. * doc/guix.texi (Secure Shell): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2023-05-30home: services: Add msmtp service.Tanguy Le Carrour * gnu/home/services/mail.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Mail Home Services): New node. Co-authored-by: Ludovic Courtès <ludo@gnu.org> 2023-05-24home: services: ssh: Do not empty ~/.ssh/authorized_keys by default.Janneke Nieuwenhuizen The default was an empty list which would remove any ~/.ssh/authorized_keys file and replace it with a symlink to an empty file. On some systems, notably Ubuntu 22.10, the guix home generated ~/.ssh/authorized_keys file does not allow login. * doc/guix.texi (Secure Shell): Update, describe default #false value. * gnu/home/services/ssh.scm (<home-openssh-configuration>) [authorized-keys]: Change default to #f. (openssh-configuration-files): Cater for default #f value: Do not register "authorized_keys".