guix-commits
[Top][All Lists]
Advanced

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

07/10: system: Add default guix-home-config.


From: guix-commits
Subject: 07/10: system: Add default guix-home-config.
Date: Wed, 17 Jan 2024 04:19:25 -0500 (EST)

efraim pushed a commit to branch master
in repository guix.

commit 1e8ac2c41bb43338e00179a538cd6f8880a63cdb
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Sun Dec 31 11:55:26 2023 +0200

    system: Add default guix-home-config.
    
    * gnu/system/shadow.scm (%deafult-skeleton-home-config): New variable.
    (default-skeletons): Add it.
    
    Change-Id: Ida4cca8b1b3674491a4f18d94bc1b12d426575ba
---
 gnu/system/shadow.scm | 35 ++++++++++++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)

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."



reply via email to

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