diff --git a/doc/guix.texi b/doc/guix.texi index 0a6020220c..bb07432d49 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -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}. diff --git a/gnu/home/services/dotfiles.scm b/gnu/home/services/dotfiles.scm index c7c798abc4..1860009275 100644 --- a/gnu/home/services/dotfiles.scm +++ b/gnu/home/services/dotfiles.scm @@ -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)