home-config/home-configuration.scm

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