summaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-12-31 11:55:26 +0200
committerEfraim Flashner <efraim@flashner.co.il>2024-01-17 11:11:10 +0200
commit1e8ac2c41bb43338e00179a538cd6f8880a63cdb (patch)
tree85184ba2b05d05d7afc91af763edcdbf063cbadb /gnu/system
parent3ca02f03048fc1ef5c604d1ac566e0b75ab5a45f (diff)
system: Add default guix-home-config.
* gnu/system/shadow.scm (%deafult-skeleton-home-config): New variable. (default-skeletons): Add it. Change-Id: Ida4cca8b1b3674491a4f18d94bc1b12d426575ba
Diffstat (limited to 'gnu/system')
-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."