git v1.2.3'/>
aboutsummaryrefslogtreecommitdiff
path: root/gnu/home/services/symlink-manager.scm
AgeCommit message (Expand)Author
2022-04-11home: symlink-manager: Handle non-existing directory during cleanup....* gnu/home/services/symlink-manager.scm (update-symlinks-script): Handle non-existing directory during cleanup. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Andrew Tropin
2022-04-10home: symlink-manager: Use no-follow version of file-exists?....* 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> Andrew Tropin
2022-04-08home: Add home-xdg-data-files-service-type....* 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> Andrew Tropin
2022-04-08home: symlink-manager: Remove appending of leading dot....* 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> Andrew Tropin
2022-03-20home: symlink-manager: Respect XDG_CONFIG_HOME during activation....* gnu/home/services/symlink-manager.scm (update-symlinks-script): Respect XDG_CONFIG_HOME during activation. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Andrew Tropin
2022-03-20home: Explicitly connect home-file and symlink-manager services....* gnu/home/services.scm (home-files-directory): New variable. * gnu/home/symlink-manager.scm (update-symlinks-script): Use home-files-directory variable from (gnu home services). Signed-off-by: Ludovic Courtès <ludo@gnu.org> Andrew Tropin
2022-03-20home: symlink-manager: Add missing 'done' word in message....* gnu/home/services/symlink-manager.scm (update-symlinks-script): Add missing 'done' word in message, keep code width below 80 column. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Andrew Tropin
2022-03-20home: symlink-manager: Use existing home-directory symbol....* gnu/home/services/symlink-manager.scm (update-symlinks-script): Use existing home-directory symbol instead of additional getenv call. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Andrew Tropin
2022-03-10home: symlink-manager: Rename "path" to "file" where appropriate....* 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'. Ludovic Courtès
2022-03-10home: symlink-manager: 'create-symlinks' uses 'file-system-fold'....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'. Ludovic Courtès
2022-03-10home: symlink-manager: 'cleanup-symlinks' uses 'file-system-fold'....* 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'. Ludovic Courtès
2022-03-10home: symlink-manager: Avoid extra 'lstat' call....* gnu/home/services/symlink-manager.scm (update-symlinks-script)[symlink-to-store?]: Avoid extra 'lstat' call. Ludovic Courtès
2022-03-10home: symlink-manager: Remove 'empty-directory?' and avoid TOCTTOU race....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. Ludovic Courtès
2022-03-10home: symlink-manager: Use 'file-is-directory?'....* gnu/home/services/symlink-manager.scm (update-symlinks-script)[directory?]: Remove. Change callers to use 'file-is-directory?' instead. Ludovic Courtès
2022-03-10home: symlink-manager: Use 'for-each' when used for effects....* gnu/home/services/symlink-manager.scm (update-symlinks-script)[cleanup-symlinks] [create-symlinks]: Use 'for-each' instead of 'map'. Ludovic Courtès
2022-03-10home: symlink-manager: Move helper procedures as top-level defines....* 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. Ludovic Courtès
2022-03-10home: symlink-manager: Clarify module imports....* 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. Ludovic Courtès
2022-01-03home: services: Make strings in Gexps translateble....* 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> Xinglu Chen