Configuration for my NixOS based systems and Home Manager

Compare changes

Choose any two refs to compare.

+1732 -1513
-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" ]; 10 6 }
+7 -3
configuration.nix
··· 3 3 # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). 4 4 5 5 { ... }: 6 - 6 + let 7 + agenix = builtins.fetchTarball "https://github.com/ryantm/agenix/archive/main.tar.gz"; 8 + in 7 9 { 8 10 imports = 9 11 [ ··· 11 13 ./hardware-configuration.nix 12 14 ./boot.nix 13 15 ./networking.nix 14 - #./gui.nix 16 + ./gui.nix 17 + (import "${agenix}/modules/age.nix") 15 18 ./users.nix 16 19 ./packages.nix 17 20 ./services.nix 18 21 ]; 22 + 19 23 # Set your time zone. 20 24 time.timeZone = "America/Chicago"; 21 25 ··· 30 34 # Copy the NixOS configuration file and link it from the resulting system 31 35 # (/run/current-system/configuration.nix). This is useful in case you 32 36 # accidentally delete configuration.nix. 33 - #system.copySystemConfiguration = true; 37 + system.copySystemConfiguration = true; 34 38 35 39 # Automatic doc cache generation 36 40 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 - }
+10 -4
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/" 20 27 21 28 if test -d "~/repos" 22 29 alias r "cd ~/repos" ··· 38 45 end 39 46 40 47 # NATS config 41 - set -Ux NATS_URL tls://misaki.local 48 + set -Ux NATS_URL tls://nats.packetlost.dev 42 49 set -Ux NATS_CA /srv/nats/minica.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 - 50 + set -Ux NATS_CERT /srv/nats/odin.packetlost.dev/cert.pem 51 + set -Ux NATS_KEY /srv/nats/odin.packetlost.dev/key.pem 46 52 47 53 # Keybindings 48 54 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 5 2 fzf_key_bindings 6 3 bind \co 'lfcd; commandline -f repaint' 7 4 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
+26 -312
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 - }, 105 3 "flake-compat": { 106 4 "flake": false, 107 5 "locked": { 108 - "lastModified": 1696426674, 109 - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", 110 - "owner": "edolstra", 111 - "repo": "flake-compat", 112 - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", 113 - "type": "github" 114 - }, 115 - "original": { 6 + "lastModified": 1747046372, 7 + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", 116 8 "owner": "edolstra", 117 9 "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", 10 + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", 129 11 "type": "github" 130 12 }, 131 13 "original": { ··· 134 16 "type": "github" 135 17 } 136 18 }, 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 - }, 184 19 "gitignore": { 185 20 "inputs": { 186 21 "nixpkgs": [ ··· 205 40 "home-manager": { 206 41 "inputs": { 207 42 "nixpkgs": [ 208 - "agenix", 209 43 "nixpkgs" 210 44 ] 211 45 }, 212 46 "locked": { 213 - "lastModified": 1745494811, 214 - "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=", 47 + "lastModified": 1747688870, 48 + "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=", 215 49 "owner": "nix-community", 216 50 "repo": "home-manager", 217 - "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be", 51 + "rev": "d5f1f641b289553927b3801580598d200a501863", 218 52 "type": "github" 219 53 }, 220 54 "original": { 221 55 "owner": "nix-community", 56 + "ref": "release-24.11", 222 57 "repo": "home-manager", 223 58 "type": "github" 224 59 } 225 60 }, 226 - "home-manager_2": { 227 - "inputs": { 228 - "nixpkgs": [ 229 - "nixpkgs" 230 - ] 231 - }, 232 - "locked": { 233 - "lastModified": 1767024057, 234 - "narHash": "sha256-B1aycRjMRvb6QOGbnqDhiDzZwMebj5jxZ5qyJzaKvpI=", 235 - "owner": "nix-community", 236 - "repo": "home-manager", 237 - "rev": "34578a2fdfce4257ce5f5baf6e7efbd4e4e252b1", 238 - "type": "github" 239 - }, 240 - "original": { 241 - "owner": "nix-community", 242 - "ref": "release-25.11", 243 - "repo": "home-manager", 244 - "type": "github" 245 - } 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 - }, 268 61 "nixpkgs": { 269 62 "locked": { 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", 63 + "lastModified": 1751274312, 64 + "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", 65 + "owner": "nixos", 289 66 "repo": "nixpkgs", 290 - "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", 67 + "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", 291 68 "type": "github" 292 69 }, 293 70 "original": { 294 - "owner": "NixOS", 71 + "owner": "nixos", 72 + "ref": "nixos-24.11", 295 73 "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", 305 - "repo": "nixpkgs", 306 - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", 307 - "type": "github" 308 - }, 309 - "original": { 310 - "owner": "NixOS", 311 - "repo": "nixpkgs", 312 - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", 313 74 "type": "github" 314 75 } 315 76 }, 316 77 "nixpkgs-unstable": { 317 78 "locked": { 318 - "lastModified": 1766902085, 319 - "narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=", 79 + "lastModified": 1756386758, 80 + "narHash": "sha256-1wxxznpW2CKvI9VdniaUnTT2Os6rdRJcRUf65ZK9OtE=", 320 81 "owner": "nixos", 321 82 "repo": "nixpkgs", 322 - "rev": "c0b0e0fddf73fd517c3471e546c0df87a42d53f4", 83 + "rev": "dfb2f12e899db4876308eba6d93455ab7da304cd", 323 84 "type": "github" 324 85 }, 325 86 "original": { ··· 331 92 }, 332 93 "nixpkgs_2": { 333 94 "locked": { 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=", 95 + "lastModified": 1754340878, 96 + "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", 366 97 "owner": "NixOS", 367 98 "repo": "nixpkgs", 368 - "rev": "a672be65651c80d3f592a89b3945466584a22069", 99 + "rev": "cab778239e705082fe97bb4990e0d24c50924c04", 369 100 "type": "github" 370 101 }, 371 102 "original": { ··· 377 108 }, 378 109 "pre-commit-hooks": { 379 110 "inputs": { 380 - "flake-compat": "flake-compat_2", 111 + "flake-compat": "flake-compat", 381 112 "gitignore": "gitignore", 382 - "nixpkgs": "nixpkgs_4" 113 + "nixpkgs": "nixpkgs_2" 383 114 }, 384 115 "locked": { 385 - "lastModified": 1765911976, 386 - "narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=", 116 + "lastModified": 1755960406, 117 + "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", 387 118 "owner": "cachix", 388 119 "repo": "git-hooks.nix", 389 - "rev": "b68b780b69702a090c8bb1b973bab13756cc7a27", 120 + "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", 390 121 "type": "github" 391 122 }, 392 123 "original": { ··· 397 128 }, 398 129 "root": { 399 130 "inputs": { 400 - "agenix": "agenix", 401 - "determinite": "determinite", 402 - "home-manager": "home-manager_2", 403 - "nixpkgs": "nixpkgs_3", 131 + "home-manager": "home-manager", 132 + "nixpkgs": "nixpkgs", 404 133 "nixpkgs-unstable": "nixpkgs-unstable", 405 134 "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" 421 135 } 422 136 } 423 137 },
+10 -83
flake.nix
··· 1 1 { 2 - description = "Home Manager configuration for noah"; 2 + description = "Home Manager configuration of noah"; 3 3 4 4 inputs = { 5 5 # Specify the source of Home Manager and Nixpkgs. 6 - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; 6 + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.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 - }; 12 8 home-manager = { 13 - url = "github:nix-community/home-manager/release-25.11"; 9 + url = "github:nix-community/home-manager/release-24.11"; 14 10 inputs.nixpkgs.follows = "nixpkgs"; 15 11 }; 16 12 pre-commit-hooks.url = "github:cachix/git-hooks.nix"; 17 - agenix.url = "github:ryantm/agenix"; 18 13 }; 19 14 20 - outputs = 21 - { self 22 - , nixpkgs 23 - , nixpkgs-unstable 24 - , determinite 25 - , home-manager 26 - , pre-commit-hooks 27 - , agenix 28 - , ... 29 - }@inputs: 15 + outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, pre-commit-hooks, ... }@inputs: 30 16 let 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 - ]; 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" ]; 69 21 forAllSystems = nixpkgs.lib.genAttrs supportedSystems; 70 22 in 71 23 { 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 - }; 93 24 homeConfigurations."noah" = home-manager.lib.homeManagerConfiguration { 94 25 inherit pkgs; 95 26 ··· 100 31 # Optionally use extraSpecialArgs 101 32 # to pass through arguments to home.nix 102 33 extraSpecialArgs = { 103 - inherit unstable; 34 + unstable = unstable-pkgs; 104 35 }; 105 36 }; 106 37 checks = forAllSystems (system: { ··· 118 49 devShells = forAllSystems (system: { 119 50 default = nixpkgs.legacyPackages.${system}.mkShell { 120 51 inherit (self.checks.${system}.pre-commit-check) shellHook; 121 - buildInputs = [ 122 - pkgs.nixfmt-rfc-style 123 - ] 124 - ++ self.checks.${system}.pre-commit-check.enabledPackages; 52 + buildInputs = self.checks.${system}.pre-commit-check.enabledPackages; 125 53 }; 126 54 }); 127 - formatter.${system} = inputs.nixpkgs.legacyPackages.${system}.nixfmt-rfc-style; 128 55 }; 129 56 }
+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; 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" ]; 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" ]; 17 16 boot.extraModulePackages = [ ]; 18 17 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 + 19 42 fileSystems."/" = 20 43 { 21 - device = "/dev/disk/by-uuid/1988fa0d-ff4a-44aa-a93e-7f0bf3cea5cf"; 44 + device = "/dev/disk/by-uuid/9a7cbffe-6c10-4220-bb99-4dcea8181dcc"; 22 45 fsType = "ext4"; 23 46 }; 24 47 25 48 fileSystems."/boot" = 26 49 { 27 - device = "/dev/disk/by-uuid/81D4-01CD"; 50 + device = "/dev/disk/by-uuid/9AC5-62C3"; 28 51 fsType = "vfat"; 52 + options = [ "fmask=0077" "dmask=0077" ]; 29 53 }; 30 54 31 - swapDevices = [ ]; 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 + }; 32 61 33 62 # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 34 63 # (the default) this is the recommended approach. When using systemd-networkd it's 35 64 # still possible to use this option, but it's recommended to use it in conjunction 36 65 # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. 37 66 networking.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; 67 + # networking.interfaces.enp191s0.useDHCP = lib.mkDefault true; 68 + # networking.interfaces.wlp192s0.useDHCP = lib.mkDefault true; 41 69 42 70 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 43 71 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 Variable Regular 1 + font_family Berkeley Mono 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 auto 7 - italic_font auto 8 - bold_italic_font auto 6 + bold_font Berkeley Mono Bold 7 + italic_font Berkeley Mono Italic 8 + bold_italic_font Berkeley Mono BoldItalic 9 9 font_size 13.0 10 10 #font_size 12.0 11 11
+20 -63
networking.nix
··· 1 - { config, ... }: 1 + { ... }: 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 = "misaki"; 7 + networking.hostName = "shizuri"; 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 - 45 18 networking.useNetworkd = true; 46 19 # TODO: static IP @ 192.168.1.2 47 20 ··· 54 27 # Or disable the firewall altogether. 55 28 # TODO: allow some ports 56 29 networking.firewall = { 57 - enable = true; 30 + enable = false; 58 31 allowPing = true; 59 - trustedInterfaces = [ 60 - "tailscale0" 61 - ]; 62 - allowedUDPPorts = [ 63 - # DNS 64 - 53 65 - config.services.tailscale.port 66 - ]; 32 + allowedUDPPorts = [ ]; 67 33 allowedTCPPorts = [ 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 34 + 1234 35 + 2375 93 36 ]; 94 37 }; 95 38 ··· 108 51 }; 109 52 }; 110 53 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 + }; 111 68 }
+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 - }
+78 -31
packages.nix
··· 1 - { pkgs, lib, inputs, ... }: 1 + { pkgs, lib, ... }: 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 47 48 neovim 48 49 appimage-run 50 + tzdata 49 51 wget 50 52 kitty 53 + file 51 54 w3m 52 55 fishPlugins.fzf-fish 53 56 fzf 54 57 qemu 58 + qemu-user 59 + qemu-utils 60 + qemu_full 55 61 OVMF 56 - metastore 57 - # 9p 62 + #9p stuff 58 63 diod 59 64 plan9port 60 65 vis 61 66 rc 62 - ncdu 63 - inputs.agenix.packages."${system}".agenix 64 67 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 68 + smartmontools 79 69 80 70 # Sway stuff 81 71 wdisplays ··· 90 80 dracula-theme 91 81 glib 92 82 xdg-utils 83 + xdg-desktop-portal 93 84 wayland 94 85 configure-gtk 86 + lxqt.lxqt-menu-data # for lxqt 95 87 dbus-sway-environment 96 88 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 97 95 ]; 98 96 97 + environment.loginShellInit = '' 98 + [[ "$(tty)" = "/dev/tty1" ]] && /home/noah/repos/nixos/gs.sh 99 + ''; 100 + 101 + documentation.dev.enable = true; 102 + 99 103 # Fix dynamically linked libraries for unpackaged binaries 100 104 programs.nix-ld = { 101 105 enable = true; ··· 103 107 # Add missing dynamic libraries for unpackaged programs HERE 104 108 # NOT in environment.systemPackages 105 109 zlib 110 + openssl 111 + sqlite 112 + libunwind 113 + libglvnd 114 + libclang 115 + systemdLibs 106 116 ]; 107 117 }; 118 + programs.nix-index = { 119 + enable = true; 120 + enableFishIntegration = true; 121 + enableBashIntegration = false; 122 + enableZshIntegration = false; 123 + }; 108 124 109 - programs.fuse.userAllowOther = true; 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"; 138 + 139 + programs.appimage = { 140 + enable = true; 141 + binfmt = true; 142 + }; 110 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" ]; 111 151 112 152 # Logseq uses an ancient version of Electron, so we enable that 113 153 nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ]; 114 154 155 + # I don't care too much about unfree 156 + nixpkgs.config.allowUnfree = true; 115 157 # Whitelist some unfree packages 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 - ]; 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 + ]; 126 173 }
-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
+3 -6
scripts/nr
··· 1 1 #!/usr/bin/env rc 2 2 3 + flag e + 3 4 flag x + 4 5 5 - if(~ $1 -x) { 6 - flake e + 7 - shift 8 - } 6 + pkg=$1 9 7 10 - pkg=$1 11 8 shift 12 9 13 - exec nix run --impure 'nixpkgs#'^$pkg -- $* 10 + exec nix run '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 - }
+19 -546
services.nix
··· 1 - { config 2 - , pkgs 3 - , unstable 4 - , ... 5 - }: 1 + { pkgs, ... }: 6 2 { 7 - 8 - services.zfs = { 9 - autoScrub.enable = true; 10 - }; 11 - services.nfs.server.enable = true; 12 3 # Some programs need SUID wrappers, can be configured further or are 13 4 # started in user sessions. 14 5 # programs.mtr.enable = true; ··· 19 10 20 11 # Fish shell, the best 21 12 programs.fish.enable = true; 22 - 23 - # MOSH, SSH over flakey connections 24 - programs.mosh.enable = true; 25 13 26 14 # List services that you want to enable: 27 15 28 16 # Enable the OpenSSH daemon. 29 17 services.openssh = { 30 18 enable = true; 31 - openFirewall = true; 32 - settings.PasswordAuthentication = false; 19 + settings.X11Forwarding = true; 33 20 }; 34 21 22 + # Smart Card daemon 23 + services.pcscd.enable = true; 24 + 35 25 # This option is for enabling the bolt daemon for managing Thunderbolt/USB4 Devices. 36 26 services.hardware.bolt.enable = true; 37 27 38 28 # Tailscale 39 29 services.tailscale = { 40 - enable = true; 30 + enable = false; 41 31 useRoutingFeatures = "client"; 42 32 }; 43 33 34 + services.fwupd.enable = true; 35 + 36 + services.xrdp = { 37 + enable = true; 38 + openFirewall = true; 39 + defaultWindowManager = "${pkgs.lxqt.lxqt-session}/bin/lxqt-session"; 40 + }; 41 + 44 42 # Containers and VMs 45 43 virtualisation = { 46 44 podman = { 47 - enable = true; 45 + enable = false; 48 46 dockerCompat = true; 49 47 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 - }; 48 + dockerSocket.enable = true; 92 49 }; 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 = { 190 - enable = false; 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 - }; 319 - }; 320 - 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 - }; 340 - 341 - services.jellyfin = { 342 - enable = true; 343 - openFirewall = true; 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"; 350 - }; 351 - 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 - }; 403 - }; 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 - }; 50 + docker = { 51 + enable = true; 52 + storageDriver = "overlay2"; 580 53 }; 581 54 }; 582 55 }
-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 - }
+22 -14
ssh/extra
··· 1 1 AddKeysToAgent yes 2 2 ServerAliveInterval 60 3 + ForwardAgent no 3 4 ControlMaster auto 4 5 ControlPath ~/.ssh/master-%r@%h:%p 5 6 7 + Host 192.168.1.* 8 + ForwardAgent yes 9 + 10 + Host *.local 11 + ForwardAgent yes 12 + 6 13 Host home 7 14 Hostname packetlostandfound.us 8 15 User noah 9 16 IdentityFile ~/.ssh/id_ed25519 10 17 IdentitiesOnly yes 18 + ForwardAgent yes 11 19 12 20 Host git.sr.ht 13 21 HostName git.sr.ht ··· 35 43 HostName tty.sdf.org 36 44 User ngp 37 45 IdentityFile ~/.ssh/id_ed25519 46 + ForwardAgent yes 38 47 39 48 Host tildeclub 40 49 HostName tilde.club 41 50 User ngp 42 51 IdentityFile ~/.ssh/id_ed25519 52 + ForwardAgent yes 43 53 44 54 Host envs 45 55 HostName envs.net 46 56 User ngp 47 57 IdentityFile ~/.ssh/id_ed25519 58 + ForwardAgent yes 48 59 49 60 Host tildeteam 50 61 HostName tilde.team 51 62 User ngp 52 63 IdentityFile ~/.ssh/id_ed25519 64 + ForwardAgent yes 53 65 54 66 Host ctrl-c 55 67 HostName ctrl-c.club 56 68 User ngp 57 69 IdentityFile ~/.ssh/id_ed25519 70 + ForwardAgent yes 58 71 59 72 Host tildetown 60 73 HostName tilde.town 61 74 User ngp 62 75 IdentityFile ~/.ssh/id_ed25519 76 + ForwardAgent yes 63 77 64 78 Host yourtilde 65 79 HostName yourtilde.com 66 80 User ngp 67 81 IdentityFile ~/.ssh/id_ed25519 82 + ForwardAgent yes 68 83 69 84 Host hashbang 70 - HostName to1.hashbang.sh 71 - IdentitiesOnly yes 72 - User ngp 73 - IdentityFile ~/.ssh/id_ed25519 85 + HostName to1.hashbang.sh 86 + IdentitiesOnly yes 87 + User ngp 88 + IdentityFile ~/.ssh/id_ed25519 89 + ForwardAgent yes 74 90 75 91 Host tiny 76 92 HostName tiny.packetlost.dev 77 93 User noah 78 94 IdentityFile ~/.ssh/id_ed25519 79 - 80 - Host tinybsd 81 - HostName tinybsd.packetlost.dev 82 - User noah 83 - IdentityFile ~/.ssh/id_ed25519 95 + ForwardAgent yes 84 96 85 97 Host seedbox 86 98 HostName canopus.usbx.me 87 99 User ngp 88 100 IdentityFile ~/.ssh/id_ed25519 89 - 90 - Host saten 91 - HostName saten.packetlost.dev 92 - User noah 93 - IdentityFile ~/.ssh/id_ed25519 101 + ForwardAgent no 94 102 95 103 Host launchpad 96 104 HostName git.launchpad.net
+11 -4
sway/config
··· 14 14 set $right l 15 15 16 16 # Your preferred terminal emulator 17 - set $term kitty 17 + set $term ghostty 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 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 24 26 25 27 # Lockscreen 26 28 set $lock swaylock -c 892243 -e ··· 43 45 ### Idle configuration 44 46 set $idle swayidle -w \ 45 47 timeout 300 '$lock' \ 46 - timeout 600 'swaymsg "output * dpms off"' \ 48 + timeout 360 'swaymsg "output * dpms off"' \ 47 49 timeout 15 'if pgrep -x swaylock; then swaymsg "output * dpms off"; fi' \ 48 50 resume 'swaymsg "output * dpms on"' \ 49 51 before-sleep '$lock' ··· 71 73 72 74 input "1133:45081:MX_Master_2S_Mouse" { 73 75 pointer_accel 0 76 + accel_profile flat 77 + } 78 + 79 + input "1133:50504:Logitech_USB_Receiver_Mouse" { 80 + pointer_accel 0.2 74 81 accel_profile flat 75 82 } 76 83
+18 -13
sway/odin
··· 2 2 #workspace $ws1 output DP-6 3 3 #workspace $ws2 output HDMI-A-1 4 4 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 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 + }
+29 -22
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 2 6 { 7 + 8 + imports = [ 9 + # Import home-manager first, it's required for other modules 10 + (import "${home-manager}/nixos") 11 + ]; 12 + 3 13 # Declarative only optoins. 4 14 # I don't want to allow ad-hoc modifying users on the system. 5 15 # Users must be declared either as part of a package or in this file. 6 16 users.mutableUsers = false; 7 17 18 + 8 19 # Define a user account. Don't forget to set a password with ‘passwd’. 9 20 users.users.noah = { 10 21 isNormalUser = true; 11 22 shell = pkgs.fish; 12 - extraGroups = [ 13 - "wheel" 14 - "video" 15 - "render" 16 - "nas" 17 - "nats" 18 - "litterbox" 19 - "httpd" 20 - ]; # Enable ‘sudo’ for the user. 23 + extraGroups = [ "wheel" "video" "nas" "libvirtd" "qemu-libvirtd" "docker" ]; # Enable ‘sudo’ for the user. 21 24 hashedPasswordFile = "/etc/nixos/noah-password"; 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 - ); 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 + })); 33 33 }; 34 34 35 35 users.groups.nas.gid = 1001; 36 - users.groups.httpd.gid = 1002; 37 - users.groups.litterbox.gid = 1003; 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; 38 45 }
+41 -27
vis/visrc.lua
··· 1 1 require('vis') 2 - 3 - local plug = require('plugins/vis-plug') 4 - 2 + local plugin_manager = 'plugins/vis-plug' 5 3 local plugins = { 6 4 { 'timoha/vis-acme', theme = true, file = 'acme' }, 7 5 { 'milhnl/vis-format' }, ··· 10 8 { url = 'https://repo.or.cz/vis-parkour.git', alias = 'vis-parkour' } 11 9 } 12 10 13 - plug.init(plugins, true) 14 - 15 - 16 - 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() 17 20 21 + plug.init(plugins, true) 18 22 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 19 29 20 30 vis.events.subscribe(vis.events.INIT, function() 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" 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" 28 39 29 - lspc.ls_map.rust = { 30 - name = "rust", 31 - cmd = "rust-analyzer", 32 - formatting_options = {tabSize = 4, insertSpaces = true} 33 - } 34 - end 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) 35 52 end) 36 53 37 54 38 - vis.events.subscribe(vis.events.WIN_OPEN, function(win) 55 + vis.events.subscribe(vis.events.WIN_OPEN, function() 39 56 --per-window configuration-- 40 57 --vis:command('set number') 41 - vis:command('set showtab on') 42 - vis:command('set showspace on') 58 + --vis:command('set showtab on') 59 + vis:command('set showspace off') 43 60 vis:command('set autoindent on') 44 61 vis:command('set cursorline on') 45 62 vis:command('set tabwidth 4') 46 63 end) 47 - 48 - 49 - 50 - 64 + return nil
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 + })