aboutsummaryrefslogtreecommitdiff
path: root/home-configuration.scm
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--home-configuration.scm26
1 files changed, 17 insertions, 9 deletions
diff --git a/home-configuration.scm b/home-configuration.scm
index 9128963..42fb790 100644
--- a/home-configuration.scm
+++ b/home-configuration.scm
@@ -4,6 +4,8 @@
;; need to capture the channels being used, as returned by "guix describe".
;; See the "Replicating Guix" section in the manual.
(use-modules (gnu home)
+ (ice-9 match)
+ (ice-9 ftw)
(gnu home services)
(gnu home services shells)
(gnu services)
@@ -73,6 +75,15 @@
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))))
+(define match-files-in-tree-to-local-file
+ (match-lambda
+ ((name stat)
+ name
+ (local-file name))
+ ((name stat children ...)
+ (list name
+ (map match-files-in-tree-to-local-file children)))))
+
(home-environment
;; Below is the list of packages that will show up in your
;; Home profile, under ~/.guix-home/profile.
@@ -172,12 +183,9 @@
"bash_profile")))
(bash-logout (list (local-file ".bash_logout" "bash_logout")))))
(service home-files-service-type
- '(map (match-lambda
- (name)
- ((string-append ".config/" name)
- (local-file name)))
- (file-system-tree "./.config"))
- ;; `(
- ;; ;(".config" ,(local-file "./.config" "user-config-folder" #:recursive? #t))
- ;; )
- ))))
+ (map match-files-in-tree-to-local-file
+ (file-system-tree "./.config")))
+ ;; `(
+ ;; ;(".config" ,(local-file "./.config" "user-config-folder" #:recursive? #t))
+ ;; )
+ )))