master
guix-home-config.scm
1;; This is a sample Guix Home configuration which can help setup your
2;; home directory in the same declarative manner as Guix System.
3;; For more information, see the Home Configuration section of the manual.
4(define-module (guix-home-config)
5 #:use-module (gnu home)
6 #:use-module (gnu packages)
7 #:use-module (gnu home services)
8 #:use-module (gnu home services shells)
9 #:use-module (gnu services)
10 #:use-module (gnu system shadow)
11 #:use-module (guix gexp)
12 )
13(use-modules
14 (ice-9 popen)
15 (ice-9 rdelim)
16 (srfi srfi-1))
17
18(define (home-file path)
19 (local-file (string-append (getenv "HOME") path))
20 )
21
22(define home-config
23
24 (home-environment
25 (packages (specifications->packages (list
26 "git"
27 "unzip"
28 "libinput"
29 "senpai"
30 "font-google-noto-emoji"
31 "chafa" "tmux"
32 "emacs-guix"
33 "links" "w3m" "curl" "librewolf" "netsurf" "dillo" "ungoogled-chromium-wayland"
34 "ffmpeg"
35 "foot" "labwc" "swaybg" "seatd" "wl-clipboard"
36 )))
37 (services
38 (append
39 (list
40 ;; Uncomment the shell you wish to use for your user:
41 (service home-fish-service-type
42 (home-fish-configuration
43 (config
44 (list (home-file "/dot/config.fish")))))
45
46
47 (service home-files-service-type
48 `((".guile" ,%default-dotguile)
49 (".tmux.conf" ,(home-file "/dot/tmux.conf"))
50 (".emacs" ,(home-file "/dot/emacs"))
51 ))
52
53
54 (service home-xdg-configuration-files-service-type
55 `(("gdb/gdbinit" ,%default-gdbinit)
56 ;;("fish/config.fish" ,(home-file "/dot/config.fish"))
57 ("senpai/senpai.scfg" ,(home-file "/dot/senpai.scfg"))
58 ("foot/foot.ini" ,(home-file "/dot/foot.ini"))
59 ("labwc/rc.xml" ,(home-file "/dot/labwc.rc.xml"))
60 ("labwc/menu.xml" ,(home-file "/dot/labwc.menu.xml"))
61 ("labwc/autostart" ,(home-file "/dot/labwc.autostart"))
62 ("nano/nanorc" ,%default-nanorc))))
63
64 %base-home-services))))
65
66home-config