summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/system/shadow.scm35
1 files changed, 34 insertions, 1 deletions
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index ca9c65e6d4..6c8e02953a 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -70,6 +70,7 @@
             %default-gdbinit
             %default-nanorc
             %default-dotguile
+            %default-skeleton-home-config
             default-skeletons
             skeleton-directory
             %base-groups
@@ -239,6 +240,37 @@ convenient interactive line editing and input history.\\n\\n\")))
                (display \"Consider installing the 'guile-colorized' package
 for a colorful Guile experience.\\n\\n\"))))\n"))
 
+(define %default-skeleton-home-config
+  (plain-file "default-home-config" "\
+;; This is a sample Guix Home configuration which can help setup your
+;; home directory in the same declarative manner as Guix System.
+;; For more information, see the Home Configuration section of the manual.
+(define-module (guix-home-config)
+  #:use-module (gnu home)
+  #:use-module (gnu home services)
+  #:use-module (gnu home services shells)
+  #:use-module (gnu services)
+  #:use-module (gnu system shadow))
+
+(define home-config
+  (home-environment
+    (services
+      (list
+        ;; Uncomment the shell you wish to use for your user:
+        ;(service home-bash-service-type)
+        ;(service home-fish-service-type)
+        ;(service home-zsh-service-type)
+
+        (service home-files-service-type
+         `((\".guile\" ,%default-dotguile)
+           (\".Xdefaults\" ,%default-xdefaults)))
+
+        (service home-xdg-configuration-files-service-type
+         `((\"gdb/gdbinit\" ,%default-gdbinit)
+           (\"nano/nanorc\" ,%default-nanorc)))))))
+
+home-config"))
+
 (define (default-skeletons)
   "Return the default skeleton files for /etc/skel.  These files are copied by
 'useradd' in the home directory of newly created user accounts."
@@ -257,7 +289,8 @@ for a colorful Guile experience.\\n\\n\"))))\n"))
       (".nanorc" ,%default-nanorc)
       (".Xdefaults" ,xdefaults)
       (".guile" ,%default-dotguile)
-      (".gdbinit" ,gdbinit))))
+      (".gdbinit" ,gdbinit)
+      ("guix-home-config.scm" ,%default-skeleton-home-config))))
 
 (define (skeleton-directory skeletons)
   "Return a directory containing SKELETONS, a list of name/derivation tuples."