summaryrefslogtreecommitdiff
path: root/gnu/home
Commit message (Collapse)AuthorAge
* 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: import i18n module.Justin Martin2022-02-05
| | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/53701>. Reported by Roland Everaert <r.everaert@protonmail.com> and Holger Peters <holger.peters@posteo.de>. * gnu/home/services.scm (%initialize-gettext): remove setlocale for guile scripts. (compute-on-first-login-script): add module import for i18n. (compute-on-change-gexp): add module import for i18n. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: 'reconfigure' checks for potential downgrades.Ludovic Courtès2022-01-28
| | | | | | | | | | * guix/scripts/home.scm (show-help, %options): Add "--allow-downgrades". (%default-options): Remove 'build-mode'; add 'validate-reconfigure'. (perform-action): Add #:validate-reconfigure. Call 'check-forward-update' when ACTION is 'reconfigure. (process-action): Pass #:validate-reconfigure to 'perform-action'. * gnu/home/services.scm (home-provenance): Export. * doc/guix.texi (Invoking guix home): Document '--allow-downgrades'.
* 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.
* gnu: home: services: Fix typo.Vagrant Cascadian2021-11-17
| | | | | * gnu/home/services.scm (compute-on-first-login-script): Fix spelling of "appropriate".
* 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.
* home: services: Fix typo.Ludovic Courtès2021-11-16
| | | | | | | | Reinstates 4dcec60fa6a93dbc93bef2cdb91e3633c705579e, minus the regression it introduced. * gnu/home/services.scm (compute-on-first-login-script): Use 'program-file', not 'gexp->script'.
* Revert "home-services: Demonadify 'on-first-login' handling."Efraim Flashner2021-11-16
| | | | | | | | This commit breaks building guix home guix home: error: reference to invalid output 'out' of derivation \ '/gnu/store/86zc4rijsswmfqnaq8rwixcxjl2zyl1c-on-first-login.drv' This reverts commit 4dcec60fa6a93dbc93bef2cdb91e3633c705579e.
* 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".
* home: services: Typo fix.Vagrant Cascadian2021-11-14
| | | | * gnu/home/services.scm: Fix spelling of "directory".
* home-services: Demonadify 'on-first-login' handling.Ludovic Courtès2021-11-14
| | | | | | | * gnu/home/services.scm (compute-on-first-login-script): Use 'computed-file' instead of' gexp->script'. (on-first-login-script-entry): Expect a regular value rather than a monadic value and remove 'mlet'.
* home-services: on-first-login: Check if XDG_RUNTIME_DIR exists.Andrew Tropin2021-11-14
| | | | | | | | | | Fixes <https://issues.guix.gnu.org/50945>. Reported by Jan Nieuwenhuizen <janneke@gnu.org>. * gnu/home-services.scm (on-first-login): on-first-login won't execute anything if XDG_RUNTIME_DIR doesn't exists. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Improve documentation of the Bash home serviceXinglu Chen2021-11-07
| | | | | | | | | | | | * doc/guix.texi (Shells Home Services): Document ‘home-bash-extension’ configuration record. * gnu/home/services/shells.scm (generate-home-bash-documentation): Extract docstrings from ‘home-bash-extension’. (home-bash-configuration): Expound on docstrings. (home-bash-extension): Likewise. Fixes: <https://issues.guix.gnu.org/50991> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: services: bash: Add ‘aliases’ field.Xinglu Chen2021-11-07
| | | | | | | | | | | * doc/guix.texi (Shells Home Services): Document it. * gnu/home/services/shells.scm (bash-serialize-aliases): New procedure. (home-bash-configuration, home-bash-extension): Add ‘aliases’ field. (home-bash-extensions): Adjust accordingly. * guix/scripts/home/import.scm (generate-bash-configuration+modules): Populate the ‘alias’ field. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: services: shells: Fix documentation about file-like objects.Oleg Pykhalov2021-10-16
| | | | | | | | | * gnu/home/services/shells.scm: (home-shell-profile-configuration, home-shell-profile-service-type, home-zsh-configuration, home-zsh-extension, home-bash-configuration, home-bash-extension, home-fish-configuration, home-fish-extension): Replace 'strings or gexps' with 'file-like objects' in the documentation. * doc/guix.texi (Shells Home Services): Same.
* home: services: configuration: Support file-like objects.Oleg Pykhalov2021-10-09
| | | | | | | | | | | | | | | | | * gnu/home/services/configuration.scm (interpose): Operate only with file-like objects. (string-or-gexp?): Delete procedure. (serialize-string-or-gexp): Rename to 'serialize-file-like'. (text-config?): Call 'file-like' intead of 'string-or-gexp?'. * guix/scripts/home/import.scm: (generate-bash-module+configuration): Don't call slurp-file-gexp. * gnu/home/services/configuration.scm: Move content ... * gnu/services/configuration.scm: here. * gnu/home/services/shells.scm: Delete (gnu home services configuration). * gnu/home/services/xdg.scm: Same. * gnu/local.mk: Same. * tests/guix-home.sh: Test home-bash-service-type and extension with home-bash-extension.
* scripts: home: Make sure profile directory exists.Oleg Pykhalov2021-10-09
| | | | * guix/scripts/home.scm (process-action): Make sure profile directory exists.
* Move (gnu home-services) to (gnu home services).Oleg Pykhalov2021-10-09
| | | | | | | | | | | | | | | | | | | * gnu/home-services.scm (%guix-home-root-directory): Replace gnu/home-services.scm with "gnu/home/services.scm". Rename to gnu/home/services.scm. * gnu/local.mk (GNU_SYSTEM_MODULES): Rename gnu/home-services.scm to gnu/home/services.scm. * doc/he-config-bare-bones.scm: Replace (gnu home-services) with (gnu home services). * gnu/home.scm: Same. * gnu/home/services/fontutils.scm: Same. * gnu/home/services/mcron.scm: Same. * gnu/home/services/shells.scm: Same. * gnu/home/services/shepherd.scm: Same. * gnu/home/services/symlink-manager.scm: Same. * gnu/home/services/xdg.scm: Same. * guix/scripts/home.scm: Same. * guix/self.scm: Same.
* gnu: Move (gnu home-services) to (gnu home services).Oleg Pykhalov2021-10-08
* gnu/home-services/configuration.scm: Move the content ... * gnu/home/services/configuration.scm: ... here. * doc/guix.texi: Replace (gnu home-services mcron) with (gnu home services mcron). Replace (gnu home-services) with (gnu home services). * gnu/home.scm: Replace (gnu home-services fontutils) with (gnu services fontutils). Replace (gnu home-services shells) with (gnu home services shells). Replace (gnu home-services symlink-manager) with (gnu home services symlink-manager). Replace (gnu home-services xdg) with (gnu home services xdg). * gnu/home-services/fontutils.scm: Rename to gnu/services/fontutils.scm. * gnu/home-services/mcron.scm: Move to gnu/home/services/mcron.scm. Replace (gnu home-services shepherd) with (gnu home services shepherd). * gnu/home-services.scm (%service-type-path): Search home services in "gnu/services". * gnu/home-services/shells.scm: Replace (gnu home-services configuration) with (gnu home services configuration). Rename to gnu/home/services/shells.scm. Replace (gnu home-services utils) with (gnu home services utils). * gnu/home-services/shepherd.scm: Move to gnu/home/services/shepherd.scm. * gnu/home-services/symlink-manager.scm: Rename to gnu/home/services/symlink-manager.scm. * gnu/home-services/utils.scm: Rename to gnu/home/services/utils.scm. * gnu/home-services/xdg.scm: Rename to gnu/home/services/xdg.scm. * guix/scripts/home/import.scm: Replace (gnu home-services bash) with (gnu home services bash). * gnu/home-services.scm: Update documentation string. * doc/he-config-bare-bones.scm: Apply new (gnu home-services ...) modules location. * gnu/local.mk (GNU_SYSTEM_MODULES): Same.