diff options
Diffstat (limited to 'accounts')
-rw-r--r-- | accounts/gkleen@sif/default.nix | 606 |
1 files changed, 309 insertions, 297 deletions
diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index 66328970..4d4eb7be 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix | |||
@@ -43,350 +43,362 @@ in { | |||
43 | imports = with flake.nixosModules.userProfiles.${userName}; [ | 43 | imports = with flake.nixosModules.userProfiles.${userName}; [ |
44 | mpv yt-dlp (args: import ./xcompose.nix (inputs // args)) | 44 | mpv yt-dlp (args: import ./xcompose.nix (inputs // args)) |
45 | ]; | 45 | ]; |
46 | 46 | ||
47 | config.home-manager.users.${userName} = { | 47 | config = { |
48 | nixpkgs.config = { | 48 | services.xserver = { |
49 | allowUnfree = true; | 49 | displayManager.defaultSession = "none+xmonad"; |
50 | zathura.useMupdf = false; | 50 | |
51 | }; | 51 | windowManager.session = [{ |
52 | 52 | name = "xmonad"; | |
53 | programs = { | 53 | start = '' |
54 | ssh = { | 54 | ${pkgs.systemd}/bin/systemd-cat -t xmonad -- ${pkgs.coreutils}/bin/env -u SHLVL -- ${xmonad}/bin/xmonad & |
55 | matchBlocks = import ./ssh-hosts.nix { inherit pkgs; }; # customUtils.nixImport { dir = ./ssh-hosts; }; | 55 | waitPID=$! |
56 | extraConfig = '' | ||
57 | Match host uniworx3.ifi.lmu.de,uniworx4.ifi.lmu.de,uniworx5.ifi.lmu.de,uni2workgw.ifi.lmu.de,blackbeard.tcs.ifi.lmu.de,gitlab2.rz.ifi.lmu.de,oregon.tcs.ifi.lmu.de !exec "nc -z -w 1 %h %p &>/dev/null" | ||
58 | ProxyJump remote.cip.ifi.lmu.de | ||
59 | |||
60 | Match host *.mathinst.loc,*.cipmath.loc,*.math.lmu.de | ||
61 | IdentityFile ~/.ssh/gkleen@mathinst.loc | ||
62 | HostKeyAlgorithms +ssh-rsa | ||
63 | PubkeyAcceptedAlgorithms +ssh-rsa | ||
64 | ConnectTimeout 30 | ||
65 | PasswordAuthentication yes | ||
66 | KbdInteractiveAuthentication yes | ||
67 | |||
68 | Match host *.mathinst.loc !host mathw0g.mathinst.loc !exec "nc -z -w 1 %h %p &>/dev/null" | ||
69 | # ProxyCommand ${pkgs.socat}/bin/socat - SOCKS4A:127.0.0.1:%h:%p,socksport=8118 | ||
70 | ProxyJump mathw0g | ||
71 | |||
72 | Match host mathw0g.mathinst.loc !exec "nc -z -w 1 %h %p &>/dev/null" | ||
73 | HostName mathw0g.math.lmu.de | ||
74 | |||
75 | Match host *.cipmath.loc !exec "nc -z -w 1 %h %p &>/dev/null" | ||
76 | ProxyJump mathw0h | ||
77 | |||
78 | Match host *.ifi.lmu.de,*.math.lmu.de | ||
79 | AddressFamily inet | ||
80 | |||
81 | Match host *.mgmt.yggdrasil | ||
82 | ProxyJump vidhar | ||
83 | |||
84 | Host * | ||
85 | ''; | 56 | ''; |
86 | }; | 57 | }]; |
58 | }; | ||
87 | 59 | ||
88 | emacs = { | 60 | home-manager.users.${userName} = { |
89 | enable = true; | 61 | nixpkgs.config = { |
90 | extraPackages = epkgs: with epkgs; [ | 62 | allowUnfree = true; |
91 | evil evil-dvorak undo-tree magit haskell-mode nix-mode | 63 | zathura.useMupdf = false; |
92 | yaml-mode json-mode shakespeare-mode smart-mode-line | ||
93 | highlight-parentheses highlight-symbol ag sass-mode lua-mode | ||
94 | fira-code-mode use-package # notmuch | ||
95 | use-package-ensure-system-package git-gutter emacsScratch | ||
96 | edit-server mediawiki editorconfig typescript-mode | ||
97 | markdown-mode | ||
98 | ]; | ||
99 | }; | 64 | }; |
100 | firefox = { | 65 | |
101 | enable = true; | 66 | programs = { |
102 | profiles.default = { | 67 | ssh = { |
103 | settings = { | 68 | matchBlocks = import ./ssh-hosts.nix { inherit pkgs; }; # customUtils.nixImport { dir = ./ssh-hosts; }; |
104 | "layout.css.devPixelsPerPx" = "1.75"; | 69 | extraConfig = '' |
105 | "browser.tabs.drawInTitlebar" = false; | 70 | Match host uniworx3.ifi.lmu.de,uniworx4.ifi.lmu.de,uniworx5.ifi.lmu.de,uni2workgw.ifi.lmu.de,blackbeard.tcs.ifi.lmu.de,gitlab2.rz.ifi.lmu.de,oregon.tcs.ifi.lmu.de !exec "nc -z -w 1 %h %p &>/dev/null" |
106 | "toolkit.legacyUserProfileCustomizations.stylesheets" = true; | 71 | ProxyJump remote.cip.ifi.lmu.de |
107 | "dom.security.https_only_mode" = true; | 72 | |
73 | Match host *.mathinst.loc,*.cipmath.loc,*.math.lmu.de | ||
74 | IdentityFile ~/.ssh/gkleen@mathinst.loc | ||
75 | HostKeyAlgorithms +ssh-rsa | ||
76 | PubkeyAcceptedAlgorithms +ssh-rsa | ||
77 | ConnectTimeout 30 | ||
78 | PasswordAuthentication yes | ||
79 | KbdInteractiveAuthentication yes | ||
80 | |||
81 | Match host *.mathinst.loc !host mathw0g.mathinst.loc !exec "nc -z -w 1 %h %p &>/dev/null" | ||
82 | # ProxyCommand ${pkgs.socat}/bin/socat - SOCKS4A:127.0.0.1:%h:%p,socksport=8118 | ||
83 | ProxyJump mathw0g | ||
84 | |||
85 | Match host mathw0g.mathinst.loc !exec "nc -z -w 1 %h %p &>/dev/null" | ||
86 | HostName mathw0g.math.lmu.de | ||
87 | |||
88 | Match host *.cipmath.loc !exec "nc -z -w 1 %h %p &>/dev/null" | ||
89 | ProxyJump mathw0h | ||
90 | |||
91 | Match host *.ifi.lmu.de,*.math.lmu.de | ||
92 | AddressFamily inet | ||
93 | |||
94 | Match host *.mgmt.yggdrasil | ||
95 | ProxyJump vidhar | ||
96 | |||
97 | Host * | ||
98 | ''; | ||
99 | }; | ||
100 | |||
101 | emacs = { | ||
102 | enable = true; | ||
103 | extraPackages = epkgs: with epkgs; [ | ||
104 | evil evil-dvorak undo-tree magit haskell-mode nix-mode | ||
105 | yaml-mode json-mode shakespeare-mode smart-mode-line | ||
106 | highlight-parentheses highlight-symbol ag sass-mode lua-mode | ||
107 | fira-code-mode use-package # notmuch | ||
108 | use-package-ensure-system-package git-gutter emacsScratch | ||
109 | edit-server mediawiki editorconfig typescript-mode | ||
110 | markdown-mode | ||
111 | ]; | ||
112 | }; | ||
113 | firefox = { | ||
114 | enable = true; | ||
115 | profiles.default = { | ||
116 | settings = { | ||
117 | "layout.css.devPixelsPerPx" = "1.75"; | ||
118 | "browser.tabs.drawInTitlebar" = false; | ||
119 | "toolkit.legacyUserProfileCustomizations.stylesheets" = true; | ||
120 | "dom.security.https_only_mode" = true; | ||
121 | }; | ||
108 | }; | 122 | }; |
109 | }; | 123 | }; |
110 | }; | ||
111 | 124 | ||
112 | alacritty = { | 125 | alacritty = { |
113 | enable = true; | 126 | enable = true; |
114 | settings = import ./alacritty.nix; | 127 | settings = import ./alacritty.nix; |
115 | }; | 128 | }; |
116 | 129 | ||
117 | zathura.enable = true; | 130 | zathura.enable = true; |
118 | 131 | ||
119 | mpv.config = { | 132 | mpv.config = { |
120 | demuxer-max-bytes = 1073741824; | 133 | demuxer-max-bytes = 1073741824; |
121 | demuxer-max-back-bytes = 268435456; | 134 | demuxer-max-back-bytes = 268435456; |
122 | # gpu-api = "vulkan"; | 135 | # gpu-api = "vulkan"; |
123 | }; | 136 | }; |
124 | 137 | ||
125 | autorandr = { | 138 | autorandr = { |
126 | enable = true; | 139 | enable = true; |
127 | hooks = { | 140 | hooks = { |
128 | preswitch = { | 141 | preswitch = { |
129 | "stop-tray" = '' | 142 | "stop-tray" = '' |
130 | ${pkgs.systemd}/bin/systemctl --user try-restart tray.target | 143 | ${pkgs.systemd}/bin/systemctl --user try-restart tray.target |
131 | ''; | 144 | ''; |
132 | }; | 145 | }; |
133 | postswitch = { | 146 | postswitch = { |
134 | # "restart-compton" = "${pkgs.systemd}/bin/systemctl --user try-restart picom"; | 147 | # "restart-compton" = "${pkgs.systemd}/bin/systemctl --user try-restart picom"; |
135 | "restart-tray" = '' | 148 | "restart-tray" = '' |
136 | ${pkgs.systemd}/bin/systemctl --user try-restart tray.target | 149 | ${pkgs.systemd}/bin/systemctl --user try-restart tray.target |
137 | ''; | 150 | ''; |
151 | }; | ||
138 | }; | 152 | }; |
153 | profiles = customUtils.nixImport rec { dir = ./autorandr-profiles; _import = name: _base: import "${toString dir}/${name}" inputs; }; | ||
139 | }; | 154 | }; |
140 | profiles = customUtils.nixImport rec { dir = ./autorandr-profiles; _import = name: _base: import "${toString dir}/${name}" inputs; }; | ||
141 | }; | ||
142 | 155 | ||
143 | zsh.initExtra = "source ${./zshrc}"; | 156 | zsh.initExtra = "source ${./zshrc}"; |
144 | zsh.dirHashes = let | 157 | zsh.dirHashes = let |
145 | flakeHashes = lib.mapAttrs' (n: v: lib.nameValuePair (inputNames.${n} or n) (toString v)) flakeInputs; | 158 | flakeHashes = lib.mapAttrs' (n: v: lib.nameValuePair (inputNames.${n} or n) (toString v)) flakeInputs; |
146 | inputNames = { | 159 | inputNames = { |
147 | "nixpkgs" = "nixos"; | 160 | "nixpkgs" = "nixos"; |
161 | }; | ||
162 | in flakeHashes // { | ||
163 | u2w = "$HOME/projects/uni2work"; | ||
164 | docs = "$HOME/documents"; | ||
165 | dl = "$HOME/Downloads"; | ||
166 | flk = "$HOME/config/nixos-flakes"; | ||
167 | rz = "$HOME/projects/rz"; | ||
148 | }; | 168 | }; |
149 | in flakeHashes // { | ||
150 | u2w = "$HOME/projects/uni2work"; | ||
151 | docs = "$HOME/documents"; | ||
152 | dl = "$HOME/Downloads"; | ||
153 | flk = "$HOME/config/nixos-flakes"; | ||
154 | rz = "$HOME/projects/rz"; | ||
155 | }; | ||
156 | 169 | ||
157 | obs-studio = { | 170 | obs-studio = { |
158 | enable = true; | 171 | enable = true; |
159 | plugins = with pkgs; []; | 172 | plugins = with pkgs; []; |
160 | }; | ||
161 | |||
162 | gh = { | ||
163 | enable = true; | ||
164 | settings = { | ||
165 | editor = "${config.home-manager.users.${userName}.programs.emacs.package}/bin/emacsclient"; | ||
166 | gitProtocol = "ssh"; | ||
167 | }; | 173 | }; |
168 | }; | ||
169 | 174 | ||
170 | nix-index.enable = true; | 175 | gh = { |
171 | }; | 176 | enable = true; |
177 | settings = { | ||
178 | editor = "${config.home-manager.users.${userName}.programs.emacs.package}/bin/emacsclient"; | ||
179 | gitProtocol = "ssh"; | ||
180 | }; | ||
181 | }; | ||
172 | 182 | ||
173 | services = { | 183 | nix-index.enable = true; |
174 | dunst = { | ||
175 | settings = import ./dunst-settings.nix inputs; | ||
176 | iconTheme = cfg.gtk.iconTheme; | ||
177 | enable = true; | ||
178 | }; | 184 | }; |
179 | emacs = { | 185 | |
180 | enable = true; | 186 | services = { |
181 | client = { | 187 | dunst = { |
188 | settings = import ./dunst-settings.nix inputs; | ||
189 | iconTheme = cfg.gtk.iconTheme; | ||
182 | enable = true; | 190 | enable = true; |
183 | arguments = lib.mkForce ["-a" "\"\""]; | ||
184 | }; | 191 | }; |
185 | }; | 192 | emacs = { |
186 | gpg-agent = { | 193 | enable = true; |
187 | enable = true; | 194 | client = { |
188 | enableSshSupport = true; | 195 | enable = true; |
189 | extraConfig = '' | 196 | arguments = lib.mkForce ["-a" "\"\""]; |
190 | pinentry-program ${pkgs.pinentry-gtk2}/bin/pinentry | 197 | }; |
191 | grab | 198 | }; |
192 | ''; | 199 | gpg-agent = { |
193 | }; | 200 | enable = true; |
194 | taffybar = { | 201 | enableSshSupport = true; |
195 | enable = true; | 202 | extraConfig = '' |
196 | package = import ./taffybar { haskellPackages = pkgs.haskell.packages.ghc8107; }; | 203 | pinentry-program ${pkgs.pinentry-gtk2}/bin/pinentry |
197 | }; | 204 | grab |
198 | status-notifier-watcher.enable = true; | 205 | ''; |
199 | xembed-sni-proxy.enable = true; | 206 | }; |
200 | pasystray.enable = true; | 207 | taffybar = { |
201 | udiskie = { | 208 | enable = true; |
202 | enable = true; | 209 | package = import ./taffybar { haskellPackages = pkgs.haskell.packages.ghc8107; }; |
203 | automount = false; | 210 | }; |
204 | }; | 211 | status-notifier-watcher.enable = true; |
205 | unclutter = { | 212 | xembed-sni-proxy.enable = true; |
206 | enable = true; | 213 | pasystray.enable = true; |
207 | timeout = 5; | 214 | udiskie = { |
208 | }; | 215 | enable = true; |
209 | network-manager-applet.enable = true; | 216 | automount = false; |
210 | blueman-applet.enable = true; | 217 | }; |
218 | unclutter = { | ||
219 | enable = true; | ||
220 | timeout = 5; | ||
221 | }; | ||
222 | network-manager-applet.enable = true; | ||
223 | blueman-applet.enable = true; | ||
211 | 224 | ||
212 | sxhkd = { | 225 | sxhkd = { |
213 | enable = true; | 226 | enable = true; |
214 | keybindings = { | 227 | keybindings = { |
215 | "button8" = "${muteScript}/bin/mute unmute"; | 228 | "button8" = "${muteScript}/bin/mute unmute"; |
216 | "@button8" = "${muteScript}/bin/mute mute"; | 229 | "@button8" = "${muteScript}/bin/mute mute"; |
217 | "button9" = "${pkgs.pulseaudio}/bin/pacmd set-sink-mute @DEFAULT_SINK@ 1"; | 230 | "button9" = "${pkgs.pulseaudio}/bin/pacmd set-sink-mute @DEFAULT_SINK@ 1"; |
218 | "@button9" = "${pkgs.pulseaudio}/bin/pacmd set-sink-mute @DEFAULT_SINK@ 0"; | 231 | "@button9" = "${pkgs.pulseaudio}/bin/pacmd set-sink-mute @DEFAULT_SINK@ 0"; |
232 | }; | ||
219 | }; | 233 | }; |
220 | }; | ||
221 | 234 | ||
222 | unison = { | 235 | unison = { |
223 | enable = true; | 236 | enable = true; |
224 | pairs = { | 237 | pairs = { |
225 | documents = { | 238 | documents = { |
226 | roots = ["${cfg.home.homeDirectory}/documents" "ssh://unison.vidhar/documents"]; | 239 | roots = ["${cfg.home.homeDirectory}/documents" "ssh://unison.vidhar/documents"]; |
227 | stateDirectory = "${cfg.xdg.dataHome}/documents.unison"; | 240 | stateDirectory = "${cfg.xdg.dataHome}/documents.unison"; |
228 | commandOptions = { | 241 | commandOptions = { |
229 | auto = "true"; | 242 | auto = "true"; |
230 | batch = "true"; | 243 | batch = "true"; |
231 | log = "false"; | 244 | log = "false"; |
232 | repeat = "watch"; | 245 | repeat = "watch"; |
233 | sshcmd = "${pkgs.openssh}/bin/ssh"; | 246 | sshcmd = "${pkgs.openssh}/bin/ssh"; |
234 | ui = "text"; | 247 | ui = "text"; |
248 | }; | ||
235 | }; | 249 | }; |
236 | }; | 250 | }; |
237 | }; | 251 | }; |
238 | }; | ||
239 | 252 | ||
240 | easyeffects = { | 253 | easyeffects = { |
241 | enable = true; | 254 | enable = true; |
242 | preset = "LoudnessEqualizer"; | 255 | preset = "LoudnessEqualizer"; |
243 | }; | 256 | }; |
244 | 257 | ||
245 | screen-locker = { | 258 | screen-locker = { |
246 | enable = true; | 259 | enable = true; |
247 | lockCmd = toString (pkgs.writeShellScript "lock" '' | 260 | lockCmd = toString (pkgs.writeShellScript "lock" '' |
248 | cleanup() { | 261 | cleanup() { |
249 | ${cfg.services.dunst.package}/bin/dunstctl set-paused false | 262 | ${cfg.services.dunst.package}/bin/dunstctl set-paused false |
250 | } | 263 | } |
251 | trap cleanup EXIT INT TERM | 264 | trap cleanup EXIT INT TERM |
252 | 265 | ||
253 | ${pkgs.playerctl}/bin/playerctl -a pause | 266 | ${pkgs.playerctl}/bin/playerctl -a pause |
254 | ${cfg.services.dunst.package}/bin/dunstctl set-paused true | 267 | ${cfg.services.dunst.package}/bin/dunstctl set-paused true |
255 | ${pkgs.xsecurelock}/bin/xsecurelock | 268 | ${pkgs.xsecurelock}/bin/xsecurelock |
256 | ''); | 269 | ''); |
257 | xss-lock.extraOptions = ["--transfer-sleep-lock"]; | 270 | xss-lock.extraOptions = ["--transfer-sleep-lock"]; |
271 | }; | ||
258 | }; | 272 | }; |
259 | }; | ||
260 | 273 | ||
261 | home.pointerCursor = { | 274 | home.pointerCursor = { |
262 | package = pkgs.vanilla-dmz; | 275 | package = pkgs.vanilla-dmz; |
263 | name = "Vanilla-DMZ-AA"; | 276 | name = "Vanilla-DMZ-AA"; |
264 | size = 32; | 277 | size = 32; |
265 | 278 | ||
266 | x11 = { | 279 | x11 = { |
267 | enable = true; | 280 | enable = true; |
268 | defaultCursor = "left_ptr"; | 281 | defaultCursor = "left_ptr"; |
282 | }; | ||
283 | gtk.enable = true; | ||
269 | }; | 284 | }; |
270 | gtk.enable = true; | ||
271 | }; | ||
272 | 285 | ||
273 | gtk = { | 286 | gtk = { |
274 | enable = true; | 287 | enable = true; |
275 | font = { | 288 | font = { |
276 | package = pkgs.fira; | 289 | package = pkgs.fira; |
277 | name = "Fira Sans"; | 290 | name = "Fira Sans"; |
278 | size = 6; | 291 | size = 6; |
279 | }; | 292 | }; |
280 | theme = { | 293 | theme = { |
281 | package = pkgs.equilux-theme; | 294 | package = pkgs.equilux-theme; |
282 | name = "Equilux-compact"; | 295 | name = "Equilux-compact"; |
283 | }; | 296 | }; |
284 | iconTheme = { | 297 | iconTheme = { |
285 | package = pkgs.paper-icon-theme; | 298 | package = pkgs.paper-icon-theme; |
286 | name = "Paper"; | 299 | name = "Paper"; |
300 | }; | ||
287 | }; | 301 | }; |
288 | }; | ||
289 | |||
290 | xsession = { | ||
291 | enable = true; | ||
292 | 302 | ||
293 | windowManager.command = "${pkgs.coreutils}/bin/env -u SHLVL -- ${xmonad}/bin/xmonad"; | 303 | xsession = { |
294 | 304 | enable = true; | |
295 | initExtra = '' | ||
296 | ${pkgs.xorg.xinput}/bin/xinput disable 'Synaptics TM3512-010' | ||
297 | ${pkgs.xorg.xmodmap}/bin/xmodmap -e 'keysym Caps_Lock = Multi_key' | ||
298 | ''; | ||
299 | }; | ||
300 | 305 | ||
301 | xresources.properties = import ./xresources.nix; | 306 | initExtra = '' |
302 | 307 | ${pkgs.xorg.xinput}/bin/xinput disable 'Synaptics TM3512-010' | |
303 | home = { | 308 | ${pkgs.xorg.xmodmap}/bin/xmodmap -e 'keysym Caps_Lock = Multi_key' |
304 | packages = with pkgs; [ | 309 | ''; |
305 | fira fira-code powerline-fonts nerdfonts pavucontrol keepassxc | ||
306 | sxiv xclip mumble pulseaudio-ctl pamixer libnotify synergy | ||
307 | xorg.xbacklight screen-message | ||
308 | ytmdesktop qt5ct playerctl evince | ||
309 | thunderbird wrappedZulip zoom-us steam steam-run wireshark | ||
310 | virt-manager rclone cached-nix-shell xournal xmonad worktime | ||
311 | fira-code-symbols libreoffice xournalpp wrappedChrome | ||
312 | nixos-shell virt-viewer freerdp gnome-icon-theme | ||
313 | paper-icon-theme sshpassSecret weechat helvum | ||
314 | wrappedElementDesktop matrix-synapse-tools.synadm | ||
315 | wrappedRocketChatDesktop | ||
316 | flakeInputs.deploy-rs.packages.${config.nixpkgs.system}.deploy-rs | ||
317 | sieve-connect | ||
318 | ]; | ||
319 | |||
320 | file = { | ||
321 | ".emacs".source = ./emacs.el; | ||
322 | ".backup-munin".source = ./backup-patterns; | ||
323 | ".mozilla/firefox/default/chrome/userChrome.css".source = ./firefox-chrome.css; | ||
324 | ".mozilla/firefox/default/chrome/userContent.css".source = ./firefox-content.css; | ||
325 | }; | 310 | }; |
326 | 311 | ||
327 | sessionVariables = { | 312 | xresources.properties = import ./xresources.nix; |
328 | GDK_SCALE = 96.0 / 282.0; | 313 | |
329 | QT_AUTO_SCREEN_SCALE_FACTOR = 1; | 314 | home = { |
330 | QT_QPA_PLATFORMTHEME = "qt5ct"; | 315 | packages = with pkgs; [ |
331 | LIBVIRT_DEFAULT_URI = "qemu:///system"; | 316 | fira fira-code powerline-fonts nerdfonts pavucontrol keepassxc |
332 | }; | 317 | sxiv xclip mumble pulseaudio-ctl pamixer libnotify synergy |
318 | xorg.xbacklight screen-message | ||
319 | ytmdesktop qt5ct playerctl evince | ||
320 | thunderbird wrappedZulip zoom-us steam steam-run wireshark | ||
321 | virt-manager rclone cached-nix-shell xournal xmonad worktime | ||
322 | fira-code-symbols libreoffice xournalpp wrappedChrome | ||
323 | nixos-shell virt-viewer freerdp gnome-icon-theme | ||
324 | paper-icon-theme sshpassSecret weechat helvum | ||
325 | wrappedElementDesktop matrix-synapse-tools.synadm | ||
326 | wrappedRocketChatDesktop | ||
327 | flakeInputs.deploy-rs.packages.${config.nixpkgs.system}.deploy-rs | ||
328 | sieve-connect | ||
329 | ]; | ||
333 | 330 | ||
334 | extraProfileCommands = '' | 331 | file = { |
335 | export XDG_DATA_DIRS="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}''${XDG_DATA_DIRS:+:''${XDG_DATA_DIRS}}" | 332 | ".emacs".source = ./emacs.el; |
336 | ''; | 333 | ".backup-munin".source = ./backup-patterns; |
334 | ".mozilla/firefox/default/chrome/userChrome.css".source = ./firefox-chrome.css; | ||
335 | ".mozilla/firefox/default/chrome/userContent.css".source = ./firefox-content.css; | ||
336 | }; | ||
337 | 337 | ||
338 | keyboard = { | 338 | sessionVariables = { |
339 | layout = "us"; | 339 | GDK_SCALE = 96.0 / 282.0; |
340 | variant = "dvp"; | 340 | QT_AUTO_SCREEN_SCALE_FACTOR = 1; |
341 | options = [ "ctl:nocaps" "compose:caps" ]; | 341 | QT_QPA_PLATFORMTHEME = "qt5ct"; |
342 | }; | 342 | LIBVIRT_DEFAULT_URI = "qemu:///system"; |
343 | }; | 343 | }; |
344 | 344 | ||
345 | xdg.configFile = { | 345 | extraProfileCommands = '' |
346 | "dunst/dunstrc.d" = { | 346 | export XDG_DATA_DIRS="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}''${XDG_DATA_DIRS:+:''${XDG_DATA_DIRS}}" |
347 | source = ./dunstrc.d; | ||
348 | recursive = true; | ||
349 | onChange = '' | ||
350 | ${pkgs.systemd}/bin/systemctl --user try-restart dunst | ||
351 | ''; | 347 | ''; |
348 | |||
349 | keyboard = { | ||
350 | layout = "us"; | ||
351 | variant = "dvp"; | ||
352 | options = [ "ctl:nocaps" "compose:caps" ]; | ||
353 | }; | ||
352 | }; | 354 | }; |
353 | "wireplumber" = { | 355 | |
354 | source = ./wireplumber; | 356 | xdg.configFile = { |
355 | recursive = true; | 357 | "dunst/dunstrc.d" = { |
356 | onChange = '' | 358 | source = ./dunstrc.d; |
357 | ${pkgs.systemd}/bin/systemctl --user try-restart wireplumber | 359 | recursive = true; |
358 | ''; | 360 | onChange = '' |
361 | ${pkgs.systemd}/bin/systemctl --user try-restart dunst | ||
362 | ''; | ||
363 | }; | ||
364 | "wireplumber" = { | ||
365 | source = ./wireplumber; | ||
366 | recursive = true; | ||
367 | onChange = '' | ||
368 | ${pkgs.systemd}/bin/systemctl --user try-restart wireplumber | ||
369 | ''; | ||
370 | }; | ||
359 | }; | 371 | }; |
360 | }; | ||
361 | 372 | ||
362 | xdg.dataFile = { | 373 | xdg.dataFile = { |
363 | "pandoc/abbreviations" = { | 374 | "pandoc/abbreviations" = { |
364 | source = pkgs.runCommand "pandoc-abbreviations" { | 375 | source = pkgs.runCommand "pandoc-abbreviations" { |
365 | buildInputs = [ pkgs.pandoc pkgs.coreutils ]; | 376 | buildInputs = [ pkgs.pandoc pkgs.coreutils ]; |
366 | } (let | 377 | } (let |
367 | germanAbbrevs = pkgs.fetchFromGitHub { | 378 | germanAbbrevs = pkgs.fetchFromGitHub { |
368 | owner = "jfilter"; | 379 | owner = "jfilter"; |
369 | repo = "german-abbreviations"; | 380 | repo = "german-abbreviations"; |
370 | rev = "8eb9dae93b6f05d7c53374cd217ab2dc89558e0c"; | 381 | rev = "8eb9dae93b6f05d7c53374cd217ab2dc89558e0c"; |
371 | sha256 = "SaD3tSqzen6Y3SPICe6/9vhe4iMHlArZ3kFQaEk7Hps="; | 382 | sha256 = "SaD3tSqzen6Y3SPICe6/9vhe4iMHlArZ3kFQaEk7Hps="; |
372 | }; | 383 | }; |
373 | in '' | 384 | in '' |
374 | cat \ | 385 | cat \ |
375 | <(pandoc --print-default-data-file=abbreviations) \ | 386 | <(pandoc --print-default-data-file=abbreviations) \ |
376 | <(grep -E '^[^ ]+\.$' ${germanAbbrevs}/german_abbreviations.txt) \ | 387 | <(grep -E '^[^ ]+\.$' ${germanAbbrevs}/german_abbreviations.txt) \ |
377 | ${pkgs.writeText "abbrevs.txt" '' | 388 | ${pkgs.writeText "abbrevs.txt" '' |
378 | i.A. | 389 | i.A. |
379 | d.h. | 390 | d.h. |
380 | D.h. | 391 | D.h. |
381 | gdw. | 392 | gdw. |
382 | ''} \ | 393 | ''} \ |
383 | | sort | uniq >$out | 394 | | sort | uniq >$out |
384 | ''); | 395 | ''); |
396 | }; | ||
385 | }; | 397 | }; |
386 | }; | ||
387 | 398 | ||
388 | fonts.fontconfig.enable = true; | 399 | fonts.fontconfig.enable = true; |
389 | 400 | ||
390 | systemd.user = import ./systemd.nix inputs; | 401 | systemd.user = import ./systemd.nix inputs; |
402 | }; | ||
391 | }; | 403 | }; |
392 | } | 404 | } |