1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 13:10:33 +02:00

gnu: home: dotfiles: Files not excluded when they should.

* 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>
This commit is contained in:
Giacomo Leidi
2025-12-15 20:03:00 +01:00
committed by Cayetano Santos
parent dc93f8c7f7
commit 4533da834d
2 changed files with 3 additions and 4 deletions

View File

@@ -51103,7 +51103,7 @@ the @code{home-dotfiles-service-type} will only provision dotfiles from this
subset of applications. This field will be ignored if @code{layout} is set
to @code{'plain}.
@item @code{excluded} (default: @code{'(".*~" ".*\\.swp" "\\.git" "\\.gitignore")}) (type: list-of-strings)
@item @code{excluded} (default: @code{'(".*~" ".*\\.swp" "\\.git/.*" "\\.gitignore")}) (type: list-of-strings)
The list of file patterns @code{home-dotfiles-service-type} will exclude
while visiting each one of the @code{directories}.

View File

@@ -45,7 +45,7 @@
(define %home-dotfiles-excluded
'(".*~"
".*\\.swp"
"\\.git"
"\\.git/.*"
"\\.gitignore"))
(define %home-dotfiles-layouts
@@ -135,8 +135,7 @@ value, excluding files that match any of the patterns configured."
(define (filter-files directory)
(find-files directory
(lambda (file stat)
(not (regexp-exec exclusion-rx
(basename file))))))
(not (regexp-exec exclusion-rx file)))))
(if (and stow? packages (maybe-value-set? packages))
(append-map filter-files
(map (lambda (pkg)