diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/home/services.scm | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gnu/home/services.scm b/gnu/home/services.scm index e69aa1cb0f..254663c6bb 100644 --- a/gnu/home/services.scm +++ b/gnu/home/services.scm @@ -38,12 +38,14 @@ home-profile-service-type home-environment-variables-service-type home-files-service-type + home-xdg-configuration-files-service-type home-run-on-first-login-service-type home-activation-service-type home-run-on-change-service-type home-provenance-service-type home-files-directory + xdg-configuration-files-directory fold-home-service-types home-provenance @@ -283,6 +285,27 @@ directory containing FILES." (description "Files that will be put in @file{~~/.guix-home/files}, and further processed during activation."))) +(define xdg-configuration-files-directory "config") + +(define (xdg-configuration-files files) + "Add config/ prefix to each file-path in FILES." + (map (match-lambda + ((file-path . rest) + (cons (string-append xdg-configuration-files-directory "/" file-path) + rest))) + files)) + +(define home-xdg-configuration-files-service-type + (service-type (name 'home-files) + (extensions + (list (service-extension home-files-service-type + xdg-configuration-files))) + (compose concatenate) + (extend append) + (default-value '()) + (description "Files that will be put in +@file{~~/.guix-home/files/config}, and further processed during activation."))) + (define %initialize-gettext #~(begin (bindtextdomain %gettext-domain |