guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/09: home: Add home-xdg-configuration-files service.


From: guix-commits
Subject: 04/09: home: Add home-xdg-configuration-files service.
Date: Sun, 20 Mar 2022 14:06:51 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit e0089dc0e959b768184c5617bf6953ad5cd39f9e
Author: Andrew Tropin <andrew@trop.in>
AuthorDate: Fri Feb 11 11:03:02 2022 +0300

    home: Add home-xdg-configuration-files service.
    
    * gnu/home/services.scm (home-xdg-configuration-files): New variable.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/home/services.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]