summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/home/services.scm23
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