diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2022-06-28 15:04:28 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2022-06-28 15:04:28 +0200 |
| commit | 20e7a2a2544afd682f487327aa42d1899784db98 (patch) | |
| tree | 2891f8f988015bc85ef2006912eccbece37a52c0 /accounts | |
| parent | 43a848720020eddd58db9466ee527f1b189c7864 (diff) | |
| download | nixos-20e7a2a2544afd682f487327aa42d1899784db98.tar nixos-20e7a2a2544afd682f487327aa42d1899784db98.tar.gz nixos-20e7a2a2544afd682f487327aa42d1899784db98.tar.bz2 nixos-20e7a2a2544afd682f487327aa42d1899784db98.tar.xz nixos-20e7a2a2544afd682f487327aa42d1899784db98.zip | |
...
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 | } |
