home-config/home-configuration.scm

ce1c24e3100d48c9c210eb1ebc5ebadcc6b77659 · 11.4 KB · 207 lines raw

1 ;; This "home-environment" file can be passed to 'guix home reconfigure'
2 ;; to reproduce the content of your profile. This is "symbolic": it only
3 ;; specifies package names. To reproduce the exact same profile, you also
4 ;; need to capture the channels being used, as returned by "guix describe".
5 ;; See the "Replicating Guix" section in the manual.
6
7 (use-modules (gnu home)
8 (gnu packages)
9 (gnu packages vim)
10 (gnu packages gcc)
11 (gnu packages gnupg)
12 (gnu services)
13 (guix packages)
14 (guix gexp)
15 (gnu home services shells)
16 (gnu home services desktop)
17 (gnu home services gnupg)
18 (gnu home services fontutils)
19 (gnu home services)
20 (ryan-services pipewire)
21 (ryan-services spotify)
22 (ryan-services file-manager)
23 (ryan-config utils)
24 (ryan-packages freedesktop)
25 (ryan-packages calcurse)
26 ;(ryan-packages binaries)
27 (rosenthal packages binaries)
28 (ryan-packages mozilla))
29
30 (define my-neovim
31 (package
32 (inherit neovim)
33 (native-inputs
34 (modify-inputs (package-native-inputs neovim)
35 (prepend gcc-12)))))
36
37 (define %home-symlinks
38 `((".config/guix/home-config/fish" ".config/fish")
39 (".config/guix/home-config/nix-config" ".config/nix")
40 (".config/guix/home-config/tridactyl/native_main" ".local/share/tridactyl/native_main")
41 (".config/guix/home-config/nix-home-manager" ".config/home-manager")))
42
43 (home-symlinks %home-symlinks)
44
45 (home-environment
46 ;; Below is the list of packages that will show up in your
47 ;; Home profile, under ~/.guix-home/profile.
48 (packages (append (specifications->packages (list "bat"
49 "fd"
50 "fish"
51 "xdg-utils"
52 "abook"
53 "libnotify"
54 "fzf"
55 "waypipe"
56 "foot"
57 "pulseaudio" ;only for pactl
58 "qpwgraph"
59 "gnunet"
60 ;"ffmpeg" ; removed for mpv prop input
61 "qrencode"
62 "tmux"
63 "binutils"
64 "gcc-toolchain"
65 "borg"
66 "restic"
67 "rsync"
68 "cloc"
69 "sc-im"
70 "pv"
71 "jq"
72 "bombadillo"
73 "python-msgpack"
74 "wdisplays"
75 "kanshi"
76 "libreoffice"
77 "flatpak"
78 "gnupg"
79 "spotifyd"
80 "lsof"
81 "pavucontrol"
82 "netcat"
83 "bind:utils"
84 "font-cns11643"
85 "font-google-noto-emoji"
86 "syncthing"
87 "taskwarrior"
88 "tasksh"
89 ;"imv" ; Nix pkg now for MESA stuff
90 "perl"
91 "tor"
92 "unzip"
93 "htop"
94 "curl"
95 "pandoc"
96 "texlive-bin"
97 "texlive-scheme-basic"
98 "texlive-txfonts"
99 "texlive-amsfonts"
100 "texlive-lm"
101 "texlive-lm-math"
102 "texlive-iftex"
103 "texlive-unicode-math"
104 "texlive-fontspec"
105 "texlive-xcolor"
106 "texlive-geometry"
107 "texlive-hyperref"
108 "texlive-parskip"
109 "texlive-etoolbox"
110 "texlive-setspace"
111 "zathura"
112 "zathura-pdf-mupdf"
113 "go"
114 "fzf"
115 "weechat"
116 "gimp"
117 "python"
118 "python:tk"
119 "file"
120 "python-lsp-server"
121 "kdenlive"
122 "sqlite"
123 ;"mpv" ; Now a nix pkg for MESA stuff
124 "qbittorrent"
125 "playerctl"
126 ;"aerc"
127 "tcpdump"
128 "pamixer"
129 "git"
130 "git:send-email"
131 "password-store"
132 "node"
133 "kanshi"
134 ;"firefox"
135 "signal-desktop"
136 "sc-im"
137 "git-lfs"))
138 (list my-neovim calcurse-fixed )))
139
140 ;; Below is the list of Home services. To search for available
141 ;; services, run 'guix home search KEYWORD' in a terminal.
142 (services
143 (list ;(service home-bash-service-type
144 ; (home-bash-configuration
145 ;(aliases '(("grep" . "grep --color=auto") ("ll" . "ls -l")
146 ; ("ls" . "ls -p --color=auto")
147 ; ("spt" . "spotify_player")
148 ; ("python" . "python3")))
149 ; (bashrc (list (local-file
150 ; "bashrc")))
151 ; (bash-profile (list (local-file
152 ; "bash_profile")))))
153 (service home-xdg-configuration-files-service-type
154 `(("nvim/init.vim" ,(local-file "nvim/config/init.vim"))
155 ("nvim/after/ftplugin/markdown/custom.vim" ,(local-file "nvim/config/after/ftplugin/markdown/custom.vim"))
156 ("nvim/after/ftplugin/mail/custom.vim" ,(local-file "nvim/config/after/ftplugin/mail/custom.vim"))
157 ("sway" ,(local-file "sway" #:recursive? #t))
158 ("hypr" ,(local-file "hypr" #:recursive? #t))
159 ("wpaperd" ,(local-file "wpaperd" #:recursive? #t))
160 ("mpv" ,(local-file "mpv" #:recursive? #t))
161 ("foot" ,(local-file "foot" #:recursive? #t))
162 ("pulse/client.conf" ,(local-file "pulseaudio/client.conf"))
163 ("waybar" ,(local-file "waybar" #:recursive? #t))
164 ("alacritty" ,(local-file "alacritty" #:recursive? #t))
165 ("aerc" ,(local-file "aerc" #:recursive? #t)) ))
166 (service home-files-service-type
167 `((".local/share/nvim/site/autoload/plug.vim" ,(local-file "nvim/plugin-manager/plug.vim"))
168 (".ssh/config" ,(local-file "ssh/config"))
169 (".icons" ,(local-file "icons" #:recursive? #t))
170 ;(".mozilla/native-messaging-hosts/tridactyl.json" ,(local-file "tridactyl/tridactyl.json"))
171 ;(".gnupg/sshcontrol" ,(local-file "gnupg/sshcontrol"))
172 ;(".gnupg/gpg-agent.conf" ,(local-file "gnupg/gpg-agent.conf"))
173 (".local/share/fonts" ,(local-file "fonts" #:recursive? #t))
174 (".gitconfig" ,(local-file "gitconfig"))
175 (".docker/cli-plugins" ,(local-file "docker/cli-plugins" #:recursive? #t))
176 (".nix-channels" ,(local-file "nix-channels"))))
177 (service home-pipewire-service-type)
178 (service home-spotifyd-service-type)
179 ; font things for nix to play nice
180 (simple-service 'additional-fonts-service
181 home-fontconfig-service-type
182 (list "~/.nix-profile/share/fonts"
183 '(match (@ (target "pattern"))
184 (edit (@ (name "family") (mode "prepend"))
185 (string "DejaVu Sans")))
186 '(alias
187 (family "serif")
188 (prefer
189 (family "DejaVu Serif")))
190 '(alias
191 (family "sans")
192 (prefer
193 (family "DejaVu Sans")))
194 '(alias
195 (family "monospace")
196 (prefer
197 (family "DejaVu Sans Mono")))))
198 (service home-dbus-service-type)
199 ;;; trying some changes
200 ;(template-files "."
201 ;'("spotify-player/app.toml"
202 ;;;
203 (service home-gpg-agent-service-type
204 (home-gpg-agent-configuration
205 (pinentry-program
206 (file-append pinentry "/bin/pinentry"))
207 (ssh-support? #t))) )))