Configuration for my NixOS based systems and Home Manager

Compare changes

Choose any two refs to compare.

+1513 -1732
+2
.tsk/archive/tsk-1.tsk
··· 1 + Remove immich overlay 2 +
+2
.tsk/archive/tsk-2.tsk
··· 1 + Remove plex overlay 2 +
+2
.tsk/archive/tsk-3.tsk
··· 1 + finish migration to flake 2 +
+1
.tsk/index
··· 1 + tsk-1 Remove immich overlay 1755227223
+1
.tsk/next
··· 1 + 4
+1
.tsk/tasks/tsk-1.tsk
··· 1 + ../archive/tsk-1.tsk
+4
boot.nix
··· 3 3 # Use the systemd-boot EFI boot loader. 4 4 boot.loader.systemd-boot.enable = true; 5 5 boot.loader.efi.canTouchEfiVariables = true; 6 + 7 + boot.supportedFilesystems = [ "zfs" ]; 8 + boot.zfs.forceImportRoot = false; 9 + boot.zfs.extraPools = [ "shokuhou" "mentalout" ]; 6 10 }
+3 -7
configuration.nix
··· 3 3 # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). 4 4 5 5 { ... }: 6 - let 7 - agenix = builtins.fetchTarball "https://github.com/ryantm/agenix/archive/main.tar.gz"; 8 - in 6 + 9 7 { 10 8 imports = 11 9 [ ··· 13 11 ./hardware-configuration.nix 14 12 ./boot.nix 15 13 ./networking.nix 16 - ./gui.nix 17 - (import "${agenix}/modules/age.nix") 14 + #./gui.nix 18 15 ./users.nix 19 16 ./packages.nix 20 17 ./services.nix 21 18 ]; 22 - 23 19 # Set your time zone. 24 20 time.timeZone = "America/Chicago"; 25 21 ··· 34 30 # Copy the NixOS configuration file and link it from the resulting system 35 31 # (/run/current-system/configuration.nix). This is useful in case you 36 32 # accidentally delete configuration.nix. 37 - system.copySystemConfiguration = true; 33 + #system.copySystemConfiguration = true; 38 34 39 35 # Automatic doc cache generation 40 36 documentation.man.generateCaches = true;
+1
coredns/localhost.hosts
··· 1 + 127.0.0.1 *.localhost
+9
coredns/ngp.computer.hosts
··· 1 + 192.168.1.3 img.ngp.computer 2 + 192.168.1.3 photos.ngp.computer 3 + 192.168.1.3 misaki.ngp.computer 4 + 192.168.1.3 files.ngp.computer 5 + 6 + fe80::9ab7:85ff:fe1e:dfe8 img.ngp.computer 7 + fe80::9ab7:85ff:fe1e:dfe8 photos.ngp.computer 8 + fe80::9ab7:85ff:fe1e:dfe8 misaki.ngp.computer 9 + fe80::9ab7:85ff:fe1e:dfe8 files.ngp.computer
+17
coredns/packetlost.dev.hosts
··· 1 + # Services 2 + 192.168.1.3 git.packetlost.dev 3 + 192.168.1.3 plex.packetlost.dev 4 + 192.168.1.3 jellyfin.packetlost.dev 5 + 192.168.1.3 nats.packetlost.dev 6 + 7 + # LAN Hosts 8 + 192.168.1.3 misaki.packetlost.dev misaki 9 + 192.168.1.3 cache.packetlost.dev cache 10 + 192.168.1.5 komoe.packetlost.dev komoe 11 + 192.168.1.6 rainbow.packetlost.dev rainbow 12 + 192.168.1.10 ichika.packetlost.dev ichika 13 + 192.168.1.11 futaba.packetlost.dev futaba 14 + 192.168.1.12 mitsumi.packetlost.dev mitsumi 15 + 192.168.1.13 orangepi5.packetlost.dev orangepi5 16 + 192.168.1.30 touma.packetlost.dev touma 17 + 192.168.1.33 kamijou.packetlost.dev kamijou
+16
default.nix
··· 1 + let 2 + nix-pre-commit-hooks = import (builtins.fetchTarball "https://github.com/cachix/pre-commit-hooks.nix/tarball/master"); 3 + in 4 + { 5 + # Configured with the module options defined in `modules/pre-commit.nix`: 6 + pre-commit-check = nix-pre-commit-hooks.run { 7 + src = ./.; 8 + # If your hooks are intrusive, avoid running on each commit with a default_states like this: 9 + # default_stages = ["manual" "push"]; 10 + hooks = { 11 + nixpkgs-fmt.enable = true; 12 + nil.enable = true; 13 + luacheck.enable = true; 14 + }; 15 + }; 16 + }
+4 -10
fish/config.fish
··· 17 17 abbr gd "git diff" 18 18 abbr ga "git add" 19 19 abbr glog "git log –graph –decorate –oneline –all" 20 - if type -q "emanote" 21 - abbr n "cd ~/repos/notes" 22 - abbr ne "cd ~/repos/notes; nvim" 23 - end 24 - 25 - abbr srhtclone "git clone git@git.sr.ht:~chiefnoah/" 26 - abbr ghclone "git clone git@github.com:chiefnoah/" 27 20 28 21 if test -d "~/repos" 29 22 alias r "cd ~/repos" ··· 45 38 end 46 39 47 40 # NATS config 48 - set -Ux NATS_URL tls://nats.packetlost.dev 41 + set -Ux NATS_URL tls://misaki.local 49 42 set -Ux NATS_CA /srv/nats/minica.pem 50 - set -Ux NATS_CERT /srv/nats/odin.packetlost.dev/cert.pem 51 - set -Ux NATS_KEY /srv/nats/odin.packetlost.dev/key.pem 43 + set -Ux NATS_CERT /srv/nats/misaki.packetlost.dev/cert.pem 44 + set -Ux NATS_KEY /srv/nats/misaki.packetlost.dev/key.pem 45 + 52 46 53 47 # Keybindings 54 48 fish_default_key_bindings
+3
fish/functions/fish_user_key_bindings.fish
··· 1 1 function fish_user_key_bindings 2 + if command -s fzf-share >/dev/null 3 + source (fzf-share)/key-bindings.fish 4 + end 2 5 fzf_key_bindings 3 6 bind \co 'lfcd; commandline -f repaint' 4 7 end
-20
fish/functions/rfv.fish
··· 1 - # ripgrep->fzf->nvim [QUERY] 2 - # Ripped from: https://junegunn.github.io/fzf/tips/ripgrep-integration/ 3 - function rfv 4 - set -lx RELOAD 'reload:rg --column --color=always --smart-case {q} || :' 5 - set -lx OPENER 'if [[ $FZF_SELECT_COUNT -eq 0 ]]; then 6 - nvim {1} +{2} # No selection. Open the current line in Vim. 7 - else 8 - nvim +cw -q {+f} # Build quickfix list for the selected items. 9 - fi' 10 - fzf < /dev/null \ 11 - --disabled --ansi --multi \ 12 - --bind "start:$RELOAD" --bind "change:$RELOAD" \ 13 - --bind "enter:become:$OPENER" \ 14 - --bind "ctrl-o:execute:$OPENER" \ 15 - --bind 'alt-a:select-all,alt-d:deselect-all,ctrl-/:toggle-preview' \ 16 - --delimiter : \ 17 - --preview 'bat --style=full --color=always --highlight-line {2} {1}' \ 18 - --preview-window '~4,+{2}+4/3,<80(up)' \ 19 - --query "$argv" 20 - end
+312 -26
flake.lock
··· 1 1 { 2 2 "nodes": { 3 + "agenix": { 4 + "inputs": { 5 + "darwin": "darwin", 6 + "home-manager": "home-manager", 7 + "nixpkgs": "nixpkgs", 8 + "systems": "systems" 9 + }, 10 + "locked": { 11 + "lastModified": 1762618334, 12 + "narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=", 13 + "owner": "ryantm", 14 + "repo": "agenix", 15 + "rev": "fcdea223397448d35d9b31f798479227e80183f6", 16 + "type": "github" 17 + }, 18 + "original": { 19 + "owner": "ryantm", 20 + "repo": "agenix", 21 + "type": "github" 22 + } 23 + }, 24 + "darwin": { 25 + "inputs": { 26 + "nixpkgs": [ 27 + "agenix", 28 + "nixpkgs" 29 + ] 30 + }, 31 + "locked": { 32 + "lastModified": 1744478979, 33 + "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=", 34 + "owner": "lnl7", 35 + "repo": "nix-darwin", 36 + "rev": "43975d782b418ebf4969e9ccba82466728c2851b", 37 + "type": "github" 38 + }, 39 + "original": { 40 + "owner": "lnl7", 41 + "ref": "master", 42 + "repo": "nix-darwin", 43 + "type": "github" 44 + } 45 + }, 46 + "determinate-nixd-aarch64-darwin": { 47 + "flake": false, 48 + "locked": { 49 + "narHash": "sha256-uWDS94cAYprGj+AwuT42nuuDDicRLj1S0JwalZGeBRU=", 50 + "type": "file", 51 + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/macOS" 52 + }, 53 + "original": { 54 + "type": "file", 55 + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/macOS" 56 + } 57 + }, 58 + "determinate-nixd-aarch64-linux": { 59 + "flake": false, 60 + "locked": { 61 + "narHash": "sha256-uHBcZCh2/Bj5/88TDihupA336tSQDk7s5lVP66IDAX0=", 62 + "type": "file", 63 + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/aarch64-linux" 64 + }, 65 + "original": { 66 + "type": "file", 67 + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/aarch64-linux" 68 + } 69 + }, 70 + "determinate-nixd-x86_64-linux": { 71 + "flake": false, 72 + "locked": { 73 + "narHash": "sha256-y+l05H6GNv/1WcrMztDYem8VBWqjc9gNg4WjeQ1PQxo=", 74 + "type": "file", 75 + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/x86_64-linux" 76 + }, 77 + "original": { 78 + "type": "file", 79 + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/x86_64-linux" 80 + } 81 + }, 82 + "determinite": { 83 + "inputs": { 84 + "determinate-nixd-aarch64-darwin": "determinate-nixd-aarch64-darwin", 85 + "determinate-nixd-aarch64-linux": "determinate-nixd-aarch64-linux", 86 + "determinate-nixd-x86_64-linux": "determinate-nixd-x86_64-linux", 87 + "nix": "nix", 88 + "nixpkgs": [ 89 + "nixpkgs" 90 + ] 91 + }, 92 + "locked": { 93 + "lastModified": 1766549083, 94 + "narHash": "sha256-G1Hljg7vIBt8n9cxO382YAZWtZU/mYfQcg3icdNG8RQ=", 95 + "rev": "ba8999fac986e70f52b4cba15047be7bbb7b6346", 96 + "revCount": 318, 97 + "type": "tarball", 98 + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.15.1/019b4e8a-dc22-75db-aef5-a447efbb1a13/source.tar.gz" 99 + }, 100 + "original": { 101 + "type": "tarball", 102 + "url": "https://flakehub.com/f/DeterminateSystems/determinate/3" 103 + } 104 + }, 3 105 "flake-compat": { 4 106 "flake": false, 5 107 "locked": { 6 - "lastModified": 1747046372, 7 - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", 108 + "lastModified": 1696426674, 109 + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", 8 110 "owner": "edolstra", 9 111 "repo": "flake-compat", 10 - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", 112 + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", 113 + "type": "github" 114 + }, 115 + "original": { 116 + "owner": "edolstra", 117 + "repo": "flake-compat", 118 + "type": "github" 119 + } 120 + }, 121 + "flake-compat_2": { 122 + "flake": false, 123 + "locked": { 124 + "lastModified": 1761588595, 125 + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", 126 + "owner": "edolstra", 127 + "repo": "flake-compat", 128 + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", 11 129 "type": "github" 12 130 }, 13 131 "original": { ··· 16 134 "type": "github" 17 135 } 18 136 }, 137 + "flake-parts": { 138 + "inputs": { 139 + "nixpkgs-lib": [ 140 + "determinite", 141 + "nix", 142 + "nixpkgs" 143 + ] 144 + }, 145 + "locked": { 146 + "lastModified": 1748821116, 147 + "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=", 148 + "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1", 149 + "revCount": 377, 150 + "type": "tarball", 151 + "url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.377%2Brev-49f0870db23e8c1ca0b5259734a02cd9e1e371a1/01972f28-554a-73f8-91f4-d488cc502f08/source.tar.gz" 152 + }, 153 + "original": { 154 + "type": "tarball", 155 + "url": "https://flakehub.com/f/hercules-ci/flake-parts/0.1" 156 + } 157 + }, 158 + "git-hooks-nix": { 159 + "inputs": { 160 + "flake-compat": "flake-compat", 161 + "gitignore": [ 162 + "determinite", 163 + "nix" 164 + ], 165 + "nixpkgs": [ 166 + "determinite", 167 + "nix", 168 + "nixpkgs" 169 + ] 170 + }, 171 + "locked": { 172 + "lastModified": 1747372754, 173 + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", 174 + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", 175 + "revCount": 1026, 176 + "type": "tarball", 177 + "url": "https://api.flakehub.com/f/pinned/cachix/git-hooks.nix/0.1.1026%2Brev-80479b6ec16fefd9c1db3ea13aeb038c60530f46/0196d79a-1b35-7b8e-a021-c894fb62163d/source.tar.gz" 178 + }, 179 + "original": { 180 + "type": "tarball", 181 + "url": "https://flakehub.com/f/cachix/git-hooks.nix/0.1.941" 182 + } 183 + }, 19 184 "gitignore": { 20 185 "inputs": { 21 186 "nixpkgs": [ ··· 40 205 "home-manager": { 41 206 "inputs": { 42 207 "nixpkgs": [ 208 + "agenix", 43 209 "nixpkgs" 44 210 ] 45 211 }, 46 212 "locked": { 47 - "lastModified": 1747688870, 48 - "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=", 213 + "lastModified": 1745494811, 214 + "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=", 215 + "owner": "nix-community", 216 + "repo": "home-manager", 217 + "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be", 218 + "type": "github" 219 + }, 220 + "original": { 221 + "owner": "nix-community", 222 + "repo": "home-manager", 223 + "type": "github" 224 + } 225 + }, 226 + "home-manager_2": { 227 + "inputs": { 228 + "nixpkgs": [ 229 + "nixpkgs" 230 + ] 231 + }, 232 + "locked": { 233 + "lastModified": 1767024057, 234 + "narHash": "sha256-B1aycRjMRvb6QOGbnqDhiDzZwMebj5jxZ5qyJzaKvpI=", 49 235 "owner": "nix-community", 50 236 "repo": "home-manager", 51 - "rev": "d5f1f641b289553927b3801580598d200a501863", 237 + "rev": "34578a2fdfce4257ce5f5baf6e7efbd4e4e252b1", 52 238 "type": "github" 53 239 }, 54 240 "original": { 55 241 "owner": "nix-community", 56 - "ref": "release-24.11", 242 + "ref": "release-25.11", 57 243 "repo": "home-manager", 58 244 "type": "github" 59 245 } 60 246 }, 247 + "nix": { 248 + "inputs": { 249 + "flake-parts": "flake-parts", 250 + "git-hooks-nix": "git-hooks-nix", 251 + "nixpkgs": "nixpkgs_2", 252 + "nixpkgs-23-11": "nixpkgs-23-11", 253 + "nixpkgs-regression": "nixpkgs-regression" 254 + }, 255 + "locked": { 256 + "lastModified": 1766546676, 257 + "narHash": "sha256-GsC52VFF9Gi2pgP/haQyPdQoF5Qe2myk1tsPcuJZI28=", 258 + "rev": "51dacdd248e8071cd0243a8245c8c42ac1f33307", 259 + "revCount": 24299, 260 + "type": "tarball", 261 + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.15.1/019b4e84-d036-75db-b6c6-6bc2e2035c53/source.tar.gz" 262 + }, 263 + "original": { 264 + "type": "tarball", 265 + "url": "https://flakehub.com/f/DeterminateSystems/nix-src/%2A" 266 + } 267 + }, 61 268 "nixpkgs": { 62 269 "locked": { 63 - "lastModified": 1751274312, 64 - "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", 65 - "owner": "nixos", 270 + "lastModified": 1754028485, 271 + "narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=", 272 + "owner": "NixOS", 273 + "repo": "nixpkgs", 274 + "rev": "59e69648d345d6e8fef86158c555730fa12af9de", 275 + "type": "github" 276 + }, 277 + "original": { 278 + "owner": "NixOS", 279 + "ref": "nixos-25.05", 280 + "repo": "nixpkgs", 281 + "type": "github" 282 + } 283 + }, 284 + "nixpkgs-23-11": { 285 + "locked": { 286 + "lastModified": 1717159533, 287 + "narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=", 288 + "owner": "NixOS", 289 + "repo": "nixpkgs", 290 + "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", 291 + "type": "github" 292 + }, 293 + "original": { 294 + "owner": "NixOS", 295 + "repo": "nixpkgs", 296 + "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", 297 + "type": "github" 298 + } 299 + }, 300 + "nixpkgs-regression": { 301 + "locked": { 302 + "lastModified": 1643052045, 303 + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", 304 + "owner": "NixOS", 66 305 "repo": "nixpkgs", 67 - "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", 306 + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", 68 307 "type": "github" 69 308 }, 70 309 "original": { 71 - "owner": "nixos", 72 - "ref": "nixos-24.11", 310 + "owner": "NixOS", 73 311 "repo": "nixpkgs", 312 + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", 74 313 "type": "github" 75 314 } 76 315 }, 77 316 "nixpkgs-unstable": { 78 317 "locked": { 79 - "lastModified": 1756386758, 80 - "narHash": "sha256-1wxxznpW2CKvI9VdniaUnTT2Os6rdRJcRUf65ZK9OtE=", 318 + "lastModified": 1766902085, 319 + "narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=", 81 320 "owner": "nixos", 82 321 "repo": "nixpkgs", 83 - "rev": "dfb2f12e899db4876308eba6d93455ab7da304cd", 322 + "rev": "c0b0e0fddf73fd517c3471e546c0df87a42d53f4", 84 323 "type": "github" 85 324 }, 86 325 "original": { ··· 92 331 }, 93 332 "nixpkgs_2": { 94 333 "locked": { 95 - "lastModified": 1754340878, 96 - "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", 334 + "lastModified": 1761597516, 335 + "narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=", 336 + "rev": "daf6dc47aa4b44791372d6139ab7b25269184d55", 337 + "revCount": 811874, 338 + "type": "tarball", 339 + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.811874%2Brev-daf6dc47aa4b44791372d6139ab7b25269184d55/019a3494-3498-707e-9086-1fb81badc7fe/source.tar.gz" 340 + }, 341 + "original": { 342 + "type": "tarball", 343 + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.2505" 344 + } 345 + }, 346 + "nixpkgs_3": { 347 + "locked": { 348 + "lastModified": 1767047869, 349 + "narHash": "sha256-tzYsEzXEVa7op1LTnrLSiPGrcCY6948iD0EcNLWcmzo=", 350 + "owner": "nixos", 351 + "repo": "nixpkgs", 352 + "rev": "89dbf01df72eb5ebe3b24a86334b12c27d68016a", 353 + "type": "github" 354 + }, 355 + "original": { 356 + "owner": "nixos", 357 + "ref": "nixos-25.11", 358 + "repo": "nixpkgs", 359 + "type": "github" 360 + } 361 + }, 362 + "nixpkgs_4": { 363 + "locked": { 364 + "lastModified": 1764947035, 365 + "narHash": "sha256-EYHSjVM4Ox4lvCXUMiKKs2vETUSL5mx+J2FfutM7T9w=", 97 366 "owner": "NixOS", 98 367 "repo": "nixpkgs", 99 - "rev": "cab778239e705082fe97bb4990e0d24c50924c04", 368 + "rev": "a672be65651c80d3f592a89b3945466584a22069", 100 369 "type": "github" 101 370 }, 102 371 "original": { ··· 108 377 }, 109 378 "pre-commit-hooks": { 110 379 "inputs": { 111 - "flake-compat": "flake-compat", 380 + "flake-compat": "flake-compat_2", 112 381 "gitignore": "gitignore", 113 - "nixpkgs": "nixpkgs_2" 382 + "nixpkgs": "nixpkgs_4" 114 383 }, 115 384 "locked": { 116 - "lastModified": 1755960406, 117 - "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", 385 + "lastModified": 1765911976, 386 + "narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=", 118 387 "owner": "cachix", 119 388 "repo": "git-hooks.nix", 120 - "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", 389 + "rev": "b68b780b69702a090c8bb1b973bab13756cc7a27", 121 390 "type": "github" 122 391 }, 123 392 "original": { ··· 128 397 }, 129 398 "root": { 130 399 "inputs": { 131 - "home-manager": "home-manager", 132 - "nixpkgs": "nixpkgs", 400 + "agenix": "agenix", 401 + "determinite": "determinite", 402 + "home-manager": "home-manager_2", 403 + "nixpkgs": "nixpkgs_3", 133 404 "nixpkgs-unstable": "nixpkgs-unstable", 134 405 "pre-commit-hooks": "pre-commit-hooks" 406 + } 407 + }, 408 + "systems": { 409 + "locked": { 410 + "lastModified": 1681028828, 411 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 412 + "owner": "nix-systems", 413 + "repo": "default", 414 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 415 + "type": "github" 416 + }, 417 + "original": { 418 + "owner": "nix-systems", 419 + "repo": "default", 420 + "type": "github" 135 421 } 136 422 } 137 423 },
+83 -10
flake.nix
··· 1 1 { 2 - description = "Home Manager configuration of noah"; 2 + description = "Home Manager configuration for noah"; 3 3 4 4 inputs = { 5 5 # Specify the source of Home Manager and Nixpkgs. 6 - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; 6 + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; 7 7 nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; 8 + determinite = { 9 + url = "https://flakehub.com/f/DeterminateSystems/determinate/3"; 10 + inputs.nixpkgs.follows = "nixpkgs"; 11 + }; 8 12 home-manager = { 9 - url = "github:nix-community/home-manager/release-24.11"; 13 + url = "github:nix-community/home-manager/release-25.11"; 10 14 inputs.nixpkgs.follows = "nixpkgs"; 11 15 }; 12 16 pre-commit-hooks.url = "github:cachix/git-hooks.nix"; 17 + agenix.url = "github:ryantm/agenix"; 13 18 }; 14 19 15 - outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, pre-commit-hooks, ... }@inputs: 20 + outputs = 21 + { self 22 + , nixpkgs 23 + , nixpkgs-unstable 24 + , determinite 25 + , home-manager 26 + , pre-commit-hooks 27 + , agenix 28 + , ... 29 + }@inputs: 16 30 let 17 - system = "aarch64-darwin"; 18 - pkgs = nixpkgs.legacyPackages.${system}; 19 - unstable-pkgs = nixpkgs-unstable.legacyPackages.${system}; 20 - supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; 31 + system = "x86_64-linux"; 32 + pkgs = import nixpkgs { 33 + inherit system; 34 + }; 35 + unstable = import nixpkgs-unstable { 36 + inherit system; 37 + config.allowUnfreePredicate = 38 + pkg: 39 + builtins.elem (pkgs.lib.getName pkg) [ 40 + "plexmediaserver" 41 + "teamspeak-server" 42 + ]; 43 + overlays = [ 44 + (final: prev: { 45 + # Override the version of Plex installed to be the latest 46 + plexRaw = prev.plexRaw.overrideAttrs rec { 47 + version = "1.43.0.10389-8be686aa6"; 48 + src = final.fetchurl { 49 + url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb"; 50 + sha256 = "0HjB8Ggekwl5dKwM1Kh51Ic25t3V6veKbuzM7czrpeg="; 51 + }; 52 + }; 53 + ## Override the json object that contains verions and hashes for Immich 54 + #immich = prev.immich.override { sourcesJSON = ./overrides/immich-sources.json; }; 55 + ## Fix errors wit numpy version failing to resolve in the immich ML package 56 + #immich-machine-learning = prev.immich-machine-learning.overrideAttrs 57 + # (finalAttrs: prevAttrs: { 58 + # pythonRelaxDeps = prevAttrs.pythonRelaxDeps ++ [ "numpy" ]; 59 + # }); 60 + }) 61 + ]; 62 + }; 63 + supportedSystems = [ 64 + "x86_64-linux" 65 + "aarch64-linux" 66 + "x86_64-darwin" 67 + "aarch64-darwin" 68 + ]; 21 69 forAllSystems = nixpkgs.lib.genAttrs supportedSystems; 22 70 in 23 71 { 72 + nixosConfigurations.misaki = inputs.nixpkgs.lib.nixosSystem { 73 + system = "x86_64-linux"; 74 + specialArgs = { inherit unstable inputs home-manager; }; 75 + modules = [ 76 + determinite.nixosModules.default 77 + ./configuration.nix 78 + agenix.nixosModules.default 79 + home-manager.nixosModules.home-manager 80 + { 81 + home-manager.useGlobalPkgs = true; 82 + home-manager.useUserPackages = true; 83 + home-manager.users.noah = ./home.nix; 84 + home-manager.extraSpecialArgs = { 85 + inherit unstable; 86 + }; 87 + 88 + # Optionally, use home-manager.extraSpecialArgs to pass 89 + # arguments to home.nix 90 + } 91 + ]; 92 + }; 24 93 homeConfigurations."noah" = home-manager.lib.homeManagerConfiguration { 25 94 inherit pkgs; 26 95 ··· 31 100 # Optionally use extraSpecialArgs 32 101 # to pass through arguments to home.nix 33 102 extraSpecialArgs = { 34 - unstable = unstable-pkgs; 103 + inherit unstable; 35 104 }; 36 105 }; 37 106 checks = forAllSystems (system: { ··· 49 118 devShells = forAllSystems (system: { 50 119 default = nixpkgs.legacyPackages.${system}.mkShell { 51 120 inherit (self.checks.${system}.pre-commit-check) shellHook; 52 - buildInputs = self.checks.${system}.pre-commit-check.enabledPackages; 121 + buildInputs = [ 122 + pkgs.nixfmt-rfc-style 123 + ] 124 + ++ self.checks.${system}.pre-commit-check.enabledPackages; 53 125 }; 54 126 }); 127 + formatter.${system} = inputs.nixpkgs.legacyPackages.${system}.nixfmt-rfc-style; 55 128 }; 56 129 }
-22
ghostty/config
··· 1 - font-size = 13 2 - font-family = TX-02 3 - theme = catppuccin-macchiato 4 - shell-integration = fish 5 - 6 - window-decoration = server 7 - 8 - font-feature = calt 9 - font-feature = ccmp 10 - font-feature = locl 11 - font-feature = ordn 12 - font-feature = mark 13 - font-feature = mkmk 14 - #font-feature = aalt 15 - #font-feature = ss01 16 - #font-feature = ss02 17 - #font-feature = ss03 18 - #font-feature = ss04 19 - #font-feature = ss05 20 - #font-feature = ss06 21 - #font-feature = ss07 22 - #font-feature = ss08
-27
gs.sh
··· 1 - #!/usr/bin/env bash 2 - set -xeuo pipefail 3 - 4 - gamescopeArgs=( 5 - --adaptive-sync # VRR support 6 - --hdr-enabled 7 - --mangoapp # performance overlay 8 - --rt 9 - --steam 10 - ) 11 - steamArgs=( 12 - -pipewire-dmabuf 13 - -tenfoot 14 - ) 15 - mangoConfig=( 16 - cpu_temp 17 - gpu_temp 18 - ram 19 - vram 20 - ) 21 - mangoVars=( 22 - MANGOHUD=1 23 - MANGOHUD_CONFIG="$(IFS=,; echo "${mangoConfig[*]}")" 24 - ) 25 - 26 - export "${mangoVars[@]}" 27 - exec gamescope "${gamescopeArgs[@]}" -- steam "${steamArgs[@]}"
-119
gui.nix
··· 1 - { pkgs, ... }: 2 - { 3 - # Enable the X11 windowing system. 4 - services.xserver = { 5 - enable = true; 6 - videoDrivers = [ "amdgpu" ]; 7 - }; 8 - 9 - # Fix for HIP libraries 10 - systemd.tmpfiles.rules = [ 11 - "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" 12 - ]; 13 - 14 - # Configure keymap in X11 15 - services.xserver.xkb = { 16 - layout = "us"; 17 - variant = ""; 18 - }; 19 - # services.xserver.xkb.options = "eurosign:e,caps:escape"; 20 - 21 - # Enable CUPS to print documents. 22 - # services.printing.enable = true; 23 - 24 - # Enable sound. 25 - security.rtkit.enable = true; 26 - services.pipewire = { 27 - enable = true; 28 - alsa.enable = true; 29 - alsa.support32Bit = true; 30 - pulse.enable = true; 31 - wireplumber.enable = true; 32 - }; 33 - 34 - # Graphics and parallel compute configuration 35 - hardware.graphics = { 36 - enable = true; 37 - extraPackages = with pkgs; [ 38 - amdvlk 39 - libva 40 - mesa 41 - rocmPackages.clr.icd 42 - ]; 43 - }; 44 - 45 - 46 - # Enable touchpad support (enabled default in most desktopManager). 47 - # services.xserver.libinput.enable = true; 48 - 49 - # Fonts 50 - fonts.packages = with pkgs; [ 51 - fira-code 52 - fira-code-symbols 53 - noto-fonts 54 - noto-fonts-cjk-sans 55 - noto-fonts-emoji 56 - noto-fonts-extra 57 - nerd-fonts.fira-code 58 - ]; 59 - 60 - # Polkit is a dependency of Sway. It's responsible for handling security policies 61 - security.polkit.enable = true; 62 - 63 - # Enable the sway window manager 64 - programs.sway = { 65 - enable = false; 66 - #package = unstable.sway; 67 - wrapperFeatures.gtk = true; 68 - }; 69 - # Use greetd as the displaymanager 70 - #services.xserver.displayManager.greetd.enable = true; 71 - 72 - 73 - services.xserver.displayManager.lightdm.enable = false; 74 - 75 - #services.displayManager.sddm.enable = true; 76 - #services.displayManager.defaultSession = "sway"; 77 - #services.displayManager.autoLogin = { 78 - # enable = true; 79 - # user = "noah"; 80 - #}; 81 - services.xserver.desktopManager.xfce.enable = false; 82 - services.xserver.desktopManager.lxqt = { 83 - enable = true; 84 - }; 85 - services.xscreensaver.enable = true; 86 - security.pam.services.xscreensaver.enable = true; 87 - 88 - # i3, for when I need XOrg 89 - services.xserver.windowManager.i3 = { 90 - enable = false; 91 - extraPackages = with pkgs; [ 92 - dmenu 93 - i3status 94 - i3lock 95 - i3blocks 96 - ]; 97 - }; 98 - 99 - xdg.portal = { 100 - enable = true; 101 - wlr.enable = true; 102 - extraPortals = [ 103 - pkgs.xdg-desktop-portal 104 - pkgs.xdg-desktop-portal-wlr 105 - pkgs.xdg-desktop-portal-gtk 106 - pkgs.xdg-desktop-portal-termfilechooser 107 - pkgs.lxqt.xdg-desktop-portal-lxqt 108 - ]; 109 - }; 110 - xdg.mime = { 111 - enable = true; 112 - defaultApplications = { 113 - "x-scheme-handler/http" = "org.firefox.firefox.desktop"; 114 - "x-scheme-handler/https" = "org.firefox.firefox.desktop"; 115 - }; 116 - }; 117 - services.dbus.enable = true; 118 - services.gnome.gnome-keyring.enable = true; 119 - }
+39 -39
hardware-configuration.nix
··· 9 9 (modulesPath + "/installer/scan/not-detected.nix") 10 10 ]; 11 11 12 - boot.kernelPackages = pkgs.linuxPackages_latest; 13 - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "usbhid" "uas" "sd_mod" ]; 14 - boot.initrd.kernelModules = [ ]; 15 - boot.kernelModules = [ "kvm-amd" ]; 12 + boot.kernelPackages = pkgs.linuxPackages; 13 + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "dm-raid" "raid1" ]; 14 + boot.initrd.kernelModules = [ "dm-snapshot" "dm-raid" "raid1" ]; 15 + boot.kernelModules = [ "kvm-amd" "zfs" ]; 16 + boot.kernelParams = [ "i915.enable_guc=3" ]; 16 17 boot.extraModulePackages = [ ]; 17 18 18 - # Bluetooth / wireless configuration 19 - hardware.bluetooth = { 20 - enable = true; 21 - powerOnBoot = true; 22 - settings = { 23 - General = { 24 - # Shows battery charge of connected devices on supported 25 - # Bluetooth adapters. Defaults to 'false'. 26 - Experimental = true; 27 - # When enabled other devices can connect faster to us, however 28 - # the tradeoff is increased power consumption. Defaults to 29 - # 'false'. 30 - FastConnectable = true; 31 - }; 32 - Policy = { 33 - # Enable all controllers when they are found. This includes 34 - # adapters present on start as well as adapters that are plugged 35 - # in later on. Defaults to 'true'. 36 - AutoEnable = true; 37 - }; 38 - }; 39 - }; 40 - 41 - 42 19 fileSystems."/" = 43 20 { 44 - device = "/dev/disk/by-uuid/9a7cbffe-6c10-4220-bb99-4dcea8181dcc"; 21 + device = "/dev/disk/by-uuid/1988fa0d-ff4a-44aa-a93e-7f0bf3cea5cf"; 45 22 fsType = "ext4"; 46 23 }; 47 24 48 25 fileSystems."/boot" = 49 26 { 50 - device = "/dev/disk/by-uuid/9AC5-62C3"; 27 + device = "/dev/disk/by-uuid/81D4-01CD"; 51 28 fsType = "vfat"; 52 - options = [ "fmask=0077" "dmask=0077" ]; 53 29 }; 54 30 55 - swapDevices = 56 - [{ device = "/dev/disk/by-uuid/a19d8fad-d8d2-4bbe-a233-e645020419ff"; }]; 57 - fileSystems."/srv/mugino" = { 58 - device = "/dev/disk/by-uuid/d832dd9f-1fbb-4ca7-9097-0ba329b838af"; 59 - fsType = "ext4"; 60 - }; 31 + swapDevices = [ ]; 61 32 62 33 # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 63 34 # (the default) this is the recommended approach. When using systemd-networkd it's 64 35 # still possible to use this option, but it's recommended to use it in conjunction 65 36 # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. 66 37 networking.useDHCP = lib.mkDefault true; 67 - # networking.interfaces.enp191s0.useDHCP = lib.mkDefault true; 68 - # networking.interfaces.wlp192s0.useDHCP = lib.mkDefault true; 38 + # networking.interfaces.enp4s0f0.useDHCP = lib.mkDefault true; 39 + # networking.interfaces.enp4s0f1.useDHCP = lib.mkDefault true; 40 + # networking.interfaces.enp6s0.useDHCP = lib.mkDefault true; 69 41 70 42 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 71 43 hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 44 + 45 + #nixpkgs.config.packageOverrides = pkgs: { 46 + # vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; 47 + #}; 48 + hardware.graphics = { 49 + enable = true; 50 + extraPackages = with pkgs; [ 51 + intel-media-driver 52 + #vaapiVdpau 53 + #libvdpau-va-gl # unmaintained, very old 54 + intel-compute-runtime 55 + vpl-gpu-rt 56 + ]; 57 + #extraPackages32 = with pkgs; [ 58 + # intel-media-driver 59 + # vaapiVdpau 60 + # #libvdpau-va-gl 61 + # intel-compute-runtime 62 + # vpl-gpu-rt 63 + #]; 64 + }; 65 + environment.variables = { 66 + VDPAU_DRIVER = "va_gl"; 67 + LIBVA_DRIVER_NAME = "iHD"; 68 + LIBVA_DRIVERS_PATH = "/run/opengl-driver/lib/dri"; 69 + GST_VAAPI_ALL_DRIVERS = "1"; 70 + }; 71 + #services.xserver.videoDrivers = [ "intel" ]; 72 72 }
+221
home.nix
··· 1 + { pkgs, lib, unstable, ... }: 2 + { 3 + home.packages = with pkgs; [ 4 + # main tool 5 + direnv 6 + fish 7 + tree 8 + btop 9 + htop 10 + amdgpu_top 11 + tmux 12 + mtr 13 + pavucontrol 14 + moreutils 15 + rsync 16 + unzip 17 + fd 18 + ripgrep 19 + netcat 20 + stunnel 21 + fzf 22 + iperf3 23 + entr 24 + step-cli 25 + natscli 26 + nkeys 27 + mkcert 28 + jq 29 + bat 30 + sqlite 31 + age 32 + just 33 + isync 34 + unstable.catgirl 35 + unstable.zellij 36 + unstable.yt-dlp 37 + unstable.deno 38 + unstable.ffmpeg 39 + 40 + # Dev tools 41 + git 42 + gcc 43 + go 44 + gnumake 45 + #babashka 46 + ccls 47 + #clojure 48 + #cmake 49 + ctags 50 + #kotlin 51 + #nodejs 52 + #node2nix 53 + #opam 54 + rustup 55 + #zig 56 + luarocks 57 + luajit 58 + lua-language-server 59 + #leiningen 60 + libressl 61 + #erlang 62 + #elixir 63 + #ghc 64 + nil 65 + python3 66 + uv 67 + #unstable.harec 68 + #unstable.hare 69 + #unstable.haredo 70 + #unstable.gleam 71 + #unstable.rebar3 72 + #unstable.flyctl 73 + #unstable.bun 74 + #unstable.gh 75 + #unstable.kraft 76 + #unstable.doctl 77 + 78 + clinfo 79 + 80 + # Server-specific tools 81 + gocryptfs 82 + sftpgo 83 + ]; 84 + 85 + 86 + programs.fish.enable = true; 87 + programs.neovim = { 88 + #package = unstable.neovim-unwrapped; 89 + enable = true; 90 + defaultEditor = true; 91 + extraPackages = with pkgs; [ 92 + fzf 93 + ripgrep 94 + luarocks 95 + unstable.tree-sitter 96 + ]; 97 + withNodeJs = true; 98 + withPython3 = true; 99 + }; 100 + programs.git = { 101 + enable = true; 102 + lfs.enable = true; 103 + userName = "Noah Pederson"; 104 + userEmail = "noah@packetlost.dev"; 105 + extraConfig = { 106 + sendemail = { 107 + smtpserver = "smtp.migadu.com"; 108 + smtpuser = "noah@packetlost.dev"; 109 + smtpencryption = "ssl"; 110 + smtpserverport = 465; 111 + }; 112 + init = { 113 + defaultBranch = "master"; 114 + }; 115 + pull = { 116 + rebase = true; 117 + }; 118 + credential = { 119 + helper = "cache"; 120 + }; 121 + }; 122 + ignores = [ 123 + ".direnv/" 124 + ".envrc" 125 + "flake.nix" 126 + "shell.nix" 127 + ".env/" 128 + ".clj-kondo/" 129 + ]; 130 + }; 131 + 132 + services.mbsync = { 133 + enable = true; 134 + frequency = "*:0/10"; 135 + #configFile = ./mbsyncrc; 136 + }; 137 + 138 + programs.aerc = { 139 + enable = true; 140 + #package = unstable.aerc; 141 + }; 142 + 143 + programs.ssh = { 144 + enable = true; 145 + extraConfig = builtins.readFile ./ssh/extra; 146 + }; 147 + services.ssh-agent.enable = true; 148 + 149 + programs.direnv = { 150 + enable = true; 151 + nix-direnv.enable = true; 152 + }; 153 + 154 + programs.yazi = { 155 + enable = true; 156 + package = unstable.yazi; 157 + enableFishIntegration = true; 158 + settings = { 159 + preview = { 160 + image_quality = 90; 161 + }; 162 + tasks = { 163 + image_bound = [ 0 0 ]; 164 + }; 165 + }; 166 + plugins = { 167 + rsync = unstable.yaziPlugins.rsync; 168 + piper = unstable.yaziPlugins.piper; 169 + nord = unstable.yaziPlugins.nord; 170 + mediainfo = unstable.yaziPlugins.mediainfo; 171 + glow = unstable.yaziPlugins.glow; 172 + git = unstable.yaziPlugins.git; 173 + diff = unstable.yaziPlugins.diff; 174 + duckdb = unstable.yaziPlugins.duckdb; 175 + }; 176 + }; 177 + 178 + # Independent config files. 179 + xdg.configFile.nvim = { 180 + source = ./nvim; 181 + recursive = true; 182 + }; 183 + 184 + xdg.configFile.fish = { 185 + source = ./fish; 186 + recursive = true; 187 + }; 188 + 189 + xdg.configFile.kitty = { 190 + source = ./kitty; 191 + recursive = true; 192 + }; 193 + 194 + xdg.configFile.aerc = { 195 + source = ./aerc; 196 + recursive = true; 197 + }; 198 + 199 + xdg.configFile.sway = { 200 + source = ./sway; 201 + recursive = true; 202 + }; 203 + 204 + xdg.configFile.i3status = { 205 + source = ./i3status; 206 + recursive = true; 207 + }; 208 + 209 + xdg.configFile.vis = { 210 + source = ./vis; 211 + recursive = true; 212 + }; 213 + 214 + home.file.".local/bin" = { 215 + source = ./scripts; 216 + recursive = true; 217 + }; 218 + 219 + home.stateVersion = "23.11"; 220 + 221 + }
-196
i3/config
··· 1 - # This file has been auto-generated by i3-config-wizard(1). 2 - # It will not be overwritten, so edit it as you like. 3 - # 4 - # Should you change your keyboard layout some time, delete 5 - # this file and re-run i3-config-wizard(1). 6 - # 7 - 8 - # i3 config file (v4) 9 - # 10 - # Please see https://i3wm.org/docs/userguide.html for a complete reference! 11 - 12 - set $mod Mod4 13 - 14 - # Font for window titles. Will also be used by the bar unless a different font 15 - # is used in the bar {} block below. 16 - font pango:monospace 8 17 - 18 - # This font is widely installed, provides lots of unicode glyphs, right-to-left 19 - # text rendering and scalability on retina/hidpi displays (thanks to pango). 20 - #font pango:DejaVu Sans Mono 8 21 - 22 - # Start XDG autostart .desktop files using dex. See also 23 - # https://wiki.archlinux.org/index.php/XDG_Autostart 24 - exec --no-startup-id dex --autostart --environment i3 25 - 26 - # The combination of xss-lock, nm-applet and pactl is a popular choice, so 27 - # they are included here as an example. Modify as you see fit. 28 - 29 - # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the 30 - # screen before suspend. Use loginctl lock-session to lock your screen. 31 - exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork 32 - 33 - # NetworkManager is the most popular way to manage wireless networks on Linux, 34 - # and nm-applet is a desktop environment-independent system tray GUI for it. 35 - exec --no-startup-id nm-applet 36 - 37 - # Use pactl to adjust volume in PulseAudio. 38 - set $refresh_i3status killall -SIGUSR1 i3status 39 - bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status 40 - bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status 41 - bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status 42 - bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status 43 - 44 - # Use Mouse+$mod to drag floating windows to their wanted position 45 - floating_modifier $mod 46 - 47 - # move tiling windows via drag & drop by left-clicking into the title bar, 48 - # or left-clicking anywhere into the window while holding the floating modifier. 49 - tiling_drag modifier titlebar 50 - 51 - # start a terminal 52 - bindsym $mod+Return exec kitty 53 - 54 - # kill focused window 55 - bindsym $mod+Shift+q kill 56 - 57 - # start dmenu (a program launcher) 58 - bindsym $mod+d exec --no-startup-id dmenu_run 59 - # A more modern dmenu replacement is rofi: 60 - # bindcode $mod+40 exec "rofi -modi drun,run -show drun" 61 - # There also is i3-dmenu-desktop which only displays applications shipping a 62 - # .desktop file. It is a wrapper around dmenu, so you need that installed. 63 - # bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop 64 - 65 - # change focus 66 - bindsym $mod+h focus left 67 - bindsym $mod+j focus down 68 - bindsym $mod+k focus up 69 - bindsym $mod+l focus right 70 - 71 - 72 - # alternatively, you can use the cursor keys: 73 - bindsym $mod+Left focus left 74 - bindsym $mod+Down focus down 75 - bindsym $mod+Up focus up 76 - bindsym $mod+Right focus right 77 - 78 - # move focused window 79 - bindsym $mod+Shift+h move left 80 - bindsym $mod+Shift+j move down 81 - bindsym $mod+Shift+k move up 82 - bindsym $mod+Shift+l move right 83 - 84 - # alternatively, you can use the cursor keys: 85 - bindsym $mod+Shift+Left move left 86 - bindsym $mod+Shift+Down move down 87 - bindsym $mod+Shift+Up move up 88 - bindsym $mod+Shift+Right move right 89 - 90 - # split in horizontal orientation 91 - bindsym $mod+g split h 92 - 93 - # split in vertical orientation 94 - bindsym $mod+v split v 95 - 96 - # enter fullscreen mode for the focused container 97 - bindsym $mod+f fullscreen toggle 98 - 99 - # change container layout (stacked, tabbed, toggle split) 100 - bindsym $mod+s layout stacking 101 - bindsym $mod+w layout tabbed 102 - bindsym $mod+e layout toggle split 103 - 104 - # toggle tiling / floating 105 - bindsym $mod+Shift+space floating toggle 106 - 107 - # change focus between tiling / floating windows 108 - bindsym $mod+space focus mode_toggle 109 - 110 - # focus the parent container 111 - bindsym $mod+a focus parent 112 - 113 - # focus the child container 114 - #bindsym $mod+d focus child 115 - 116 - # Define names for default workspaces for which we configure key bindings later on. 117 - # We use variables to avoid repeating the names in multiple places. 118 - set $ws1 "1" 119 - set $ws2 "2" 120 - set $ws3 "3" 121 - set $ws4 "4" 122 - set $ws5 "5" 123 - set $ws6 "6" 124 - set $ws7 "7" 125 - set $ws8 "8" 126 - set $ws9 "9" 127 - set $ws10 "10" 128 - 129 - # switch to workspace 130 - bindsym $mod+1 workspace number $ws1 131 - bindsym $mod+2 workspace number $ws2 132 - bindsym $mod+3 workspace number $ws3 133 - bindsym $mod+4 workspace number $ws4 134 - bindsym $mod+5 workspace number $ws5 135 - bindsym $mod+6 workspace number $ws6 136 - bindsym $mod+7 workspace number $ws7 137 - bindsym $mod+8 workspace number $ws8 138 - bindsym $mod+9 workspace number $ws9 139 - bindsym $mod+0 workspace number $ws10 140 - # Tab navigation 141 - bindsym $mod+Tab workspace next 142 - bindsym $mod+Shift+Tab workspace prev 143 - 144 - # move focused container to workspace 145 - bindsym $mod+Shift+1 move container to workspace number $ws1 146 - bindsym $mod+Shift+2 move container to workspace number $ws2 147 - bindsym $mod+Shift+3 move container to workspace number $ws3 148 - bindsym $mod+Shift+4 move container to workspace number $ws4 149 - bindsym $mod+Shift+5 move container to workspace number $ws5 150 - bindsym $mod+Shift+6 move container to workspace number $ws6 151 - bindsym $mod+Shift+7 move container to workspace number $ws7 152 - bindsym $mod+Shift+8 move container to workspace number $ws8 153 - bindsym $mod+Shift+9 move container to workspace number $ws9 154 - bindsym $mod+Shift+0 move container to workspace number $ws10 155 - 156 - # reload the configuration file 157 - bindsym $mod+Shift+c reload 158 - # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) 159 - bindsym $mod+Shift+r restart 160 - # exit i3 (logs you out of your X session) 161 - bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" 162 - 163 - # resize window (you can also use the mouse for that) 164 - mode "resize" { 165 - # These bindings trigger as soon as you enter the resize mode 166 - 167 - # Pressing left will shrink the window’s width. 168 - # Pressing right will grow the window’s width. 169 - # Pressing up will shrink the window’s height. 170 - # Pressing down will grow the window’s height. 171 - bindsym h resize shrink width 10 px or 10 ppt 172 - bindsym j resize grow height 10 px or 10 ppt 173 - bindsym k resize shrink height 10 px or 10 ppt 174 - bindsym l resize grow width 10 px or 10 ppt 175 - 176 - # same bindings, but for the arrow keys 177 - bindsym Left resize shrink width 10 px or 10 ppt 178 - bindsym Down resize grow height 10 px or 10 ppt 179 - bindsym Up resize shrink height 10 px or 10 ppt 180 - bindsym Right resize grow width 10 px or 10 ppt 181 - 182 - # back to normal: Enter or Escape or $mod+r 183 - bindsym Return mode "default" 184 - bindsym Escape mode "default" 185 - bindsym $mod+r mode "default" 186 - } 187 - 188 - bindsym $mod+r mode "resize" 189 - 190 - # Start i3bar to display a workspace bar (plus the system information i3status 191 - # finds out, if available) 192 - bar { 193 - status_command i3status 194 - } 195 - 196 - exec barrier
+4 -4
kitty/kitty.conf
··· 1 - font_family Berkeley Mono Regular 1 + font_family Berkeley Mono Variable Regular 2 2 #font_family CommitMono Variable Regular 3 3 #symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 JetBrains Mono Bold 4 4 #symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 Fira Code Bold 5 5 symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 FiraCode Nerd Font Bold 6 - bold_font Berkeley Mono Bold 7 - italic_font Berkeley Mono Italic 8 - bold_italic_font Berkeley Mono BoldItalic 6 + bold_font auto 7 + italic_font auto 8 + bold_italic_font auto 9 9 font_size 13.0 10 10 #font_size 12.0 11 11
+63 -20
networking.nix
··· 1 - { ... }: 1 + { config, ... }: 2 2 { 3 3 # networking.hostName = "nixos"; # Define your hostname. 4 4 # Pick only one of the below networking options. 5 5 # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 6 6 # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. 7 - networking.hostName = "shizuri"; 7 + networking.hostName = "misaki"; 8 8 # I like systemd-networkd 9 9 systemd.network.enable = true; 10 10 systemd.network.networks."50-wlp2s0" = { ··· 15 15 16 16 networking.tempAddresses = "disabled"; 17 17 18 + networking.interfaces = { 19 + enp4s0f1 = { 20 + ipv4.addresses = [{ 21 + address = "192.168.1.3"; 22 + prefixLength = 24; 23 + }]; 24 + }; 25 + }; 26 + networking.defaultGateway = { 27 + address = "192.168.1.1"; 28 + interface = "enp4s0f1"; 29 + }; 30 + 31 + networking.defaultGateway6 = { 32 + address = "fe80::2870:4eff:fe84:d884"; 33 + interface = "enp4s0f1"; 34 + }; 35 + 36 + networking.nameservers = [ 37 + "192.168.1.3" 38 + "45.90.28.93" 39 + "45.90.30.93" 40 + ]; 41 + 42 + # This is necessary for ZFS 43 + networking.hostId = "5beebabe"; 44 + 18 45 networking.useNetworkd = true; 19 46 # TODO: static IP @ 192.168.1.2 20 47 ··· 27 54 # Or disable the firewall altogether. 28 55 # TODO: allow some ports 29 56 networking.firewall = { 30 - enable = false; 57 + enable = true; 31 58 allowPing = true; 32 - allowedUDPPorts = [ ]; 59 + trustedInterfaces = [ 60 + "tailscale0" 61 + ]; 62 + allowedUDPPorts = [ 63 + # DNS 64 + 53 65 + config.services.tailscale.port 66 + ]; 33 67 allowedTCPPorts = [ 34 - 1234 35 - 2375 68 + # DNS over TCP 69 + 53 70 + # NFSv4 71 + 2049 72 + # HTTP(s) 73 + 443 74 + 80 75 + # iperf3 76 + 5201 77 + 5301 78 + 5401 79 + # NATS 80 + 4222 81 + # Prometheus 82 + 9001 83 + # Minio 84 + 9003 85 + # Minio web 86 + 9004 87 + # AFP via Netatalk 88 + 548 89 + #9p 90 + 564 91 + # Misc development 92 + 3000 36 93 ]; 37 94 }; 38 95 ··· 51 108 }; 52 109 }; 53 110 54 - # NFS mounts 55 - 56 - fileSystems = { 57 - "/srv/shokuhou" = { 58 - device = "192.168.1.3:/srv/shokuhou"; 59 - fsType = "nfs"; 60 - options = [ "nfsvers=4" "user" "x-system.automount" "x-system.idle-timeout=600" ]; 61 - }; 62 - "/srv/mentalout" = { 63 - device = "192.168.1.3:/srv/mentalout"; 64 - fsType = "nfs"; 65 - options = [ "nfsvers=4" "user" "x-system.automount" "x-system.idle-timeout=600" ]; 66 - }; 67 - }; 68 111 }
-385
noah-home.nix
··· 1 - { pkgs, lib, ... }: 2 - let 3 - unstable = import <nixos-unstable> { 4 - config.allowUnfreePredicate = 5 - pkg: 6 - builtins.elem (lib.getName pkg) [ 7 - "jetbrains-toolbox" 8 - "jetbrains.rust-rover" 9 - "rust-rover" 10 - "discord" 11 - "google-chrome" 12 - "slack" 13 - "lmstudio" 14 - ]; 15 - overlays = [ 16 - (final: prev: { 17 - lmstudio = prev.lmstudio.overrideAttrs rec { 18 - version = "0.3.24-6"; 19 - hash = "sha256-TjfrNPr8xRUOmRRx2rLJEh3D/kV3OOfqgRTVstOd6AE="; 20 - src = final.fetchurl { 21 - hash = hash; 22 - url = "https://installers.lmstudio.ai/linux/x64/${version}/LM-Studio-${version}-x64.AppImage"; 23 - }; 24 - }; 25 - }) 26 - ]; 27 - }; 28 - chicago95 = pkgs.callPackage ./xfce/chicago95.nix { }; 29 - xfceConfigPath = ./xfce/themeConfig; 30 - xfceConfig = "${xfceConfigPath}"; 31 - in 32 - { 33 - home.sessionVariables = { 34 - NIXOS_OZONE_WL = "1"; 35 - }; 36 - 37 - home.packages = with pkgs; [ 38 - # main tool 39 - unstable.firefox-devedition 40 - direnv 41 - fish 42 - tree 43 - btop 44 - htop 45 - amdgpu_top 46 - mtr 47 - pavucontrol 48 - moreutils 49 - picocom 50 - # Disabled because even unstable is too out-of-date 51 - # unstable.logseq 52 - element-desktop 53 - rsync 54 - unzip 55 - fd 56 - jq 57 - xz 58 - bzip3 59 - ripgrep 60 - bat 61 - netcat 62 - stunnel 63 - fzf 64 - iperf3 65 - entr 66 - bitwarden-cli 67 - # Previewer for LF 68 - unstable.pistol 69 - sqlite 70 - age 71 - just 72 - unstable.catgirl 73 - #devenv 74 - plan9port 75 - killall 76 - 77 - # Dev tools 78 - git 79 - gcc 80 - go 81 - gopls 82 - gnumake 83 - babashka 84 - ccls 85 - unstable.clojure 86 - unstable.cljfmt 87 - unstable.clojure-lsp 88 - unstable.janet 89 - unstable.jpm 90 - unstable.fennel-ls 91 - graalvm-ce 92 - cmake 93 - ctags 94 - kotlin 95 - nodejs 96 - node2nix 97 - opam 98 - unstable.rustup # includes rust-analyzer 99 - # Scala stuff 100 - #scala_3 101 - #scalafmt 102 - #metals 103 - # Scala / Java build tool 104 - #sbt 105 - # Haskell 106 - #cabal-install 107 - luarocks 108 - luajit 109 - lua-language-server 110 - luaformatter 111 - #leiningen 112 - libressl 113 - erlang 114 - elixir 115 - #ghc 116 - nil # nix language server 117 - typescript 118 - # This is currently broken 119 - #vscode-langservers-extracted 120 - scdoc 121 - dockerfile-language-server-nodejs 122 - yaml-language-server 123 - mkcert 124 - natscli 125 - python3 126 - python311Packages.pip 127 - sqlite 128 - unstable.harec 129 - unstable.hare 130 - unstable.haredoc 131 - unstable.haredo 132 - unstable.gleam 133 - unstable.rebar3 134 - #unstable.flyctl 135 - unstable.bun 136 - unstable.gh 137 - unstable.kraft 138 - unstable.doctl 139 - 140 - # JetBrains 141 - unstable.jetbrains-toolbox 142 - 143 - # GUI tools 144 - i3status 145 - i3lock 146 - maim 147 - slurp 148 - grim 149 - wl-clipboard 150 - playerctl 151 - barrier 152 - xclip 153 - zathura 154 - fuzzel 155 - thunderbird 156 - ghostty 157 - slack 158 - dconf 159 - 160 - # Python dev tools 161 - pyright 162 - python311Packages.python-lsp-server 163 - python311Packages.python-lsp-ruff 164 - 165 - # Certificate Management 166 - minica 167 - mkcert 168 - step-cli 169 - unstable.ollama 170 - 171 - # XFCE theme stuff 172 - xfce.xfce4-panel 173 - xfce.xfconf 174 - xfce.xfdesktop 175 - xfce.xfce4-whiskermenu-plugin 176 - xfce.xfce4-docklike-plugin 177 - xorg.xrandr 178 - 179 - # Unfree 180 - discord 181 - spotify 182 - telegram-desktop 183 - google-chrome 184 - unstable.lmstudio 185 - libreoffice-qt6-fresh 186 - ]; 187 - 188 - nix = { 189 - settings.experimental-features = [ 190 - "nix-command" 191 - "flakes" 192 - ]; 193 - }; 194 - 195 - programs.fish = { 196 - enable = true; 197 - #package = unstable.fish; 198 - }; 199 - programs.neovim = { 200 - #package = unstable.neovim-unwrapped; 201 - enable = true; 202 - defaultEditor = true; 203 - withNodeJs = true; 204 - withPython3 = true; 205 - plugins = [ 206 - unstable.vimPlugins.nvim-treesitter.withAllGrammars 207 - ]; 208 - extraPackages = with pkgs; [ 209 - fzf 210 - ripgrep 211 - luarocks 212 - unstable.tree-sitter 213 - ]; 214 - }; 215 - programs.git = { 216 - enable = true; 217 - lfs.enable = true; 218 - userName = "Noah Pederson"; 219 - userEmail = "noah@packetlost.dev"; 220 - extraConfig = { 221 - sendemail = { 222 - smtpserver = "smtp.migadu.com"; 223 - smtpuser = "noah@packetlost.dev"; 224 - smtpencryption = "ssl"; 225 - smtpserverport = 465; 226 - }; 227 - init = { 228 - defaultBranch = "master"; 229 - }; 230 - pull = { 231 - rebase = true; 232 - }; 233 - credential = { 234 - helper = "cache"; 235 - }; 236 - }; 237 - ignores = [ 238 - ".direnv/" 239 - ".envrc" 240 - "flake.nix" 241 - "shell.nix" 242 - ".env/" 243 - ".clj-kondo/" 244 - ]; 245 - }; 246 - 247 - programs.aerc = { 248 - enable = true; 249 - package = unstable.aerc; 250 - }; 251 - 252 - programs.ssh = { 253 - enable = true; 254 - extraConfig = builtins.readFile ./ssh/extra; 255 - addKeysToAgent = "yes"; 256 - }; 257 - 258 - programs.yazi = { 259 - enable = true; 260 - package = unstable.yazi; 261 - enableFishIntegration = true; 262 - settings = { 263 - preview = { 264 - image_quality = 90; 265 - }; 266 - tasks = { 267 - image_bound = [ 268 - 0 269 - 0 270 - ]; 271 - }; 272 - }; 273 - plugins = { 274 - rsync = unstable.yaziPlugins.rsync; 275 - piper = unstable.yaziPlugins.piper; 276 - nord = unstable.yaziPlugins.nord; 277 - mediainfo = unstable.yaziPlugins.mediainfo; 278 - glow = unstable.yaziPlugins.glow; 279 - git = unstable.yaziPlugins.git; 280 - diff = unstable.yaziPlugins.diff; 281 - duckdb = unstable.yaziPlugins.duckdb; 282 - }; 283 - }; 284 - 285 - services.ssh-agent.enable = true; 286 - 287 - programs.direnv = { 288 - enable = true; 289 - nix-direnv.enable = true; 290 - }; 291 - 292 - # Independent config files. 293 - xdg.configFile.nvim = { 294 - source = ./nvim; 295 - recursive = true; 296 - }; 297 - 298 - xdg.configFile.vis = { 299 - source = ./vis; 300 - recursive = true; 301 - }; 302 - 303 - xdg.configFile.fish = { 304 - source = ./fish; 305 - recursive = true; 306 - }; 307 - 308 - xdg.configFile.kitty = { 309 - source = ./kitty; 310 - recursive = true; 311 - }; 312 - 313 - xdg.configFile.aerc = { 314 - source = ./aerc; 315 - recursive = true; 316 - }; 317 - 318 - xdg.configFile.sway = { 319 - source = ./sway; 320 - recursive = true; 321 - }; 322 - 323 - xdg.configFile.i3 = { 324 - source = ./i3; 325 - recursive = true; 326 - }; 327 - xdg.configFile.i3status = { 328 - source = ./i3status; 329 - recursive = true; 330 - }; 331 - 332 - xdg.configFile.ghostty = { 333 - source = ./ghostty; 334 - recursive = true; 335 - }; 336 - 337 - home.file.".local/bin" = { 338 - source = ./scripts; 339 - recursive = true; 340 - }; 341 - 342 - home.file.".luacheckrc" = { 343 - text = '' 344 - globals = { 345 - "vim", 346 - "vis", 347 - } 348 - ''; 349 - 350 - }; 351 - 352 - gtk = { 353 - enable = true; 354 - theme = { 355 - name = "Chicago95"; 356 - package = chicago95; 357 - }; 358 - iconTheme = { 359 - name = "Chicago95"; 360 - package = chicago95; 361 - }; 362 - #iconTheme = { 363 - # name = "Win95_plus"; 364 - # package = pkgs.callPackage ./xfce/win95_plus.nix {}; 365 - #}; 366 - cursorTheme = { 367 - name = "Chicago95"; 368 - package = chicago95; 369 - }; 370 - font = { 371 - name = "Sans"; 372 - size = 12; 373 - }; 374 - }; 375 - home.pointerCursor = { 376 - name = "Chicago95"; 377 - package = chicago95; 378 - size = 24; 379 - gtk.enable = true; 380 - x11.enable = true; 381 - }; 382 - 383 - home.stateVersion = "23.11"; 384 - 385 - }
+2 -2
nvim/init.lua
··· 7 7 -- Config for Nord, which I usually use 8 8 -- vim.g.nord_italic = false 9 9 -- vim.g.nord_bold = false 10 - vim.opt.background = "light" 11 - --vim.opt.background = "dark" 10 + --vim.opt.background = "light" 11 + vim.opt.background = "dark" 12 12 13 13 -- Formatting and vim config 14 14 vim.opt.expandtab = true
+1 -1
nvim/lua/plugins.lua
··· 121 121 }, 122 122 }, -- Git stuff 123 123 -- GitGutter, shows inline difs 124 - --"airblade/vim-gitgutter", 124 + "airblade/vim-gitgutter", 125 125 { 126 126 "NeogitOrg/neogit", 127 127 dependencies = {
+26
overrides/immich-sources.json
··· 1 + { 2 + "version": "1.138.1", 3 + "hash": "sha256-oaZN0kF82mS25bDSTXRjYnWG9RAMSbCUhXn9t0am96U=", 4 + "components": { 5 + "cli": { 6 + "npmDepsHash": "sha256-6k83QOdKh+FlVnYvA9j60115oohUMDc2YvGaj/GMukE=", 7 + "version": "2.2.79" 8 + }, 9 + "server": { 10 + "npmDepsHash": "sha256-4sqWIIGQ8ZW7TvJoNjNNliriuV6Su0askAN6pAq9VFc=", 11 + "version": "1.138.1" 12 + }, 13 + "web": { 14 + "npmDepsHash": "sha256-+W8cDgy3qe6RDen8SEdHPNADkKb4zZH8C/Am/bdU42c=", 15 + "version": "1.138.1" 16 + }, 17 + "open-api/typescript-sdk": { 18 + "npmDepsHash": "sha256-GfmFPsnFu7l4EsnPDv4nj5KLkOz8nEJvMT1BE7zIQ3k=", 19 + "version": "1.138.1" 20 + }, 21 + "geonames": { 22 + "timestamp": "20250818205425", 23 + "hash": "sha256-ceYdHKPxVzmqVIcA5odqPAnjeB0sR7GW2k/Csp0nepY=" 24 + } 25 + } 26 + }
+31 -78
packages.nix
··· 1 - { pkgs, lib, ... }: 1 + { pkgs, lib, inputs, ... }: 2 2 let # bash script to let dbus know about important env variables and 3 3 # propagate them to relevent services run at the end of sway config 4 4 # see 5 5 # https://github.com/emersion/xdg-desktop-portal-wlr/wiki/"It-doesn't-work"-Troubleshooting-Checklist 6 - # note: this is pretty much the same as /etc/sway/config.d/nixos.conf but also restarts 6 + # note: this is pretty much the same as /etc/sway/config.d/nixos.conf but also restarts 7 7 # some user services to make sure they have the correct environment variables 8 8 dbus-sway-environment = pkgs.writeTextFile { 9 9 name = "dbus-sway-environment"; ··· 44 44 # List packages installed in system profile. To search, run: 45 45 # $ nix search wget 46 46 environment.systemPackages = with pkgs; [ 47 - mangohud 48 47 neovim 49 48 appimage-run 50 - tzdata 51 49 wget 52 50 kitty 53 - file 54 51 w3m 55 52 fishPlugins.fzf-fish 56 53 fzf 57 54 qemu 58 - qemu-user 59 - qemu-utils 60 - qemu_full 61 55 OVMF 62 - #9p stuff 56 + metastore 57 + # 9p 63 58 diod 64 59 plan9port 65 60 vis 66 61 rc 62 + ncdu 63 + inputs.agenix.packages."${system}".agenix 67 64 68 - smartmontools 65 + # ZFS / filesystem stuff 66 + zfs 67 + 68 + # GPU stuff 69 + intel-gpu-tools 70 + #(ffmpeg-full.override { 71 + # withUnfree = true; 72 + # withMfx = false; 73 + # withSmallBuild = false; 74 + # withTensorflow = false; 75 + #}) 76 + libva 77 + libva-utils 78 + nvtopPackages.intel 69 79 70 80 # Sway stuff 71 81 wdisplays ··· 80 90 dracula-theme 81 91 glib 82 92 xdg-utils 83 - xdg-desktop-portal 84 93 wayland 85 94 configure-gtk 86 - lxqt.lxqt-menu-data # for lxqt 87 95 dbus-sway-environment 88 96 dbus 89 - pkg-config 90 - zlib 91 - # why wouldn't I want documentation on my system 92 - man-pages 93 - man-pages-posix 94 - linuxPackages_latest.perf 95 97 ]; 96 98 97 - environment.loginShellInit = '' 98 - [[ "$(tty)" = "/dev/tty1" ]] && /home/noah/repos/nixos/gs.sh 99 - ''; 100 - 101 - documentation.dev.enable = true; 102 - 103 99 # Fix dynamically linked libraries for unpackaged binaries 104 100 programs.nix-ld = { 105 101 enable = true; ··· 107 103 # Add missing dynamic libraries for unpackaged programs HERE 108 104 # NOT in environment.systemPackages 109 105 zlib 110 - openssl 111 - sqlite 112 - libunwind 113 - libglvnd 114 - libclang 115 - systemdLibs 116 106 ]; 117 107 }; 118 - programs.nix-index = { 119 - enable = true; 120 - enableFishIntegration = true; 121 - enableBashIntegration = false; 122 - enableZshIntegration = false; 123 - }; 124 108 125 - programs.steam = { 126 - enable = true; 127 - remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play 128 - dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server 129 - localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers 130 - gamescopeSession.enable = true; 131 - }; 132 - programs.gamescope = { 133 - enable = true; 134 - capSysNice = true; 135 - }; 136 - # Boot to bigpicture 137 - services.getty.autologinUser = "noah"; 109 + programs.fuse.userAllowOther = true; 138 110 139 - programs.appimage = { 140 - enable = true; 141 - binfmt = true; 142 - }; 143 - 144 - # Run other bins in QEMU 145 - boot.binfmt.emulatedSystems = [ 146 - "aarch64-linux" 147 - "riscv64-linux" 148 - ]; 149 - # UEFI firmware support for QEMU 150 - systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ]; 151 111 152 112 # Logseq uses an ancient version of Electron, so we enable that 153 113 nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ]; 154 114 155 - # I don't care too much about unfree 156 - nixpkgs.config.allowUnfree = true; 157 115 # Whitelist some unfree packages 158 - nixpkgs.config.allowUnfreePredicate = 159 - pkg: 160 - builtins.elem (lib.getName pkg) [ 161 - "discord" 162 - "spotify" 163 - "obsidian" 164 - "unstable.obsidian" 165 - "tailscale" 166 - "google-chrome" 167 - "slack" 168 - "steam" 169 - "steam-original" 170 - "steam-unwrapped" 171 - "steam-run" 172 - ]; 116 + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ 117 + "discord" 118 + "spotify" 119 + "obsidian" 120 + "tailscale" 121 + "plexmediaserver" 122 + "sftpgo" 123 + "teamspeak-server" 124 + "ffmpeg-full" 125 + ]; 173 126 }
+3
scripts/fix-jpeg-raw-duplicates-immich.rcsh
··· 1 + #!/usr/bin/env rc 2 + 3 + nix run 'github:nixos/nixpkgs?ref=nixos-unstable-small#immich-go' -- stack -k `{pa show immich-api} -s 'https://photos.ngp.computer' --manage-raw-jpeg StackCoverJPG
+6 -3
scripts/nr
··· 1 1 #!/usr/bin/env rc 2 2 3 - flag e + 4 3 flag x + 5 4 6 - pkg=$1 5 + if(~ $1 -x) { 6 + flake e + 7 + shift 8 + } 7 9 10 + pkg=$1 8 11 shift 9 12 10 - exec nix run 'nixpkgs#'^$pkg -- $* 13 + exec nix run --impure 'nixpkgs#'^$pkg -- $*
+1
secrets/cache-pub-key.pem
··· 1 + misaki.packetlost.dev:y5Z/utaVBozpL0UAbUQDWLjpm2sVMOoKzyG76n/167A=
+7
secrets/nix-serve-secret-key.age
··· 1 + age-encryption.org/v1 2 + -> ssh-ed25519 e6zq8g l39Xz9AifFdYzu1lY0X6+lRSf9YCSwVvKpkY2yIltDY 3 + vnYucN1xNAb+KmrT5zJQlq8cz8GV+ZL915g0fZeIai4 4 + -> ssh-ed25519 QBbeMw cXXePretHJG85V9IXnwmEII5eGS//QsGdYpZvWzPvHo 5 + e/B9cP88ehm+R4hOhlrzuqIdg5BMGUD19U9ieD/H2Z8 6 + --- YlswbYIQdog/Qep02v7L35jN2cZZ1IVCK1jOYAvF7hc 7 + �A�[�(���W�聠�{����+��)�Y�f���b�8cn��%�ۀBx�)���z 5�|�� Կ]���2| �"���j 7 A�t^��z �G�� �K$B��!Xu}@"� R�Y�Ym���NY}JP�O|��
+6
secrets/porkbun-api-key.age
··· 1 + age-encryption.org/v1 2 + -> ssh-ed25519 e6zq8g CdLTZ6uXiJB+xaD+I5NVHD5OxLSH+yAz99j04GiKukU 3 + kQTUR4yK23wHV9QGMlmTmIlMh63nP49g1NrS+sJKfBY 4 + --- H6/xHryPPKmAWW/bDXUN4YBXMKrsFpUAveKxWsT0SH0 5 + �E����,�ήS��P)A.������9O\�����2n��U�!���X�a��� l�Z�4*(G�[��>�Zl� 6 + :QՅ���������o����$=��& ڍ�w�t^�<<E�0p�8��:���� G�̉����J#�QR�����p�򘐞�kA,�=!��5�KK��0o��nQ��)�\\�ĘN�����wQ�҉
+9
secrets/secrets.nix
··· 1 + let 2 + noah = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDQFlX3hhXxsqAUYLvF+IX1YWQ+k22OHlqMOjgyNBe9e noah@misaki"; 3 + misaki = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO+Rcf4Lr+JPWGKQol6eAml6SMgERkGJWgN7y1qYUUvX root@nixos"; 4 + #users = [noah]; 5 + in 6 + { 7 + "porkbun-api-key.age".publicKeys = [ noah misaki ]; 8 + "nix-serve-secret-key.age".publicKeys = [ misaki noah ]; 9 + }
+546 -19
services.nix
··· 1 - { pkgs, ... }: 1 + { config 2 + , pkgs 3 + , unstable 4 + , ... 5 + }: 2 6 { 7 + 8 + services.zfs = { 9 + autoScrub.enable = true; 10 + }; 11 + services.nfs.server.enable = true; 3 12 # Some programs need SUID wrappers, can be configured further or are 4 13 # started in user sessions. 5 14 # programs.mtr.enable = true; ··· 10 19 11 20 # Fish shell, the best 12 21 programs.fish.enable = true; 22 + 23 + # MOSH, SSH over flakey connections 24 + programs.mosh.enable = true; 13 25 14 26 # List services that you want to enable: 15 27 16 28 # Enable the OpenSSH daemon. 17 29 services.openssh = { 18 30 enable = true; 19 - settings.X11Forwarding = true; 31 + openFirewall = true; 32 + settings.PasswordAuthentication = false; 20 33 }; 21 34 22 - # Smart Card daemon 23 - services.pcscd.enable = true; 24 - 25 35 # This option is for enabling the bolt daemon for managing Thunderbolt/USB4 Devices. 26 36 services.hardware.bolt.enable = true; 27 37 28 38 # Tailscale 29 39 services.tailscale = { 40 + enable = true; 41 + useRoutingFeatures = "client"; 42 + }; 43 + 44 + # Containers and VMs 45 + virtualisation = { 46 + podman = { 47 + enable = true; 48 + dockerCompat = true; 49 + defaultNetwork.settings.dns_enabled = true; 50 + }; 51 + }; 52 + 53 + # Samba, for shares 54 + # TODO 55 + services.samba = { 56 + enable = true; 57 + openFirewall = true; 58 + nmbd.enable = true; 59 + winbindd.enable = true; 60 + settings = { 61 + global = { 62 + workgroup = "WORKGROUP"; 63 + "server string" = "misaki"; 64 + security = "user"; 65 + "use sendfile" = "yes"; 66 + "hosts allow" = "192.168.1. 127.0.0.1 localhost"; 67 + "hosts deny" = "0.0.0.0/0"; 68 + "guest account" = "nobody"; 69 + "map to guest" = "bad user"; 70 + deadtime = 30; 71 + }; 72 + shokuhou = { 73 + path = "/srv/shokuhou"; 74 + browseable = "yes"; 75 + "read only" = "no"; 76 + "guest ok" = "no"; 77 + "create mask" = "0644"; 78 + "directory mask" = "0755"; 79 + "force user" = "noah"; 80 + "force group" = "nas"; 81 + }; 82 + mentalout = { 83 + path = "/srv/mentalout"; 84 + browseable = "yes"; 85 + "read only" = "no"; 86 + "guest ok" = "no"; 87 + "create mask" = "0644"; 88 + "directory mask" = "0755"; 89 + "force user" = "noah"; 90 + "force group" = "nas"; 91 + }; 92 + }; 93 + }; 94 + services.samba-wsdd = { 95 + enable = true; 96 + openFirewall = true; 97 + }; 98 + 99 + services.coredns = { 100 + enable = true; 101 + config = '' 102 + packetlost.dev { 103 + hosts ${./coredns/packetlost.dev.hosts} packetlost.dev { 104 + fallthrough 105 + } 106 + bind enp4s0f1 107 + } 108 + ngp.computer { 109 + hosts ${./coredns/ngp.computer.hosts} ngp.computer { 110 + fallthrough 111 + } 112 + bind enp4s0f1 113 + } 114 + localhost { 115 + hosts ${./coredns/localhost.hosts} localhost { 116 + fallthrough 117 + } 118 + bind enp4s0f1 119 + } 120 + . { 121 + # NextDNS 122 + forward . tls://2a07:a8c0::dd:2feb:853 tls://2a07:a8c1::dd:2feb:853 tls://45.90.28.93:853 tls://45.90.30.93:853 { 123 + tls_servername dd2feb.dns.nextdns.io 124 + health_check 5s 125 + } 126 + bind enp4s0f1 127 + cache 128 + errors 129 + log 130 + } 131 + ''; 132 + }; 133 + 134 + services.nats = { 135 + enable = true; 136 + jetstream = true; 137 + user = "nats"; 138 + group = "nats"; 139 + serverName = "misaki"; 140 + dataDir = "/srv/shokuhou/applications/nats"; 141 + validateConfig = false; 142 + settings = { 143 + authorization = { 144 + users = [ 145 + { 146 + user = "seedbox@packetlost.dev"; 147 + permissions = { 148 + publish = [ 149 + "torrents" 150 + "torrents.>" 151 + "$JS.API.INFO" 152 + #"$JS.API.STREAM.INFO.>" 153 + "$KV.torrents.>" 154 + #"$JS.API.STREAM.*.*.OBJ_torrents" 155 + "$JS.API.*.*.OBJ_torrents" 156 + "$JS.API.STREAM.MSG.GET.OBJ_torrents" 157 + "$JS.API.*.*.OBJ_torrents.>" 158 + "$O.torrents.>" 159 + ]; 160 + subscribe = [ 161 + "torrents.>" 162 + "_INBOX.>" 163 + ]; 164 + allow_responses = false; 165 + }; 166 + } 167 + { user = "odin@packetlost.dev"; } 168 + { user = "misaki@packetlost.dev"; } 169 + { user = "noah@packetlost.dev"; } 170 + { user = "touma-nixos@packetlost.dev"; } 171 + ]; 172 + }; 173 + tls = { 174 + cert_file = "/srv/nats/nats.packetlost.dev/cert.pem"; 175 + key_file = "/srv/nats/nats.packetlost.dev/key.pem"; 176 + ca_file = "/srv/nats/minica.pem"; 177 + verify_and_map = true; 178 + }; 179 + jetstream = { 180 + # 50GB 181 + max_file_store = 53687091200; 182 + max_mem = 8589934592; 183 + }; 184 + }; 185 + }; 186 + 187 + # Minio's object storage has been mostly replaced with NATS. If I specifically need a 188 + # S3-like API, this will be revived. 189 + services.minio = { 30 190 enable = false; 31 - useRoutingFeatures = "client"; 191 + listenAddress = ":9003"; 192 + consoleAddress = ":9004"; 193 + dataDir = [ 194 + /srv/shokuhou/applications/minio 195 + ]; 196 + }; 197 + 198 + services.netatalk = { 199 + enable = true; 200 + settings = { 201 + time-machine = { 202 + path = "/srv/shokuhou/backup/timemachine"; 203 + "valid users" = "noah"; 204 + "time machine" = true; 205 + }; 206 + }; 207 + }; 208 + 209 + services.webdav.enable = false; 210 + services.sftpgo = { 211 + enable = false; 212 + dataDir = /srv/shokuhou/documents/sftpgo; 213 + group = "nas"; 214 + }; 215 + services.syncthing = { 216 + enable = false; 217 + openDefaultPorts = true; 218 + # disable the sync folder creation 219 + extraFlags = [ "--no-default-folder" ]; 220 + settings = { 221 + folders = { 222 + "Sync" = { 223 + path = "/srv/shokuhou/documents/sync"; 224 + }; 225 + }; 226 + }; 227 + }; 228 + 229 + services.grafana = { 230 + enable = false; 231 + settings.server.http_port = 2342; 232 + settings.server.domain = "grafana.packetlost.dev"; 233 + settings.server.http_addr = "127.0.0.1"; 234 + }; 235 + 236 + services.prometheus = { 237 + enable = false; 238 + port = 9001; 239 + exporters = { 240 + node = { 241 + enable = true; 242 + enabledCollectors = [ "systemd" ]; 243 + port = 9002; 244 + }; 245 + }; 246 + 247 + scrapeConfigs = [ 248 + { 249 + job_name = "chrysalis"; 250 + static_configs = [ 251 + { targets = [ "127.0.0.1:${builtins.toString config.services.prometheus.exporters.node.port}" ]; } 252 + ]; 253 + } 254 + ]; 255 + }; 256 + 257 + # TODO: figure out how to appropriately configure this 258 + services.step-ca = { 259 + enable = false; 260 + openFirewall = true; 261 + port = 8443; 262 + address = "0.0.0.0"; 263 + intermediatePasswordFile = /etc/nixos/step-ca-intermediate-ca-password; 264 + settings = builtins.fromJSON (builtins.readFile /home/noah/.step/config/ca.json); 265 + }; 266 + 267 + age.secrets.acme = { 268 + file = ./secrets/porkbun-api-key.age; 269 + owner = "root"; 270 + group = "acme"; 271 + }; 272 + 273 + # TODO: re-enable this once Agenix is set up 274 + security.acme = { 275 + acceptTerms = true; 276 + defaults.email = "noah@packetlost.dev"; 277 + certs."plex.packetlost.dev" = { 278 + dnsProvider = "porkbun"; 279 + group = "httpd"; 280 + environmentFile = config.age.secrets.acme.path; 281 + }; 282 + certs."img.ngp.computer" = { 283 + group = "httpd"; 284 + dnsProvider = "porkbun"; 285 + environmentFile = config.age.secrets.acme.path; 286 + }; 287 + certs."files.ngp.computer" = { 288 + group = "httpd"; 289 + dnsProvider = "porkbun"; 290 + environmentFile = config.age.secrets.acme.path; 291 + }; 292 + certs."photos.ngp.computer" = { 293 + group = "httpd"; 294 + dnsProvider = "porkbun"; 295 + environmentFile = config.age.secrets.acme.path; 296 + }; 297 + certs."jellyfin.packetlost.dev" = { 298 + group = "httpd"; 299 + dnsProvider = "porkbun"; 300 + environmentFile = config.age.secrets.acme.path; 301 + }; 302 + }; 303 + 304 + # A test email server that only works on LAN 305 + services.maddy = { 306 + enable = true; 307 + openFirewall = true; 308 + primaryDomain = "misaki.local"; 309 + ensureAccounts = [ 310 + "noah@misaki.local" 311 + "postmaster@misaki.local" 312 + "test@misaki.local" 313 + ]; 314 + ensureCredentials = { 315 + "noah@misaki.local".passwordFile = "${pkgs.writeText "noah" "Password123"}"; 316 + "postmaster@misaki.local".passwordFile = "${pkgs.writeText "noah" "Password123"}"; 317 + "test@misaki.local".passwordFile = "${pkgs.writeText "test" "Password123"}"; 318 + }; 32 319 }; 33 320 34 - services.fwupd.enable = true; 321 + age.secrets.nix-serve = { 322 + file = ./secrets/nix-serve-secret-key.age; 323 + owner = "root"; 324 + group = "root"; 325 + }; 326 + services.nix-serve = { 327 + enable = true; 328 + package = unstable.nix-serve-ng; 329 + secretKeyFile = config.age.secrets.nix-serve.path; 330 + openFirewall = true; 331 + }; 332 + 333 + services.plex = { 334 + enable = true; 335 + openFirewall = false; # we proxy this with nginx 336 + group = "nas"; 337 + user = "noah"; 338 + package = unstable.plex; 339 + }; 35 340 36 - services.xrdp = { 341 + services.jellyfin = { 37 342 enable = true; 38 343 openFirewall = true; 39 - defaultWindowManager = "${pkgs.lxqt.lxqt-session}/bin/lxqt-session"; 344 + user = "noah"; 345 + group = "nas"; 346 + logDir = "/srv/shokuhou/applications/jellyfin/log"; 347 + cacheDir = "/srv/shokuhou/applications/jellyfin/cache"; 348 + dataDir = "/srv/shokuhou/applications/jellyfin/data"; 349 + configDir = "/srv/shokuhou/applications/jellyfin/config"; 40 350 }; 41 351 42 - # Containers and VMs 43 - virtualisation = { 44 - podman = { 45 - enable = false; 46 - dockerCompat = true; 47 - defaultNetwork.settings.dns_enabled = true; 48 - dockerSocket.enable = true; 352 + # services.gitea = { 353 + # enable = true; 354 + # user = "git"; 355 + # domain = "git.packetlost.dev"; 356 + # }; 357 + 358 + # Litterbox, collect my IRC logs 359 + systemd = { 360 + services = { 361 + "litterbox@" = { 362 + path = [ pkgs.litterbox ]; 363 + serviceConfig = { 364 + StartLimitIntervalSec = 5; 365 + StartLimitBurst = 10; 366 + Restart = "on-failure"; 367 + RestartSec = "10s"; 368 + Type = "simple"; 369 + ExecStart = "${pkgs.litterbox}/bin/litterbox /srv/litterbox/%i.conf"; 370 + ExecReload = "kill -USR1 $MAINPID"; 371 + User = "noah"; 372 + Group = "litterbox"; 373 + }; 374 + }; 375 + 376 + #"litterbox@libera.irc.packetlost.dev" = { 377 + # overrideStrategy = "asDropin"; 378 + # wantedBy = [ "multi-user.target" ]; 379 + #}; 380 + "update-downstream-src" = { 381 + path = with pkgs; [ 382 + rc 383 + coreutils 384 + git 385 + openssh 386 + ]; 387 + script = "exec ${./scripts/update-src}"; 388 + serviceConfig = { 389 + Type = "oneshot"; 390 + User = "noah"; 391 + WorkingDirectory = "/srv/src"; 392 + }; 393 + }; 394 + }; 395 + timers = { 396 + "update-downstream-src" = { 397 + wantedBy = [ "timers.target" ]; 398 + timerConfig = { 399 + OnCalendar = "daily"; 400 + Persistent = true; 401 + }; 402 + }; 49 403 }; 50 - docker = { 51 - enable = true; 52 - storageDriver = "overlay2"; 404 + }; 405 + 406 + services.teamspeak3 = { 407 + enable = true; 408 + openFirewall = true; 409 + }; 410 + 411 + services.immich = { 412 + enable = true; 413 + package = unstable.immich; 414 + accelerationDevices = [ "/dev/dri/renderD128" ]; 415 + mediaLocation = "/srv/shokuhou/pictures/immich"; 416 + }; 417 + users.users.immich.extraGroups = [ 418 + "video" 419 + "render" 420 + "nas" 421 + ]; 422 + 423 + # Nginx Reverse SSL Proxy 424 + services.nginx = { 425 + enable = true; 426 + group = "nas"; 427 + user = "noah"; 428 + 429 + # This is disabled for now 430 + #virtualHosts."${config.services.grafana.settings.server.domain}" = { 431 + # locations."/" = { 432 + # proxyPass = "http://127.0.0.1:${builtins.toString config.services.grafana.settings.server.http_port}"; 433 + # proxyWebsockets = true; 434 + # }; 435 + #}; 436 + 437 + virtualHosts."cache.packetlost.dev" = { 438 + locations."/".proxyPass = 439 + "http://${config.services.nix-serve.bindAddress}:${toString config.services.nix-serve.port}"; 440 + }; 441 + virtualHosts."photos.ngp.computer" = { 442 + enableACME = false; 443 + useACMEHost = "photos.ngp.computer"; 444 + acmeRoot = null; 445 + forceSSL = true; 446 + locations."/" = { 447 + proxyPass = "http://[::1]:${toString config.services.immich.port}"; 448 + proxyWebsockets = true; 449 + recommendedProxySettings = true; 450 + extraConfig = '' 451 + client_max_body_size 50000M; 452 + proxy_read_timeout 600s; 453 + proxy_send_timeout 600s; 454 + send_timeout 600s; 455 + ''; 456 + }; 457 + }; 458 + virtualHosts."img.ngp.computer" = { 459 + forceSSL = true; 460 + enableACME = false; 461 + useACMEHost = "img.ngp.computer"; 462 + acmeRoot = null; 463 + root = "/srv/shokuhou/pictures/public"; 464 + extraConfig = '' 465 + sendfile on; 466 + autoindex_exact_size on; 467 + tcp_nopush on; 468 + ''; 469 + locations."/" = { 470 + extraConfig = '' 471 + autoindex on; 472 + autoindex_exact_size on; 473 + alias /srv/shokuhou/pictures/public/$1; 474 + ''; 475 + }; 476 + }; 477 + virtualHosts."files.ngp.computer" = { 478 + forceSSL = true; 479 + enableACME = false; 480 + useACMEHost = "files.ngp.computer"; 481 + acmeRoot = null; 482 + root = null; 483 + extraConfig = '' 484 + sendfile on; 485 + tcp_nopush on; 486 + ''; 487 + locations."/books/" = { 488 + extraConfig = '' 489 + autoindex on; 490 + autoindex_exact_size on; 491 + alias /srv/shokuhou/books/sync/$1; 492 + ''; 493 + }; 494 + }; 495 + virtualHosts."jellyfin.packetlost.dev" = { 496 + forceSSL = true; 497 + enableACME = false; 498 + useACMEHost = "jellyfin.packetlost.dev"; 499 + acmeRoot = null; 500 + http2 = true; 501 + locations."/" = { 502 + proxyPass = "http://localhost:8096/"; 503 + }; 504 + }; 505 + 506 + # give a name to the virtual host. It also becomes the server name. 507 + virtualHosts."plex.packetlost.dev" = { 508 + # Since we want a secure connection, we force SSL 509 + forceSSL = true; 510 + enableACME = false; 511 + useACMEHost = "plex.packetlost.dev"; 512 + acmeRoot = null; 513 + 514 + # http2 can more performant for streaming: https://blog.cloudflare.com/introducing-http2/ 515 + http2 = true; 516 + 517 + # Provide the ssl cert and key for the vhost 518 + # These are filled in automatically with ACME 519 + extraConfig = '' 520 + 521 + #Some players don't reopen a socket and playback stops totally instead of resuming after an extended pause 522 + send_timeout 100m; 523 + 524 + # Why this is important: https://blog.cloudflare.com/ocsp-stapling-how-cloudflare-just-made-ssl-30/ 525 + ssl_stapling on; 526 + ssl_stapling_verify on; 527 + 528 + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 529 + ssl_prefer_server_ciphers on; 530 + #Intentionally not hardened for security for player support and encryption video streams has a lot of overhead with something like AES-256-GCM-SHA384. 531 + ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; 532 + 533 + # Forward real ip and host to Plex 534 + proxy_set_header X-Real-IP $remote_addr; 535 + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 536 + proxy_set_header X-Forwarded-Proto $scheme; 537 + proxy_set_header Host $server_addr; 538 + proxy_set_header Referer $server_addr; 539 + proxy_set_header Origin $server_addr; 540 + 541 + # Plex has A LOT of javascript, xml and html. This helps a lot, but if it causes playback issues with devices turn it off. 542 + gzip on; 543 + gzip_vary on; 544 + gzip_min_length 1000; 545 + gzip_proxied any; 546 + gzip_types text/plain text/css text/xml application/xml text/javascript application/x-javascript image/svg+xml; 547 + gzip_disable "MSIE [1-6]\."; 548 + 549 + # Nginx default client_max_body_size is 1MB, which breaks Camera Upload feature from the phones. 550 + # Increasing the limit fixes the issue. Anyhow, if 4K videos are expected to be uploaded, the size might need to be increased even more 551 + client_max_body_size 100M; 552 + 553 + # Plex headers 554 + proxy_set_header X-Plex-Client-Identifier $http_x_plex_client_identifier; 555 + proxy_set_header X-Plex-Device $http_x_plex_device; 556 + proxy_set_header X-Plex-Device-Name $http_x_plex_device_name; 557 + proxy_set_header X-Plex-Platform $http_x_plex_platform; 558 + proxy_set_header X-Plex-Platform-Version $http_x_plex_platform_version; 559 + proxy_set_header X-Plex-Product $http_x_plex_product; 560 + proxy_set_header X-Plex-Token $http_x_plex_token; 561 + proxy_set_header X-Plex-Version $http_x_plex_version; 562 + proxy_set_header X-Plex-Nocache $http_x_plex_nocache; 563 + proxy_set_header X-Plex-Provides $http_x_plex_provides; 564 + proxy_set_header X-Plex-Device-Vendor $http_x_plex_device_vendor; 565 + proxy_set_header X-Plex-Model $http_x_plex_model; 566 + 567 + # Websockets 568 + proxy_http_version 1.1; 569 + proxy_set_header Upgrade $http_upgrade; 570 + proxy_set_header Connection "upgrade"; 571 + 572 + # Buffering off send to the client as soon as the data is received from Plex. 573 + proxy_redirect off; 574 + proxy_buffering off; 575 + ''; 576 + 577 + locations."/" = { 578 + proxyPass = "http://localhost:32400/"; 579 + }; 53 580 }; 54 581 }; 55 582 }
+7
shell.nix
··· 1 + { pkgs ? import <nixos-unstable> { } }: 2 + pkgs.mkShell { 3 + packages = with pkgs; [ nil lua-language-server nixpkgs-fmt ]; 4 + shellHook = '' 5 + ${(import ./default.nix).pre-commit-check.shellHook} 6 + ''; 7 + }
+14 -22
ssh/extra
··· 1 1 AddKeysToAgent yes 2 2 ServerAliveInterval 60 3 - ForwardAgent no 4 3 ControlMaster auto 5 4 ControlPath ~/.ssh/master-%r@%h:%p 6 5 7 - Host 192.168.1.* 8 - ForwardAgent yes 9 - 10 - Host *.local 11 - ForwardAgent yes 12 - 13 6 Host home 14 7 Hostname packetlostandfound.us 15 8 User noah 16 9 IdentityFile ~/.ssh/id_ed25519 17 10 IdentitiesOnly yes 18 - ForwardAgent yes 19 11 20 12 Host git.sr.ht 21 13 HostName git.sr.ht ··· 43 35 HostName tty.sdf.org 44 36 User ngp 45 37 IdentityFile ~/.ssh/id_ed25519 46 - ForwardAgent yes 47 38 48 39 Host tildeclub 49 40 HostName tilde.club 50 41 User ngp 51 42 IdentityFile ~/.ssh/id_ed25519 52 - ForwardAgent yes 53 43 54 44 Host envs 55 45 HostName envs.net 56 46 User ngp 57 47 IdentityFile ~/.ssh/id_ed25519 58 - ForwardAgent yes 59 48 60 49 Host tildeteam 61 50 HostName tilde.team 62 51 User ngp 63 52 IdentityFile ~/.ssh/id_ed25519 64 - ForwardAgent yes 65 53 66 54 Host ctrl-c 67 55 HostName ctrl-c.club 68 56 User ngp 69 57 IdentityFile ~/.ssh/id_ed25519 70 - ForwardAgent yes 71 58 72 59 Host tildetown 73 60 HostName tilde.town 74 61 User ngp 75 62 IdentityFile ~/.ssh/id_ed25519 76 - ForwardAgent yes 77 63 78 64 Host yourtilde 79 65 HostName yourtilde.com 80 66 User ngp 81 67 IdentityFile ~/.ssh/id_ed25519 82 - ForwardAgent yes 83 68 84 69 Host hashbang 85 - HostName to1.hashbang.sh 86 - IdentitiesOnly yes 87 - User ngp 88 - IdentityFile ~/.ssh/id_ed25519 89 - ForwardAgent yes 70 + HostName to1.hashbang.sh 71 + IdentitiesOnly yes 72 + User ngp 73 + IdentityFile ~/.ssh/id_ed25519 90 74 91 75 Host tiny 92 76 HostName tiny.packetlost.dev 93 77 User noah 94 78 IdentityFile ~/.ssh/id_ed25519 95 - ForwardAgent yes 79 + 80 + Host tinybsd 81 + HostName tinybsd.packetlost.dev 82 + User noah 83 + IdentityFile ~/.ssh/id_ed25519 96 84 97 85 Host seedbox 98 86 HostName canopus.usbx.me 99 87 User ngp 100 88 IdentityFile ~/.ssh/id_ed25519 101 - ForwardAgent no 89 + 90 + Host saten 91 + HostName saten.packetlost.dev 92 + User noah 93 + IdentityFile ~/.ssh/id_ed25519 102 94 103 95 Host launchpad 104 96 HostName git.launchpad.net
+4 -11
sway/config
··· 14 14 set $right l 15 15 16 16 # Your preferred terminal emulator 17 - set $term ghostty 17 + set $term kitty 18 18 # Your preferred application launcher 19 19 # Note: it's recommended that you pass the final command to sway 20 20 #set $menu dmenu_path | dmenu | xargs swaymsg exec -- 21 21 22 - #set $menu exec kitty --class 'launcher' sh -c 'compgen -c | sort -u | fzf | xargs -r swaymsg -t command exec' 23 - #for_window [app_id="^launcher$"] floating enable, border none, resize set width 25 ppt height 100 ppt, move position 0 px 0 px 24 - 25 - set $menu exec fuzzel 22 + set $menu exec kitty --class 'launcher' sh -c 'compgen -c | sort -u | fzf | xargs -r swaymsg -t command exec' 23 + for_window [app_id="^launcher$"] floating enable, border none, resize set width 25 ppt height 100 ppt, move position 0 px 0 px 26 24 27 25 # Lockscreen 28 26 set $lock swaylock -c 892243 -e ··· 45 43 ### Idle configuration 46 44 set $idle swayidle -w \ 47 45 timeout 300 '$lock' \ 48 - timeout 360 'swaymsg "output * dpms off"' \ 46 + timeout 600 'swaymsg "output * dpms off"' \ 49 47 timeout 15 'if pgrep -x swaylock; then swaymsg "output * dpms off"; fi' \ 50 48 resume 'swaymsg "output * dpms on"' \ 51 49 before-sleep '$lock' ··· 73 71 74 72 input "1133:45081:MX_Master_2S_Mouse" { 75 73 pointer_accel 0 76 - accel_profile flat 77 - } 78 - 79 - input "1133:50504:Logitech_USB_Receiver_Mouse" { 80 - pointer_accel 0.2 81 74 accel_profile flat 82 75 } 83 76
+13 -18
sway/odin
··· 2 2 #workspace $ws1 output DP-6 3 3 #workspace $ws2 output HDMI-A-1 4 4 5 - output "Acer Technologies XV272U 0x8520810C" { 6 - mode 2560x1440@143.999Hz 7 - pos 440 0 8 - transform normal 9 - scale 1.0 10 - scale_filter nearest 11 - adaptive_sync off 12 - dpms on 13 - } 14 - output "LG Electronics LG ULTRAGEAR 307NTPC58464" { 15 - mode 3440x1440@85.0Hz 16 - pos 0 1440 17 - transform normal 18 - scale 1.0 19 - scale_filter nearest 20 - adaptive_sync off 21 - dpms on 22 - } 5 + # HDMI is the main output 6 + output HDMI-A-1 pos 0 0 7 + output HDMI-A-1 adaptive_sync off 8 + output DP-9 pos -430 1440 9 + output DP-9 adaptive_sync on 10 + # Sometimes the DP identifier changes for some reason 11 + output DP-6 pos -430 1440 12 + output DP-6 adaptive_sync on 13 + output DP-10 pos -430 1440 14 + output DP-10 adaptive_sync on 15 + # The HDMI gets messed up too :( 16 + output HDMI-A-2 pos 0 0 17 + output HDMI-A-2 adaptive_sync off
+22 -29
users.nix
··· 1 1 { pkgs, lib, ... }: 2 - let 3 - home-manager = builtins.fetchTarball 4 - "https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz"; 5 - in 6 2 { 7 - 8 - imports = [ 9 - # Import home-manager first, it's required for other modules 10 - (import "${home-manager}/nixos") 11 - ]; 12 - 13 3 # Declarative only optoins. 14 4 # I don't want to allow ad-hoc modifying users on the system. 15 5 # Users must be declared either as part of a package or in this file. 16 6 users.mutableUsers = false; 17 7 18 - 19 8 # Define a user account. Don't forget to set a password with ‘passwd’. 20 9 users.users.noah = { 21 10 isNormalUser = true; 22 11 shell = pkgs.fish; 23 - extraGroups = [ "wheel" "video" "nas" "libvirtd" "qemu-libvirtd" "docker" ]; # Enable ‘sudo’ for the user. 12 + extraGroups = [ 13 + "wheel" 14 + "video" 15 + "render" 16 + "nas" 17 + "nats" 18 + "litterbox" 19 + "httpd" 20 + ]; # Enable ‘sudo’ for the user. 24 21 hashedPasswordFile = "/etc/nixos/noah-password"; 25 - openssh.authorizedKeys.keys = 26 - lib.strings.splitString "\n" (builtins.readFile (builtins.fetchurl { 27 - url = "https://meta.sr.ht/~chiefnoah.keys"; 28 - name = "chiefnoah.keys"; 29 - # Update this with: 30 - # `curl https://meta.sr.ht/~chiefnoah.keys | sha256sum` 31 - sha256 = "0wdnx25blqihbgaa0hzd39mjqwki92ambar097hjfmlrxg1s4lk7"; 32 - })); 22 + openssh.authorizedKeys.keys = lib.strings.splitString "\n" ( 23 + builtins.readFile ( 24 + builtins.fetchurl { 25 + url = "https://meta.sr.ht/~chiefnoah.keys"; 26 + name = "chiefnoah.keys"; 27 + # Update this with: 28 + # `curl https://meta.sr.ht/~chiefnoah.keys | sha256sum` 29 + sha256 = "0wdnx25blqihbgaa0hzd39mjqwki92ambar097hjfmlrxg1s4lk7"; 30 + } 31 + ) 32 + ); 33 33 }; 34 34 35 35 users.groups.nas.gid = 1001; 36 - 37 - # I manage my home with home-manager 38 - # Don't store packages in ~/.nix-profile, use /etc/profiles so we can build-vm 39 - home-manager.useUserPackages = true; 40 - # No more NIX_PATH, use system pkgs 41 - home-manager.useGlobalPkgs = true; 42 - home-manager.backupFileExtension = "bak"; 43 - 44 - home-manager.users.noah = import ./noah-home.nix; 36 + users.groups.httpd.gid = 1002; 37 + users.groups.litterbox.gid = 1003; 45 38 }
+27 -41
vis/visrc.lua
··· 1 1 require('vis') 2 - local plugin_manager = 'plugins/vis-plug' 2 + 3 + local plug = require('plugins/vis-plug') 4 + 3 5 local plugins = { 4 6 { 'timoha/vis-acme', theme = true, file = 'acme' }, 5 7 { 'milhnl/vis-format' }, ··· 8 10 { url = 'https://repo.or.cz/vis-parkour.git', alias = 'vis-parkour' } 9 11 } 10 12 11 - function setup_plug() 12 - if not pcall(require, 'plugins/vis-plug') then 13 - os.execute('git clone --quiet https://github.com/erf/vis-plug ' .. 14 - (os.getenv('XDG_CONFIG_HOME') or os.getenv('HOME') .. '/.config') 15 - .. '/vis/plugins/vis-plug') 16 - end 17 - return require('plugins/vis-plug') 18 - end 19 - local plug = setup_plug() 20 - 21 13 plug.init(plugins, true) 22 14 23 - function configure_plugin(name, config) 24 - if vis:module_exist(name) then 25 - local module = require(name) 26 - config(module) 27 - end 28 - end 15 + 16 + 17 + 18 + 29 19 30 20 vis.events.subscribe(vis.events.INIT, function() 31 - configure_plugin('plugins/vis-format', function(format) 32 - vis:map(vis.modes.NORMAL, '<C-p>', ':fzf<Enter>') 33 - vis:map(vis.modes.NORMAL, '=', format.apply) 34 - end) 35 - configure_plugin('plugins/vis-lspc', function(lspc) 36 - if next(lspc) then 37 - lspc.logging = true 38 - lspc.log_file = "/tmp/lspc.log" 21 + local format = require('plugins/vis-format') 22 + vis:map(vis.modes.NORMAL, '<C-p>', ':fzf<Enter>') 23 + vis:map(vis.modes.NORMAL, '=', format.apply) 24 + local lspc = require('plugins/vis-lspc') 25 + if next(lspc) then 26 + lspc.logging = true 27 + lspc.log_file = "/tmp/lspc.log" 39 28 40 - lspc.ls_map.rust = { 41 - name = "rust", 42 - cmd = "rust-analyzer", 43 - formatting_options = {tabSize = 4, insertSpaces = true} 44 - } 45 - lspc.ls_map.lua = { 46 - name = "lua", 47 - cmd = "lua-language-server", 48 - formatting_options = { insertSpaces = false } 49 - } 50 - end 51 - end) 29 + lspc.ls_map.rust = { 30 + name = "rust", 31 + cmd = "rust-analyzer", 32 + formatting_options = {tabSize = 4, insertSpaces = true} 33 + } 34 + end 52 35 end) 53 36 54 37 55 - vis.events.subscribe(vis.events.WIN_OPEN, function() 38 + vis.events.subscribe(vis.events.WIN_OPEN, function(win) 56 39 --per-window configuration-- 57 40 --vis:command('set number') 58 - --vis:command('set showtab on') 59 - vis:command('set showspace off') 41 + vis:command('set showtab on') 42 + vis:command('set showspace on') 60 43 vis:command('set autoindent on') 61 44 vis:command('set cursorline on') 62 45 vis:command('set tabwidth 4') 63 46 end) 64 - return nil 47 + 48 + 49 + 50 +
xfce/Win95_plus/1024x1024/apps/3d_graphics_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/3d_graphics_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/Home.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/aseprite.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/aseprite_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/audio_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/audio_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/audio_music_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/brave-browser.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/brave.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/briefcase.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/calculator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/calendar.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/camera.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/cd_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/chrome.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/clock.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/contact_book.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/discord.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/firefox.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/flop_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/folder_closed.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/folder_dark.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/folder_open.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/games.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/gihtub.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/gwenview.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/image_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/image_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/krita.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/libreoffice-calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/libreoffice-writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/libreoffice_--calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/libreoffice_--writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/mail.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/microphone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/minecraft.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/movies.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/mpv.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/music.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/news.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/notepad.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/obsidian.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/okular.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/org.prismlauncher.PrismLauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/org.xfce.panel.applicationsmenu.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/org.xfce.terminalemulator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/paint.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/paint_alt.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/parsec.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/password_manager.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/phone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/printer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/prismlauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/proton-vpn-logo.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/protonvpn-app.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/protonvpn.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/recycle_bin.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/recycle_bin_full.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/script_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/search.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/signal-desktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/slack.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/sounds.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/spotify-client.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/spotify.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/spreadsheet_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/spreadsheet_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/stardew_valley.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/steam.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/sticky_note.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/text_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/text_file-default.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/text_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/text_file_2.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/this_computer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/tools.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/vesktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/video_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/video_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/video_movie_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/vlc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/vscodium.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/webpage_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/whisker-menu-button.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/workspace.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/world.png

This is a binary file and will not be displayed.

xfce/Win95_plus/1024x1024/apps/xfce4-terminal.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/3d_graphics_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/3d_graphics_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/Home.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/aseprite.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/aseprite_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/audio_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/audio_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/audio_music_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/brave-browser.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/brave.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/briefcase.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/calculator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/calendar.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/camera.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/cd_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/chrome.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/clock.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/contact_book.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/discord.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/firefox.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/flop_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/folder_closed.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/folder_dark.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/folder_open.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/games.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/github.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/gwenview.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/image_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/image_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/krita.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/libreoffice-calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/libreoffice-writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/libreoffice_--calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/libreoffice_--writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/mail.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/microphone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/minecraft.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/movies.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/mpv.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/music.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/news.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/notepad.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/obsidian.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/okular.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/org.prismlauncher.PrismLauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/org.xfce.panel.applicationsmenu.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/org.xfce.terminalemulator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/paint.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/paint_alt.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/parsec.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/password_manager.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/phone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/printer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/prismlauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/proton-vpn-logo.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/protonvpn-app.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/protonvpn.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/recycle_bin.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/recycle_bin_full.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/script_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/search.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/signal-desktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/slack.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/sounds.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/spotify-client.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/spotify.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/spreadsheet_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/spreadsheet_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/stardew_valley.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/steam.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/sticky_note.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/text_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/text_file-default.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/text_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/text_file_2.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/this_computer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/tools.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/vesktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/video_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/video_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/video_movie_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/vlc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/webpage_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/whisker-menu-button.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/workspace.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/world.png

This is a binary file and will not be displayed.

xfce/Win95_plus/256x256/apps/xfce4-terminal.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/3d_graphics_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/3d_graphics_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/Home.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/aseprite.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/aseprite_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/audio_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/audio_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/audio_music_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/brave-browser.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/brave.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/briefcase.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/calculator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/calendar.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/camera.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/cd_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/chrome.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/clock.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/contact_book.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/discord.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/firefox.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/flop_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/folder_closed.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/folder_dark.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/folder_open.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/games.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/github.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/gwenview.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/image_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/image_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/krita.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/libreoffice-calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/libreoffice-writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/libreoffice_--calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/libreoffice_--writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/mail.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/microphone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/minecraft.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/movies.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/mpv.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/music.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/news.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/notepad.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/obsidian.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/okular.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/org.prismlauncher.PrismLauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/org.xfce.panel.applicationsmenu.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/org.xfce.terminalemulator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/paint.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/paint_alt.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/parsec.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/password_manager.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/phone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/printer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/prismlauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/proton-vpn-logo.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/protonvpn-app.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/protonvpn.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/recycle_bin_empty.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/recycle_bin_full.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/script_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/search.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/signal-desktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/slack.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/sounds.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/spotify-client.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/spotify.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/spreadsheet_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/spreadsheet_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/stardew_valley.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/steam.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/sticky_note.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/text_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/text_file-default.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/text_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/text_file_2.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/this_computer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/tools.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/vesktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/video_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/video_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/video_movie_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/vlc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/webpage_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/whisker-menu-button.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/workspace.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/world.png

This is a binary file and will not be displayed.

xfce/Win95_plus/32x32/apps/xfce4-terminal.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/3d_graphics_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/3d_graphics_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/Home.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/aseprite.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/aseprite_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/audio_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/audio_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/audio_music_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/brave-browser.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/brave.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/briefcase.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/calculator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/calendar.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/camera.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/cd_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/chrome.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/clock.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/contact_book.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/discord.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/firefox.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/flop_drive.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/folder_closed.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/folder_dark.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/folder_open.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/games.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/github.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/gwenview.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/image_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/image_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/krita.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/libreoffice-calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/libreoffice-writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/libreoffice_--calc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/libreoffice_--writer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/mail.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/microphone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/minecraft.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/movies.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/mpv.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/music.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/news.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/notepad.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/obsidian.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/okular.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/org.prismlauncher.PrismLauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/org.xfce.panel.applicationsmenu.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/org.xfce.terminalemulator.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/paint.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/paint_alt.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/parsec.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/password_manager.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/phone.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/printer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/prismlauncher.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/proton-vpn-logo.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/protonvpn-app.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/protonvpn.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/recycle_bin.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/recycle_bin_full.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/script_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/search.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/signal-desktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/slack.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/sounds.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/spotify-client.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/spotify.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/spreadsheet_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/spreadsheet_program.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/stardew_valley.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/steam.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/sticky_note.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/text_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/text_file-default.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/text_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/text_file_2.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/this_computer.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/tools.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/vesktop.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/video_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/video_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/video_movie_editor.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/vlc.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/webpadge_file.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/whisker-menu-button.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/workspace.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/world.png

This is a binary file and will not be displayed.

xfce/Win95_plus/512x512/apps/xfce4-terminal.png

This is a binary file and will not be displayed.

-25
xfce/Win95_plus/index.theme
··· 1 - [Icon Theme] 2 - Name=Win95_plus 3 - Comment=Custom icon set inspired by Win95 4 - Inherits=Adwaita 5 - Directories=32x32/apps,256x256/apps,512x512/apps,1024x1024/apps 6 - 7 - [32x32/apps] 8 - Size=32 9 - Context=Applications 10 - Type=Fixed 11 - 12 - [256x256/apps] 13 - Size=256 14 - Context=Applications 15 - Type=Fixed 16 - 17 - [512x512/apps] 18 - Size=512 19 - Context=Applications 20 - Type=Fixed 21 - 22 - [1024x1024/apps] 23 - Size=1024 24 - Context=Applications 25 - Type=Fixed
-40
xfce/chicago95.nix
··· 1 - { lib 2 - , stdenvNoCC 3 - , fetchFromGitHub 4 - , 5 - }: 6 - stdenvNoCC.mkDerivation (finalAttrs: { 7 - pname = "chicago95"; 8 - version = "3.0.1"; 9 - 10 - src = fetchFromGitHub { 11 - owner = "grassmunk"; 12 - repo = "Chicago95"; 13 - rev = "v${finalAttrs.version}"; 14 - hash = "sha256-EHcDIct2VeTsjbQWnKB2kwSFNb97dxuydAu+i/VquBA="; 15 - }; 16 - 17 - dontBuild = true; 18 - 19 - installPhase = '' 20 - runHook preInstall 21 - mkdir -p $out/share/themes 22 - cp -a Theme/Chicago95 $out/share/themes 23 - runHook postInstall 24 - ''; 25 - 26 - meta = { 27 - description = "Rendition of everyone's favorite 1995 Microsoft operating system for Linux"; 28 - homepage = "https://github.com/grassmunk/Chicago95"; 29 - changelog = "https://github.com/grassmunk/Chicago95/releases/tag/v${finalAttrs.version}"; 30 - license = with lib.licenses; [ 31 - gpl3Plus # generally 32 - mit # for the lightdm greeter 33 - ]; 34 - maintainers = with lib.maintainers; [ 35 - linuxissuper 36 - jk 37 - ]; 38 - platforms = lib.platforms.all; 39 - }; 40 - })
-10
xfce/themeConfig/launcher-13/brave.desktop
··· 1 - [Desktop Entry] 2 - Version=1.0 3 - Type=Application 4 - Name=Brave 5 - GenericName=Web Browser 6 - Comment=Browse the Web 7 - Exec=brave 8 - Icon=world 9 - Terminal=false 10 - Categories=Network;WebBrowser;
-11
xfce/themeConfig/launcher-14/signal.desktop
··· 1 - [Desktop Entry] 2 - Version=1.0 3 - Type=Application 4 - Name=Signal 5 - 6 - Comment=Private Messenger 7 - Exec=signal-desktop %U 8 - Icon=signal-desktop 9 - Terminal=false 10 - Categories=Network;InstantMessaging; 11 -
-10
xfce/themeConfig/launcher-15/obsidian.desktop
··· 1 - [Desktop Entry] 2 - Version=1.0 3 - Type=Application 4 - Name=Obsidian 5 - 6 - Comment=Markdown Editor 7 - Exec=obsidian %u 8 - Icon=obsidian 9 - Terminal=false 10 - Categories=Office;Utility;
-10
xfce/themeConfig/launcher-16/spotify.desktop
··· 1 - [Desktop Entry] 2 - Version=1.0 3 - Type=Application 4 - Name=Spotify 5 - 6 - Comment=Spotify Music 7 - Exec=spotify %U 8 - Icon=spotify 9 - Terminal=false 10 - Categories=AudioVideo;Player;
-33
xfce/themeConfig/xfce4-desktop.xml
··· 1 - <?xml version="1.1" encoding="UTF-8"?> 2 - 3 - <channel name="xfce4-desktop" version="1.0"> 4 - <property name="last-settings-migration-version" type="uint" value="1"/> 5 - <property name="backdrop" type="empty"> 6 - <property name="screen0" type="empty"> 7 - <property name="monitor0" type="empty"> 8 - <property name="image-path" type="string" value="/home/user/Wallpaper/NixOS-95-wallpaper.png"/> 9 - <property name="image-show" type="bool" value="true"/> 10 - <property name="image-style" type="int" value="5"/> 11 - </property> 12 - <property name="monitoreDP-1" type="empty"> 13 - <property name="workspace0" type="empty"> 14 - <property name="last-image" type="string" value="/home/user/Wallpaper/NixOS-95-wallpaper.png"/> 15 - <property name="image-style" type="int" value="5"/> 16 - </property> 17 - </property> 18 - </property> 19 - </property> 20 - <property name="last" type="empty"> 21 - <property name="window-width" type="int" value="740"/> 22 - <property name="window-height" type="int" value="531"/> 23 - </property> 24 - <property name="desktop-icons" type="empty"> 25 - <property name="style" type="int" value="2"/> 26 - <property name="file-icons" type="empty"> 27 - <property name="show-home" type="bool" value="false"/> 28 - <property name="show-filesystem" type="bool" value="false"/> 29 - <property name="show-trash" type="bool" value="false"/> 30 - <property name="show-removable" type="bool" value="false"/> 31 - </property> 32 - </property> 33 - </channel>
-197
xfce/themeConfig/xfce4-keyboard-shortcuts.xml
··· 1 - <?xml version="1.1" encoding="UTF-8"?> 2 - 3 - <channel name="xfce4-keyboard-shortcuts" version="1.0"> 4 - <property name="commands" type="empty"> 5 - <property name="default" type="empty"> 6 - <property name="&lt;Alt&gt;F1" type="empty"/> 7 - <property name="&lt;Alt&gt;F2" type="empty"> 8 - <property name="startup-notify" type="empty"/> 9 - </property> 10 - <property name="&lt;Alt&gt;F3" type="empty"> 11 - <property name="startup-notify" type="empty"/> 12 - </property> 13 - <property name="&lt;Primary&gt;&lt;Alt&gt;Delete" type="empty"/> 14 - <property name="&lt;Primary&gt;&lt;Alt&gt;l" type="empty"/> 15 - <property name="&lt;Primary&gt;&lt;Alt&gt;t" type="empty"/> 16 - <property name="XF86Display" type="empty"/> 17 - <property name="&lt;Super&gt;p" type="empty"/> 18 - <property name="&lt;Primary&gt;Escape" type="empty"/> 19 - <property name="XF86WWW" type="empty"/> 20 - <property name="HomePage" type="empty"/> 21 - <property name="XF86Mail" type="empty"/> 22 - <property name="Print" type="empty"/> 23 - <property name="&lt;Alt&gt;Print" type="empty"/> 24 - <property name="&lt;Shift&gt;Print" type="empty"/> 25 - <property name="&lt;Super&gt;e" type="empty"/> 26 - <property name="&lt;Primary&gt;&lt;Alt&gt;f" type="empty"/> 27 - <property name="&lt;Primary&gt;&lt;Alt&gt;Escape" type="empty"/> 28 - <property name="&lt;Primary&gt;&lt;Shift&gt;Escape" type="empty"/> 29 - <property name="&lt;Super&gt;r" type="empty"> 30 - <property name="startup-notify" type="empty"/> 31 - </property> 32 - <property name="&lt;Alt&gt;&lt;Super&gt;s" type="empty"/> 33 - </property> 34 - <property name="custom" type="empty"> 35 - <property name="&lt;Alt&gt;F2" type="string" value="xfce4-appfinder --collapsed"> 36 - <property name="startup-notify" type="bool" value="true"/> 37 - </property> 38 - <property name="&lt;Alt&gt;Print" type="string" value="xfce4-screenshooter -w"/> 39 - <property name="&lt;Super&gt;r" type="string" value="xfce4-appfinder -c"> 40 - <property name="startup-notify" type="bool" value="true"/> 41 - </property> 42 - <property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/> 43 - <property name="XF86Mail" type="string" value="exo-open --launch MailReader"/> 44 - <property name="&lt;Alt&gt;F3" type="string" value="xfce4-appfinder"> 45 - <property name="startup-notify" type="bool" value="true"/> 46 - </property> 47 - <property name="Print" type="string" value="xfce4-screenshooter"/> 48 - <property name="&lt;Primary&gt;Escape" type="string" value="xfdesktop --menu"/> 49 - <property name="&lt;Shift&gt;Print" type="string" value="xfce4-screenshooter -r"/> 50 - <property name="&lt;Primary&gt;&lt;Alt&gt;Delete" type="string" value="xfce4-session-logout"/> 51 - <property name="&lt;Alt&gt;&lt;Super&gt;s" type="string" value="orca"/> 52 - <property name="&lt;Primary&gt;&lt;Alt&gt;t" type="string" value="exo-open --launch TerminalEmulator"/> 53 - <property name="&lt;Primary&gt;&lt;Alt&gt;f" type="string" value="thunar"/> 54 - <property name="&lt;Primary&gt;&lt;Alt&gt;l" type="string" value="xflock4"/> 55 - <property name="&lt;Super&gt;l" type="string" value="xflock4"/> 56 - <property name="&lt;Alt&gt;F1" type="string" value="xfce4-popup-applicationsmenu"/> 57 - <property name="&lt;Super&gt;p" type="string" value="xfce4-display-settings --minimal"/> 58 - <property name="&lt;Primary&gt;&lt;Shift&gt;Escape" type="string" value="xfce4-taskmanager"/> 59 - <property name="&lt;Super&gt;e" type="string" value="thunar"/> 60 - <property name="&lt;Primary&gt;&lt;Alt&gt;Escape" type="string" value="xkill"/> 61 - <property name="HomePage" type="string" value="exo-open --launch WebBrowser"/> 62 - <property name="XF86Display" type="string" value="xfce4-display-settings --minimal"/> 63 - <property name="override" type="bool" value="true"/> 64 - </property> 65 - </property> 66 - <property name="xfwm4" type="empty"> 67 - <property name="default" type="empty"> 68 - <property name="&lt;Alt&gt;Insert" type="empty"/> 69 - <property name="Escape" type="empty"/> 70 - <property name="Left" type="empty"/> 71 - <property name="Right" type="empty"/> 72 - <property name="Up" type="empty"/> 73 - <property name="Down" type="empty"/> 74 - <property name="&lt;Alt&gt;Tab" type="empty"/> 75 - <property name="&lt;Alt&gt;&lt;Shift&gt;Tab" type="empty"/> 76 - <property name="&lt;Alt&gt;Delete" type="empty"/> 77 - <property name="&lt;Primary&gt;&lt;Alt&gt;Down" type="empty"/> 78 - <property name="&lt;Primary&gt;&lt;Alt&gt;Left" type="empty"/> 79 - <property name="&lt;Shift&gt;&lt;Alt&gt;Page_Down" type="empty"/> 80 - <property name="&lt;Alt&gt;F4" type="empty"/> 81 - <property name="&lt;Alt&gt;F6" type="empty"/> 82 - <property name="&lt;Alt&gt;F7" type="empty"/> 83 - <property name="&lt;Alt&gt;F8" type="empty"/> 84 - <property name="&lt;Alt&gt;F9" type="empty"/> 85 - <property name="&lt;Alt&gt;F10" type="empty"/> 86 - <property name="&lt;Alt&gt;F11" type="empty"/> 87 - <property name="&lt;Alt&gt;F12" type="empty"/> 88 - <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Left" type="empty"/> 89 - <property name="&lt;Primary&gt;&lt;Alt&gt;End" type="empty"/> 90 - <property name="&lt;Primary&gt;&lt;Alt&gt;Home" type="empty"/> 91 - <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Right" type="empty"/> 92 - <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Up" type="empty"/> 93 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_1" type="empty"/> 94 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_2" type="empty"/> 95 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_3" type="empty"/> 96 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_4" type="empty"/> 97 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_5" type="empty"/> 98 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_6" type="empty"/> 99 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_7" type="empty"/> 100 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_8" type="empty"/> 101 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_9" type="empty"/> 102 - <property name="&lt;Alt&gt;space" type="empty"/> 103 - <property name="&lt;Shift&gt;&lt;Alt&gt;Page_Up" type="empty"/> 104 - <property name="&lt;Primary&gt;&lt;Alt&gt;Right" type="empty"/> 105 - <property name="&lt;Primary&gt;&lt;Alt&gt;d" type="empty"/> 106 - <property name="&lt;Primary&gt;&lt;Alt&gt;Up" type="empty"/> 107 - <property name="&lt;Super&gt;Tab" type="xfce4-popup-applicationsmenu"/> 108 - <property name="&lt;Primary&gt;F1" type="empty"/> 109 - <property name="&lt;Primary&gt;F2" type="empty"/> 110 - <property name="&lt;Primary&gt;F3" type="empty"/> 111 - <property name="&lt;Primary&gt;F4" type="empty"/> 112 - <property name="&lt;Primary&gt;F5" type="empty"/> 113 - <property name="&lt;Primary&gt;F6" type="empty"/> 114 - <property name="&lt;Primary&gt;F7" type="empty"/> 115 - <property name="&lt;Primary&gt;F8" type="empty"/> 116 - <property name="&lt;Primary&gt;F9" type="empty"/> 117 - <property name="&lt;Primary&gt;F10" type="empty"/> 118 - <property name="&lt;Primary&gt;F11" type="empty"/> 119 - <property name="&lt;Primary&gt;F12" type="empty"/> 120 - <property name="&lt;Super&gt;KP_Left" type="empty"/> 121 - <property name="&lt;Super&gt;KP_Right" type="empty"/> 122 - <property name="&lt;Super&gt;KP_Down" type="empty"/> 123 - <property name="&lt;Super&gt;KP_Up" type="empty"/> 124 - <property name="&lt;Super&gt;KP_Page_Up" type="empty"/> 125 - <property name="&lt;Super&gt;KP_Home" type="empty"/> 126 - <property name="&lt;Super&gt;KP_End" type="empty"/> 127 - <property name="&lt;Super&gt;KP_Next" type="empty"/> 128 - </property> 129 - <property name="custom" type="empty"> 130 - <property name="&lt;Primary&gt;F12" type="string" value="workspace_12_key"/> 131 - <property name="&lt;Super&gt;KP_Down" type="string" value="tile_down_key"/> 132 - <property name="&lt;Alt&gt;F4" type="string" value="close_window_key"/> 133 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_3" type="string" value="move_window_workspace_3_key"/> 134 - <property name="&lt;Primary&gt;F2" type="string" value="workspace_2_key"/> 135 - <property name="&lt;Primary&gt;F6" type="string" value="workspace_6_key"/> 136 - <property name="&lt;Primary&gt;&lt;Alt&gt;Down" type="string" value="down_workspace_key"/> 137 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_9" type="string" value="move_window_workspace_9_key"/> 138 - <property name="&lt;Super&gt;KP_Up" type="string" value="tile_up_key"/> 139 - <property name="&lt;Primary&gt;&lt;Alt&gt;End" type="string" value="move_window_next_workspace_key"/> 140 - <property name="&lt;Primary&gt;F8" type="string" value="workspace_8_key"/> 141 - <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Left" type="string" value="move_window_left_key"/> 142 - <property name="&lt;Super&gt;KP_Right" type="string" value="tile_right_key"/> 143 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_4" type="string" value="move_window_workspace_4_key"/> 144 - <property name="Right" type="string" value="right_key"/> 145 - <property name="Down" type="string" value="down_key"/> 146 - <property name="&lt;Primary&gt;F3" type="string" value="workspace_3_key"/> 147 - <property name="&lt;Shift&gt;&lt;Alt&gt;Page_Down" type="string" value="lower_window_key"/> 148 - <property name="&lt;Primary&gt;F9" type="string" value="workspace_9_key"/> 149 - <property name="&lt;Alt&gt;Tab" type="string" value="cycle_windows_key"/> 150 - <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Right" type="string" value="move_window_right_key"/> 151 - <property name="&lt;Primary&gt;&lt;Alt&gt;Right" type="string" value="right_workspace_key"/> 152 - <property name="&lt;Alt&gt;F6" type="string" value="stick_window_key"/> 153 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_5" type="string" value="move_window_workspace_5_key"/> 154 - <property name="&lt;Primary&gt;F11" type="string" value="workspace_11_key"/> 155 - <property name="&lt;Alt&gt;F10" type="string" value="maximize_window_key"/> 156 - <property name="&lt;Alt&gt;Delete" type="string" value="del_workspace_key"/> 157 - <property name="&lt;Super&gt;Tab" type="string" value="switch_window_key"/> 158 - <property name="&lt;Primary&gt;&lt;Alt&gt;d" type="string" value="show_desktop_key"/> 159 - <property name="&lt;Primary&gt;F4" type="string" value="workspace_4_key"/> 160 - <property name="&lt;Super&gt;KP_Page_Up" type="string" value="tile_up_right_key"/> 161 - <property name="&lt;Alt&gt;F7" type="string" value="move_window_key"/> 162 - <property name="Up" type="string" value="up_key"/> 163 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_6" type="string" value="move_window_workspace_6_key"/> 164 - <property name="&lt;Alt&gt;F11" type="string" value="fullscreen_key"/> 165 - <property name="&lt;Alt&gt;space" type="string" value="popup_menu_key"/> 166 - <property name="&lt;Super&gt;KP_Home" type="string" value="tile_up_left_key"/> 167 - <property name="Escape" type="string" value="cancel_key"/> 168 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_1" type="string" value="move_window_workspace_1_key"/> 169 - <property name="&lt;Super&gt;KP_Next" type="string" value="tile_down_right_key"/> 170 - <property name="&lt;Super&gt;KP_Left" type="string" value="tile_left_key"/> 171 - <property name="&lt;Shift&gt;&lt;Alt&gt;Page_Up" type="string" value="raise_window_key"/> 172 - <property name="&lt;Primary&gt;&lt;Alt&gt;Home" type="string" value="move_window_prev_workspace_key"/> 173 - <property name="&lt;Alt&gt;&lt;Shift&gt;Tab" type="string" value="cycle_reverse_windows_key"/> 174 - <property name="&lt;Primary&gt;&lt;Alt&gt;Left" type="string" value="left_workspace_key"/> 175 - <property name="&lt;Alt&gt;F12" type="string" value="above_key"/> 176 - <property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Up" type="string" value="move_window_up_key"/> 177 - <property name="&lt;Primary&gt;F5" type="string" value="workspace_5_key"/> 178 - <property name="&lt;Alt&gt;F8" type="string" value="resize_window_key"/> 179 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_7" type="string" value="move_window_workspace_7_key"/> 180 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_2" type="string" value="move_window_workspace_2_key"/> 181 - <property name="&lt;Super&gt;KP_End" type="string" value="tile_down_left_key"/> 182 - <property name="&lt;Primary&gt;&lt;Alt&gt;Up" type="string" value="up_workspace_key"/> 183 - <property name="&lt;Alt&gt;F9" type="string" value="hide_window_key"/> 184 - <property name="&lt;Primary&gt;F7" type="string" value="workspace_7_key"/> 185 - <property name="&lt;Primary&gt;F10" type="string" value="workspace_10_key"/> 186 - <property name="Left" type="string" value="left_key"/> 187 - <property name="&lt;Primary&gt;&lt;Alt&gt;KP_8" type="string" value="move_window_workspace_8_key"/> 188 - <property name="&lt;Alt&gt;Insert" type="string" value="add_workspace_key"/> 189 - <property name="&lt;Primary&gt;F1" type="string" value="workspace_1_key"/> 190 - <property name="override" type="bool" value="true"/> 191 - </property> 192 - </property> 193 - <property name="providers" type="array"> 194 - <value type="string" value="xfwm4"/> 195 - <value type="string" value="commands"/> 196 - </property> 197 - </channel>
-81
xfce/themeConfig/xfce4-panel.xml
··· 1 - <?xml version="1.1" encoding="UTF-8"?> 2 - 3 - <channel name="xfce4-panel" version="1.0"> 4 - <property name="configver" type="int" value="2"/> 5 - <property name="panels" type="array"> 6 - <value type="int" value="1"/> 7 - <property name="dark-mode" type="bool" value="true"/> 8 - <property name="panel-1" type="empty"> 9 - <property name="position" type="string" value="p=8;x=1368;y=1810"/> 10 - <property name="length" type="double" value="100"/> 11 - <property name="position-locked" type="bool" value="true"/> 12 - <property name="icon-size" type="uint" value="0"/> 13 - <property name="size" type="uint" value="36"/> 14 - <property name="plugin-ids" type="array"> 15 - <value type="int" value="1"/> 16 - <value type="int" value="13"/> 17 - <value type="int" value="14"/> 18 - <value type="int" value="15"/> 19 - <value type="int" value="16"/> 20 - <value type="int" value="2"/> 21 - <value type="int" value="5"/> 22 - <value type="int" value="6"/> 23 - <value type="int" value="8"/> 24 - <value type="int" value="10"/> 25 - </property> 26 - <property name="mode" type="uint" value="0"/> 27 - <property name="background-style" type="uint" value="0"/> 28 - </property> 29 - </property> 30 - <property name="plugins" type="empty"> 31 - <property name="plugin-1" type="string" value="whiskermenu"> 32 - <property name="button-icon" type="string" value="whisker-menu-button"/> 33 - <property name="recent" type="array"> 34 - <value type="string" value="codium.desktop"/> 35 - </property> 36 - </property> 37 - <property name="plugin-2" type="string" value="tasklist"> 38 - <property name="grouping" type="uint" value="1"/> 39 - </property> 40 - <property name="plugin-6" type="string" value="systray"> 41 - <property name="square-icons" type="bool" value="true"/> 42 - <property name="known-legacy-items" type="array"> 43 - <value type="string" value="networkmanager applet"/> 44 - </property> 45 - </property> 46 - <property name="plugin-8" type="string" value="clock"> 47 - <property name="mode" type="uint" value="2"/> 48 - <property name="digital-layout" type="uint" value="3"/> 49 - <property name="digital-time-font" type="string" value="Sans 12"/> 50 - </property> 51 - <property name="plugin-10" type="string" value="actions"/> 52 - <property name="plugin-13" type="string" value="launcher"> 53 - <property name="show-label" type="bool" value="false"/> 54 - <property name="items" type="array"> 55 - <value type="string" value="brave.desktop"/> 56 - </property> 57 - </property> 58 - <property name="plugin-14" type="string" value="launcher"> 59 - <property name="show-label" type="bool" value="false"/> 60 - <property name="items" type="array"> 61 - <value type="string" value="signal.desktop"/> 62 - </property> 63 - </property> 64 - <property name="plugin-15" type="string" value="launcher"> 65 - <property name="show-label" type="bool" value="false"/> 66 - <property name="items" type="array"> 67 - <value type="string" value="obsidian.desktop"/> 68 - </property> 69 - </property> 70 - <property name="plugin-16" type="string" value="launcher"> 71 - <property name="show-label" type="bool" value="false"/> 72 - <property name="items" type="array"> 73 - <value type="string" value="spotify.desktop"/> 74 - </property> 75 - </property> 76 - <property name="plugin-5" type="string" value="separator"> 77 - <property name="expand" type="bool" value="true"/> 78 - <property name="style" type="uint" value="0"/> 79 - </property> 80 - </property> 81 - </channel>
-6
xfce/themeConfig/xfce4-sessions.xml
··· 1 - <?xml version="1.0" encoding="UTF-8"?> 2 - <channel name="xfce4-session" version="1.0"> 3 - <property name="General"> 4 - <property name="SaveOnExit" type="bool" value="false"/> 5 - </property> 6 - </channel>
-91
xfce/themeConfig/xfwm4.xml
··· 1 - <?xml version="1.1" encoding="UTF-8"?> 2 - 3 - <channel name="xfwm4" version="1.0"> 4 - <property name="general" type="empty"> 5 - <property name="activate_action" type="string" value="bring"/> 6 - <property name="borderless_maximize" type="bool" value="true"/> 7 - <property name="box_move" type="bool" value="false"/> 8 - <property name="box_resize" type="bool" value="false"/> 9 - <property name="button_layout" type="string" value="O|SHMC"/> 10 - <property name="button_offset" type="int" value="0"/> 11 - <property name="button_spacing" type="int" value="0"/> 12 - <property name="click_to_focus" type="bool" value="true"/> 13 - <property name="cycle_apps_only" type="bool" value="false"/> 14 - <property name="cycle_draw_frame" type="bool" value="true"/> 15 - <property name="cycle_raise" type="bool" value="false"/> 16 - <property name="cycle_hidden" type="bool" value="true"/> 17 - <property name="cycle_minimum" type="bool" value="true"/> 18 - <property name="cycle_minimized" type="bool" value="false"/> 19 - <property name="cycle_preview" type="bool" value="true"/> 20 - <property name="cycle_tabwin_mode" type="int" value="0"/> 21 - <property name="cycle_workspaces" type="bool" value="false"/> 22 - <property name="double_click_action" type="string" value="maximize"/> 23 - <property name="double_click_distance" type="int" value="5"/> 24 - <property name="double_click_time" type="int" value="250"/> 25 - <property name="easy_click" type="string" value="Alt"/> 26 - <property name="focus_delay" type="int" value="250"/> 27 - <property name="focus_hint" type="bool" value="true"/> 28 - <property name="focus_new" type="bool" value="true"/> 29 - <property name="frame_opacity" type="int" value="100"/> 30 - <property name="frame_border_top" type="int" value="0"/> 31 - <property name="full_width_title" type="bool" value="true"/> 32 - <property name="horiz_scroll_opacity" type="bool" value="false"/> 33 - <property name="inactive_opacity" type="int" value="100"/> 34 - <property name="maximized_offset" type="int" value="0"/> 35 - <property name="mousewheel_rollup" type="bool" value="true"/> 36 - <property name="move_opacity" type="int" value="100"/> 37 - <property name="placement_mode" type="string" value="center"/> 38 - <property name="placement_ratio" type="int" value="20"/> 39 - <property name="popup_opacity" type="int" value="100"/> 40 - <property name="prevent_focus_stealing" type="bool" value="false"/> 41 - <property name="raise_delay" type="int" value="250"/> 42 - <property name="raise_on_click" type="bool" value="true"/> 43 - <property name="raise_on_focus" type="bool" value="false"/> 44 - <property name="raise_with_any_button" type="bool" value="true"/> 45 - <property name="repeat_urgent_blink" type="bool" value="false"/> 46 - <property name="resize_opacity" type="int" value="100"/> 47 - <property name="scroll_workspaces" type="bool" value="true"/> 48 - <property name="shadow_delta_height" type="int" value="0"/> 49 - <property name="shadow_delta_width" type="int" value="0"/> 50 - <property name="shadow_delta_x" type="int" value="0"/> 51 - <property name="shadow_delta_y" type="int" value="-3"/> 52 - <property name="shadow_opacity" type="int" value="50"/> 53 - <property name="show_app_icon" type="bool" value="false"/> 54 - <property name="show_dock_shadow" type="bool" value="true"/> 55 - <property name="show_frame_shadow" type="bool" value="true"/> 56 - <property name="show_popup_shadow" type="bool" value="false"/> 57 - <property name="snap_resist" type="bool" value="false"/> 58 - <property name="snap_to_border" type="bool" value="true"/> 59 - <property name="snap_to_windows" type="bool" value="false"/> 60 - <property name="snap_width" type="int" value="10"/> 61 - <property name="vblank_mode" type="string" value="auto"/> 62 - <property name="theme" type="string" value="Default"/> 63 - <property name="tile_on_move" type="bool" value="true"/> 64 - <property name="title_alignment" type="string" value="center"/> 65 - <property name="title_font" type="string" value="Sans Bold 9"/> 66 - <property name="title_horizontal_offset" type="int" value="0"/> 67 - <property name="titleless_maximize" type="bool" value="false"/> 68 - <property name="title_shadow_active" type="string" value="false"/> 69 - <property name="title_shadow_inactive" type="string" value="false"/> 70 - <property name="title_vertical_offset_active" type="int" value="0"/> 71 - <property name="title_vertical_offset_inactive" type="int" value="0"/> 72 - <property name="toggle_workspaces" type="bool" value="false"/> 73 - <property name="unredirect_overlays" type="bool" value="true"/> 74 - <property name="urgent_blink" type="bool" value="false"/> 75 - <property name="use_compositing" type="bool" value="true"/> 76 - <property name="workspace_count" type="int" value="4"/> 77 - <property name="wrap_cycle" type="bool" value="true"/> 78 - <property name="wrap_layout" type="bool" value="true"/> 79 - <property name="wrap_resistance" type="int" value="10"/> 80 - <property name="wrap_windows" type="bool" value="true"/> 81 - <property name="wrap_workspaces" type="bool" value="false"/> 82 - <property name="zoom_desktop" type="bool" value="true"/> 83 - <property name="zoom_pointer" type="bool" value="true"/> 84 - <property name="workspace_names" type="array"> 85 - <value type="string" value="Workspace 1"/> 86 - <value type="string" value="Workspace 2"/> 87 - <value type="string" value="Workspace 3"/> 88 - <value type="string" value="Workspace 4"/> 89 - </property> 90 - </property> 91 - </channel>
-45
xfce/themeConfig/xsettings.xml
··· 1 - <?xml version="1.1" encoding="UTF-8"?> 2 - 3 - <channel name="xsettings" version="1.0"> 4 - <property name="Net" type="empty"> 5 - <property name="ThemeName" type="string" value="Chicago95"/> 6 - <property name="IconThemeName" type="string" value="Chicago95"/> 7 - <property name="DoubleClickTime" type="empty"/> 8 - <property name="DoubleClickDistance" type="empty"/> 9 - <property name="DndDragThreshold" type="empty"/> 10 - <property name="CursorBlink" type="empty"/> 11 - <property name="CursorBlinkTime" type="empty"/> 12 - <property name="SoundThemeName" type="empty"/> 13 - <property name="EnableEventSounds" type="empty"/> 14 - <property name="EnableInputFeedbackSounds" type="empty"/> 15 - </property> 16 - <property name="Xft" type="empty"> 17 - <property name="DPI" type="int" value="100"/> 18 - <property name="Antialias" type="empty"/> 19 - <property name="Hinting" type="empty"/> 20 - <property name="HintStyle" type="empty"/> 21 - <property name="RGBA" type="empty"/> 22 - </property> 23 - <property name="Gtk" type="empty"> 24 - <property name="CanChangeAccels" type="empty"/> 25 - <property name="ColorPalette" type="empty"/> 26 - <property name="FontName" type="empty"/> 27 - <property name="MonospaceFontName" type="empty"/> 28 - <property name="IconSizes" type="empty"/> 29 - <property name="KeyThemeName" type="empty"/> 30 - <property name="MenuImages" type="empty"/> 31 - <property name="ButtonImages" type="empty"/> 32 - <property name="MenuBarAccel" type="empty"/> 33 - <property name="CursorThemeName" type="string" value="Chicago95"/> 34 - <property name="CursorThemeSize" type="empty"/> 35 - <property name="DecorationLayout" type="string" value="icon,menu:minimize,maximize,close"/> 36 - <property name="DialogsUseHeader" type="empty"/> 37 - <property name="TitlebarMiddleClick" type="empty"/> 38 - </property> 39 - <property name="Gdk" type="empty"> 40 - <property name="WindowScalingFactor" type="empty"/> 41 - </property> 42 - <property name="Xfce" type="empty"> 43 - <property name="LastCustomDPI" type="int" value="100"/> 44 - </property> 45 - </channel>
-64
xfce/win95_plus.nix
··· 1 - { lib, stdenvNoCC, fetchFromGitHub, ... }: 2 - 3 - stdenvNoCC.mkDerivation (finalAttrs: { 4 - pname = "win95-plus-theme"; 5 - version = "1.0.0"; 6 - 7 - 8 - src = ./Win95_plus; # directory containing icons_32x32 etc. Ressources/Icons/Win95_plus/index.theme 9 - 10 - dontBuild = true; 11 - 12 - installPhase = '' 13 - runHook preInstall 14 - 15 - mkdir -p $out/share/icons/Win95_plus/{32x32,256x256,512x512,1024x1024}/apps 16 - 17 - cp -a $src/32x32/apps/*.png $out/share/icons/Win95_plus/32x32/apps/ 18 - cp -a $src/256x256/apps/*.png $out/share/icons/Win95_plus/256x256/apps/ || true 19 - cp -a $src/512x512/apps/*.png $out/share/icons/Win95_plus/512x512/apps/ 20 - cp -a $src/1024x1024/apps/*.png $out/share/icons/Win95_plus/1024x1024/apps/ 21 - 22 - # Use the provided index.theme (preferred) 23 - if [ -f "$src/index.theme" ]; then 24 - cp $src/index.theme $out/share/icons/Win95_plus/index.theme 25 - else 26 - # fallback to hardcoded theme 27 - cat > $out/share/icons/Win95_plus/index.theme <<EOF 28 - 29 - [Icon Theme] 30 - Name=Win95_plus 31 - Comment=Custom icon theme based on Windows 95 32 - Inherits=Chicago95 33 - Directories=32x32/apps,256x256/apps,512x512/apps,1024x1024/apps 34 - 35 - [32x32/apps] 36 - Size=32 37 - Context=Applications 38 - Type=Fixed 39 - 40 - [256x256/apps] 41 - Size=256 42 - Context=Applications 43 - Type=Fixed 44 - 45 - [512x512/apps] 46 - Size=512 47 - Context=Applications 48 - Type=Fixed 49 - 50 - [1024x1024/apps] 51 - Size=1024 52 - Context=Applications 53 - Type=Fixed 54 - EOF 55 - fi 56 - 57 - runHook postInstall 58 - ''; 59 - 60 - meta = { 61 - description = "Custom Win95-like icon theme"; 62 - homepage = ""; 63 - }; 64 - })