Nix configurations for my personal machines (Linux & macOS)

Compare changes

Choose any two refs to compare.

+4 -2
files/karabiner/keybind-helpers.json
··· 13 "description": "MacBook internal keyboard", 14 "vendor_id": 1452, 15 "product_id": 641 16 - } 17 ] 18 } 19 ], ··· 50 "description": "MacBook internal keyboard", 51 "vendor_id": 1452, 52 "product_id": 641 53 - } 54 ] 55 } 56 ],
··· 13 "description": "MacBook internal keyboard", 14 "vendor_id": 1452, 15 "product_id": 641 16 + }, 17 + { "is_built_in_keyboard": true } 18 ] 19 } 20 ], ··· 51 "description": "MacBook internal keyboard", 52 "vendor_id": 1452, 53 "product_id": 641 54 + }, 55 + { "is_built_in_keyboard": true } 56 ] 57 } 58 ],
+51 -104
flake.lock
··· 5 "home-manager": [ 6 "home-manager" 7 ], 8 - "nix-darwin": "nix-darwin", 9 "nixpkgs": [ 10 "nixpkgs" 11 ], ··· 65 "systems": "systems_2" 66 }, 67 "locked": { 68 - "lastModified": 1726560853, 69 - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", 70 - "owner": "numtide", 71 - "repo": "flake-utils", 72 - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", 73 - "type": "github" 74 - }, 75 - "original": { 76 - "owner": "numtide", 77 - "repo": "flake-utils", 78 - "type": "github" 79 - } 80 - }, 81 - "flake-utils_3": { 82 - "inputs": { 83 - "systems": "systems_3" 84 - }, 85 - "locked": { 86 "lastModified": 1731533236, 87 "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 88 "owner": "numtide", ··· 140 ] 141 }, 142 "locked": { 143 - "lastModified": 1758375677, 144 - "narHash": "sha256-BLtD+6qWz7fQjPk2wpwyXQLGI0E30Ikgf2ppn2nVadI=", 145 "owner": "nix-community", 146 "repo": "home-manager", 147 - "rev": "edc7468e12be92e926847cb02418e649b02b59dd", 148 "type": "github" 149 }, 150 "original": { ··· 177 "lix": { 178 "flake": false, 179 "locked": { 180 - "lastModified": 1729298361, 181 - "narHash": "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=", 182 - "rev": "ad9d06f7838a25beec425ff406fe68721fef73be", 183 "type": "tarball", 184 - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?rev=ad9d06f7838a25beec425ff406fe68721fef73be" 185 }, 186 "original": { 187 "type": "tarball", 188 - "url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz" 189 } 190 }, 191 "lix-module": { ··· 198 ] 199 }, 200 "locked": { 201 - "lastModified": 1732605668, 202 - "narHash": "sha256-DN5/166jhiiAW0Uw6nueXaGTueVxhfZISAkoxasmz/g=", 203 - "rev": "f19bd752910bbe3a861c9cad269bd078689d50fe", 204 "type": "tarball", 205 - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/f19bd752910bbe3a861c9cad269bd078689d50fe.tar.gz" 206 }, 207 "original": { 208 "type": "tarball", 209 - "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz" 210 } 211 }, 212 "niri-flake": { ··· 221 "xwayland-satellite-unstable": "xwayland-satellite-unstable" 222 }, 223 "locked": { 224 - "lastModified": 1758434547, 225 - "narHash": "sha256-HV6J991KhLAvPk9jXOiO9kufVm9JwBhggTxx608bxIw=", 226 "owner": "sodiboo", 227 "repo": "niri-flake", 228 - "rev": "1e707d7863f8c17ff13f4394c6c17df68cd8ac49", 229 "type": "github" 230 }, 231 "original": { ··· 254 "niri-unstable": { 255 "flake": false, 256 "locked": { 257 - "lastModified": 1758370089, 258 - "narHash": "sha256-0C7695SLx4hU9m3VW4fCrZdvyIY+3kFQTWELHA4hxRQ=", 259 "owner": "YaLTeR", 260 "repo": "niri", 261 - "rev": "a1dccedbb72da372d2a8a84022f37ccaa4d4a6e6", 262 "type": "github" 263 }, 264 "original": { ··· 270 "nix-darwin": { 271 "inputs": { 272 "nixpkgs": [ 273 - "denix", 274 "nixpkgs" 275 ] 276 }, 277 "locked": { 278 - "lastModified": 1751313918, 279 - "narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=", 280 "owner": "nix-darwin", 281 "repo": "nix-darwin", 282 - "rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf", 283 "type": "github" 284 }, 285 "original": { ··· 288 "type": "github" 289 } 290 }, 291 - "nix-darwin_2": { 292 - "inputs": { 293 - "nixpkgs": [ 294 - "nixpkgs" 295 - ] 296 - }, 297 - "locked": { 298 - "lastModified": 1758387173, 299 - "narHash": "sha256-E5Ru709RoQEFl+Q0MHRXTIvbY0l6LSR1UHqwTulSeog=", 300 - "owner": "LnL7", 301 - "repo": "nix-darwin", 302 - "rev": "7be9c1b136ef7083e60eb060be0a66dcb254e3ca", 303 - "type": "github" 304 - }, 305 - "original": { 306 - "owner": "LnL7", 307 - "repo": "nix-darwin", 308 - "type": "github" 309 - } 310 - }, 311 "nix-index-database": { 312 "inputs": { 313 "nixpkgs": [ ··· 315 ] 316 }, 317 "locked": { 318 - "lastModified": 1758427679, 319 - "narHash": "sha256-xwjWRJTKDCjQ0iwfh7WhDhgcS0Wt3d1Yscg83mKBCn4=", 320 "owner": "nix-community", 321 "repo": "nix-index-database", 322 - "rev": "fd2569ca2ef7d69f244cd9ffcb66a0540772ff85", 323 "type": "github" 324 }, 325 "original": { ··· 330 }, 331 "nix-vscode-extensions": { 332 "inputs": { 333 - "flake-utils": "flake-utils_3", 334 "nixpkgs": "nixpkgs_2" 335 }, 336 "locked": { 337 - "lastModified": 1758420016, 338 - "narHash": "sha256-xnS4Xp2nvtT+fwIfxz16ikSMs03pV9SpQW80btttVe4=", 339 "owner": "nix-community", 340 "repo": "nix-vscode-extensions", 341 - "rev": "c55175e19f142be0330b2579d7da043d2f22e324", 342 "type": "github" 343 }, 344 "original": { ··· 380 }, 381 "nixpkgs-stable": { 382 "locked": { 383 - "lastModified": 1758346548, 384 - "narHash": "sha256-afXE7AJ7MY6wY1pg/Y6UPHNYPy5GtUKeBkrZZ/gC71E=", 385 "owner": "NixOS", 386 "repo": "nixpkgs", 387 - "rev": "b2a3852bd078e68dd2b3dfa8c00c67af1f0a7d20", 388 "type": "github" 389 }, 390 "original": { 391 "owner": "NixOS", 392 - "ref": "nixos-25.05", 393 "repo": "nixpkgs", 394 "type": "github" 395 } 396 }, 397 "nixpkgs_2": { 398 "locked": { 399 - "lastModified": 1744868846, 400 - "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", 401 - "owner": "NixOS", 402 "repo": "nixpkgs", 403 - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", 404 "type": "github" 405 }, 406 "original": { 407 - "owner": "NixOS", 408 "repo": "nixpkgs", 409 - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", 410 "type": "github" 411 } 412 }, 413 "nixpkgs_3": { 414 "locked": { 415 - "lastModified": 1758277210, 416 - "narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=", 417 "owner": "nixos", 418 "repo": "nixpkgs", 419 - "rev": "8eaee110344796db060382e15d3af0a9fc396e0e", 420 "type": "github" 421 }, 422 "original": { ··· 453 "iosevka-solai": "iosevka-solai", 454 "lix-module": "lix-module", 455 "niri-flake": "niri-flake", 456 - "nix-darwin": "nix-darwin_2", 457 "nix-index-database": "nix-index-database", 458 "nix-vscode-extensions": "nix-vscode-extensions", 459 "nixpkgs": "nixpkgs_3", ··· 490 "type": "github" 491 } 492 }, 493 - "systems_3": { 494 - "locked": { 495 - "lastModified": 1681028828, 496 - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 497 - "owner": "nix-systems", 498 - "repo": "default", 499 - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 500 - "type": "github" 501 - }, 502 - "original": { 503 - "owner": "nix-systems", 504 - "repo": "default", 505 - "type": "github" 506 - } 507 - }, 508 "xwayland-satellite-stable": { 509 "flake": false, 510 "locked": { ··· 525 "xwayland-satellite-unstable": { 526 "flake": false, 527 "locked": { 528 - "lastModified": 1757179758, 529 - "narHash": "sha256-TIvyWzRt1miQj6Cf5Wy8Qz43XIZX7c4vTVwRLAT5S4Y=", 530 "owner": "Supreeeme", 531 "repo": "xwayland-satellite", 532 - "rev": "970728d0d9d1eada342bb8860af214b601139e58", 533 "type": "github" 534 }, 535 "original": { ··· 545 ] 546 }, 547 "locked": { 548 - "lastModified": 1757304371, 549 - "narHash": "sha256-EZ3Vwgh5xgXuiPUmr9e1a9dEu3hvEWhRurAKpsAwB2A=", 550 "owner": "youwen5", 551 "repo": "zen-browser-flake", 552 - "rev": "3968348af022fe88468ef8de4f9683076e2e5e4b", 553 "type": "github" 554 }, 555 "original": {
··· 5 "home-manager": [ 6 "home-manager" 7 ], 8 + "nix-darwin": [ 9 + "nix-darwin" 10 + ], 11 "nixpkgs": [ 12 "nixpkgs" 13 ], ··· 67 "systems": "systems_2" 68 }, 69 "locked": { 70 "lastModified": 1731533236, 71 "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 72 "owner": "numtide", ··· 124 ] 125 }, 126 "locked": { 127 + "lastModified": 1767391542, 128 + "narHash": "sha256-qHXxJuFkQhggyeao/kQb6KcOjgz0Ky+ArfowRX1MHaE=", 129 "owner": "nix-community", 130 "repo": "home-manager", 131 + "rev": "2f06b726061b7e1aa69f718e943da9ffcecd6397", 132 "type": "github" 133 }, 134 "original": { ··· 161 "lix": { 162 "flake": false, 163 "locked": { 164 + "lastModified": 1751234633, 165 + "narHash": "sha256-b5d+HnPcyHz0ZJW1+LZl4qm4LGTB/TiaDFQVlVL2xpE=", 166 + "rev": "7c8c7562be432f1f40b98c24f528696b1ae20263", 167 "type": "tarball", 168 + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/7c8c7562be432f1f40b98c24f528696b1ae20263.tar.gz?rev=7c8c7562be432f1f40b98c24f528696b1ae20263" 169 }, 170 "original": { 171 "type": "tarball", 172 + "url": "https://git.lix.systems/lix-project/lix/archive/2.91.3.tar.gz" 173 } 174 }, 175 "lix-module": { ··· 182 ] 183 }, 184 "locked": { 185 + "lastModified": 1756128651, 186 + "narHash": "sha256-Bacu3Ek38AtlL+pSsbdUW4V5Waat0FnhyzLoQjPUxWE=", 187 + "rev": "96fc11f1b68f0138de71205122670ef736cdb0d9", 188 "type": "tarball", 189 + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/96fc11f1b68f0138de71205122670ef736cdb0d9.tar.gz" 190 }, 191 "original": { 192 "type": "tarball", 193 + "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.3-2.tar.gz" 194 } 195 }, 196 "niri-flake": { ··· 205 "xwayland-satellite-unstable": "xwayland-satellite-unstable" 206 }, 207 "locked": { 208 + "lastModified": 1767377696, 209 + "narHash": "sha256-OShXLsMyF9hxmiID1p4QF+ekqreViHM9105ej05S2uI=", 210 "owner": "sodiboo", 211 "repo": "niri-flake", 212 + "rev": "ba6ea712dc2da0b01c6a8d02dd9e86973663e4de", 213 "type": "github" 214 }, 215 "original": { ··· 238 "niri-unstable": { 239 "flake": false, 240 "locked": { 241 + "lastModified": 1767160009, 242 + "narHash": "sha256-aTj88rDBdhmzaGXoFPOsHjXYM2OjNttixsGftT/X0dI=", 243 "owner": "YaLTeR", 244 "repo": "niri", 245 + "rev": "cf0b4bc0ca93ab5c18b562ada1d8609b67b3c4e3", 246 "type": "github" 247 }, 248 "original": { ··· 254 "nix-darwin": { 255 "inputs": { 256 "nixpkgs": [ 257 "nixpkgs" 258 ] 259 }, 260 "locked": { 261 + "lastModified": 1767028240, 262 + "narHash": "sha256-0/fLUqwJ4Z774muguUyn5t8AQ6wyxlNbHexpje+5hRo=", 263 "owner": "nix-darwin", 264 "repo": "nix-darwin", 265 + "rev": "c31afa6e76da9bbc7c9295e39c7de9fca1071ea1", 266 "type": "github" 267 }, 268 "original": { ··· 271 "type": "github" 272 } 273 }, 274 "nix-index-database": { 275 "inputs": { 276 "nixpkgs": [ ··· 278 ] 279 }, 280 "locked": { 281 + "lastModified": 1765267181, 282 + "narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=", 283 "owner": "nix-community", 284 "repo": "nix-index-database", 285 + "rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f", 286 "type": "github" 287 }, 288 "original": { ··· 293 }, 294 "nix-vscode-extensions": { 295 "inputs": { 296 "nixpkgs": "nixpkgs_2" 297 }, 298 "locked": { 299 + "lastModified": 1767405959, 300 + "narHash": "sha256-K9P7J2W/deP9d1aZOlIvmK+sWCQrk6kcX3T21y3Marc=", 301 "owner": "nix-community", 302 "repo": "nix-vscode-extensions", 303 + "rev": "c84c57fb183f7b2318187927d3a82641e6796933", 304 "type": "github" 305 }, 306 "original": { ··· 342 }, 343 "nixpkgs-stable": { 344 "locked": { 345 + "lastModified": 1767325753, 346 + "narHash": "sha256-yA/CuWyqm+AQo2ivGy6PlYrjZBQm7jfbe461+4HF2fo=", 347 "owner": "NixOS", 348 "repo": "nixpkgs", 349 + "rev": "64049ca74d63e971b627b5f3178d95642e61cedd", 350 "type": "github" 351 }, 352 "original": { 353 "owner": "NixOS", 354 + "ref": "nixos-25.11", 355 "repo": "nixpkgs", 356 "type": "github" 357 } 358 }, 359 "nixpkgs_2": { 360 "locked": { 361 + "lastModified": 1766025857, 362 + "narHash": "sha256-Lav5jJazCW4mdg1iHcROpuXqmM94BWJvabLFWaJVJp0=", 363 + "owner": "nixos", 364 "repo": "nixpkgs", 365 + "rev": "def3da69945bbe338c373fddad5a1bb49cf199ce", 366 "type": "github" 367 }, 368 "original": { 369 + "owner": "nixos", 370 "repo": "nixpkgs", 371 + "rev": "def3da69945bbe338c373fddad5a1bb49cf199ce", 372 "type": "github" 373 } 374 }, 375 "nixpkgs_3": { 376 "locked": { 377 + "lastModified": 1767116409, 378 + "narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=", 379 "owner": "nixos", 380 "repo": "nixpkgs", 381 + "rev": "cad22e7d996aea55ecab064e84834289143e44a0", 382 "type": "github" 383 }, 384 "original": { ··· 415 "iosevka-solai": "iosevka-solai", 416 "lix-module": "lix-module", 417 "niri-flake": "niri-flake", 418 + "nix-darwin": "nix-darwin", 419 "nix-index-database": "nix-index-database", 420 "nix-vscode-extensions": "nix-vscode-extensions", 421 "nixpkgs": "nixpkgs_3", ··· 452 "type": "github" 453 } 454 }, 455 "xwayland-satellite-stable": { 456 "flake": false, 457 "locked": { ··· 472 "xwayland-satellite-unstable": { 473 "flake": false, 474 "locked": { 475 + "lastModified": 1766429945, 476 + "narHash": "sha256-9Kv4gWagx/u4RfZJzBMAoagW9ava5waxd+XoTkzqF7E=", 477 "owner": "Supreeeme", 478 "repo": "xwayland-satellite", 479 + "rev": "0dde7ca1d3a8e8c5082533d76084e2aa02bef70e", 480 "type": "github" 481 }, 482 "original": { ··· 492 ] 493 }, 494 "locked": { 495 + "lastModified": 1767307876, 496 + "narHash": "sha256-d5EKvUnfr6tdhymIThz0WGG0JHT2cCZzbZK4t2CwYuc=", 497 "owner": "youwen5", 498 "repo": "zen-browser-flake", 499 + "rev": "c5bffaf433e6137fe80cd1930584836f11119b26", 500 "type": "github" 501 }, 502 "original": {
+19 -29
flake.nix
··· 5 # nur.url = "github:nix-community/NUR"; 6 7 nix-darwin = { 8 - url = "github:LnL7/nix-darwin"; 9 inputs.nixpkgs.follows = "nixpkgs"; 10 }; 11 ··· 30 }; 31 32 lix-module = { 33 - url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz"; 34 inputs.nixpkgs.follows = "nixpkgs"; 35 }; 36 37 denix = { 38 url = "github:yunfachi/denix"; 39 inputs.nixpkgs.follows = "nixpkgs"; 40 inputs.home-manager.follows = "home-manager"; 41 }; 42 ··· 44 url = "github:youwen5/zen-browser-flake"; 45 inputs.nixpkgs.follows = "nixpkgs"; 46 }; 47 - 48 - # ags = { 49 - # url = "github:Aylur/ags"; 50 - # inputs.nixpkgs.follows = "nixpkgs"; 51 - # }; 52 }; 53 54 outputs = { 55 - # ags, 56 denix, 57 home-manager, 58 lix-module, ··· 63 self, 64 ... 65 } @ inputs: let 66 - system = "x86_64-linux"; 67 - pkgs = nixpkgs.legacyPackages.${system}; 68 - # agsPkgs = ags.packages.${system}; 69 mkConfigurations = moduleSystem: 70 denix.lib.configurations (let 71 homeManagerUser = "ovy"; ··· 76 specialArgs = {inherit inputs moduleSystem homeManagerUser;}; 77 }); 78 in { 79 - packages.${system} = { 80 iconifydl = pkgs.callPackage ./pkgs/iconifydl.nix {}; 81 - 82 - # default = ags.lib.bundle { 83 - # inherit pkgs; 84 - # src = ./files/astal; 85 - # name = "ovy-shell"; 86 - # entry = "app.ts"; 87 - # }; 88 - }; 89 90 - # devShells.x86_64-linux.default = pkgs.mkShell { 91 - # buildInputs = [agsPkgs.agsFull agsPkgs.io agsPkgs.apps agsPkgs.tray self.packages.${system}.iconifydl]; 92 - # }; 93 94 nixosConfigurations = mkConfigurations "nixos"; 95 darwinConfigurations = mkConfigurations "darwin"; ··· 106 # }; 107 # }; 108 109 - formatter = { 110 - aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.alejandra; 111 - aarch64-darwin = nixpkgs.legacyPackages.aarch64-darwin.alejandra; 112 - x86_64-darwin = nixpkgs.legacyPackages.x86_64-darwin.alejandra; 113 - x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra; 114 - }; 115 }; 116 }
··· 5 # nur.url = "github:nix-community/NUR"; 6 7 nix-darwin = { 8 + url = "github:nix-darwin/nix-darwin"; 9 inputs.nixpkgs.follows = "nixpkgs"; 10 }; 11 ··· 30 }; 31 32 lix-module = { 33 + url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.3-2.tar.gz"; 34 inputs.nixpkgs.follows = "nixpkgs"; 35 }; 36 37 denix = { 38 url = "github:yunfachi/denix"; 39 inputs.nixpkgs.follows = "nixpkgs"; 40 + inputs.nix-darwin.follows = "nix-darwin"; 41 inputs.home-manager.follows = "home-manager"; 42 }; 43 ··· 45 url = "github:youwen5/zen-browser-flake"; 46 inputs.nixpkgs.follows = "nixpkgs"; 47 }; 48 }; 49 50 outputs = { 51 denix, 52 home-manager, 53 lix-module, ··· 58 self, 59 ... 60 } @ inputs: let 61 + forSystems = fn: 62 + nixpkgs.lib.genAttrs [ 63 + "aarch64-linux" 64 + "aarch64-darwin" 65 + "x86_64-darwin" 66 + "x86_64-linux" 67 + ] (system: fn nixpkgs.legacyPackages.${system}); 68 + defaultForSystems = fn: forSystems (pkgs: {default = fn pkgs;}); 69 + 70 mkConfigurations = moduleSystem: 71 denix.lib.configurations (let 72 homeManagerUser = "ovy"; ··· 77 specialArgs = {inherit inputs moduleSystem homeManagerUser;}; 78 }); 79 in { 80 + packages = forSystems (pkgs: { 81 iconifydl = pkgs.callPackage ./pkgs/iconifydl.nix {}; 82 + }); 83 84 + devShells = defaultForSystems (pkgs: 85 + pkgs.mkShell { 86 + buildInputs = [pkgs.just]; 87 + }); 88 89 nixosConfigurations = mkConfigurations "nixos"; 90 darwinConfigurations = mkConfigurations "darwin"; ··· 101 # }; 102 # }; 103 104 + formatter = forSystems (pkgs: pkgs.alejandra); 105 }; 106 }
+15
hosts/setsuna/default.nix
···
··· 1 + {delib, ...}: 2 + delib.host { 3 + name = "setsuna"; 4 + 5 + myconfig._1password.enable = false; 6 + myconfig.gaming.enable = false; 7 + myconfig.tray.enable = false; 8 + myconfig.virtualisation.enable = false; 9 + 10 + myconfig.programs.chromium.enable = false; 11 + myconfig.programs.desktop-apps.enable = false; 12 + myconfig.programs.espanso.enable = false; 13 + myconfig.programs.kitty.enable = false; 14 + myconfig.programs.syncthing.enable = false; 15 + }
+19
hosts/setsuna/hardware.nix
···
··· 1 + { 2 + delib, 3 + inputs, 4 + ... 5 + }: 6 + delib.host { 7 + name = "setsuna"; 8 + 9 + homeManagerSystem = "aarch64-darwin"; 10 + home.home.stateVersion = "26.05"; 11 + 12 + darwin = { 13 + nixpkgs.hostPlatform = "aarch64-darwin"; 14 + # TODO: `darwin-rebuild changelog` to see what changed, latest is 6 15 + system.stateVersion = 6; 16 + # TODO: see what this does, i forgor 17 + system.configurationRevision = inputs.self.rev or inputs.self.dirtyRev or null; 18 + }; 19 + }
-1
hosts/shimmer/default.nix
··· 7 myconfig.tray.enable = false; 8 myconfig.virtualisation.enable = false; 9 10 - myconfig.programs.firefox.enable = false; 11 myconfig.programs.chromium.enable = false; 12 myconfig.programs.desktop-apps.enable = false; 13 myconfig.programs.espanso.enable = false;
··· 7 myconfig.tray.enable = false; 8 myconfig.virtualisation.enable = false; 9 10 myconfig.programs.chromium.enable = false; 11 myconfig.programs.desktop-apps.enable = false; 12 myconfig.programs.espanso.enable = false;
+3 -1
hosts/wallsocket/hardware.nix
··· 1 { 2 delib, 3 lib, 4 ... 5 }: let 6 platform = "x86_64-linux"; ··· 16 nixpkgs.hostPlatform = platform; 17 system.stateVersion = stateVersion; 18 19 - hardware.enableRedistributableFirmware = true; 20 hardware.cpu.amd.updateMicrocode = true; 21 22 # Kernel ··· 24 boot.initrd.kernelModules = []; 25 boot.kernelModules = ["kvm-amd"]; 26 boot.extraModulePackages = []; 27 28 # Bootloader 29 boot.loader.systemd-boot.enable = true;
··· 1 { 2 delib, 3 lib, 4 + pkgs, 5 ... 6 }: let 7 platform = "x86_64-linux"; ··· 17 nixpkgs.hostPlatform = platform; 18 system.stateVersion = stateVersion; 19 20 + hardware.enableAllFirmware = true; 21 hardware.cpu.amd.updateMicrocode = true; 22 23 # Kernel ··· 25 boot.initrd.kernelModules = []; 26 boot.kernelModules = ["kvm-amd"]; 27 boot.extraModulePackages = []; 28 + boot.kernelPackages = pkgs.linuxPackages_latest; 29 30 # Bootloader 31 boot.loader.systemd-boot.enable = true;
+15
justfile
···
··· 1 + [private] 2 + default: 3 + just --list 4 + 5 + [linux] 6 + boot: 7 + sudo nixos-rebuild boot -L 8 + 9 + [linux] 10 + switch: 11 + sudo nixos-rebuild switch -L 12 + 13 + [macos] 14 + switch: 15 + sudo darwin-rebuild switch --flake . -L
+1
modules/1password.nix
··· 20 text = '' 21 vivaldi-bin 22 zen 23 ''; 24 mode = "0755"; 25 };
··· 20 text = '' 21 vivaldi-bin 22 zen 23 + zen-bin 24 ''; 25 mode = "0755"; 26 };
+3 -1
modules/darwin/homebrew.nix
··· 27 28 casks = [ 29 "1password" 30 "discord" 31 "figma" 32 "httpie" ··· 38 # Actually searches symlinks for apps, compared to Alfred. 39 "raycast" 40 "swiftformat-for-xcode" 41 # "vorta" 42 "zen" 43 ]; 44 ··· 46 Keka = 470158793; 47 "Yubico Authenticator" = 1497506650; 48 "System Color Picker" = 1545870783; 49 - Tailscale = 1475387142; 50 }; 51 }; 52 }
··· 27 28 casks = [ 29 "1password" 30 + "blender" 31 "discord" 32 "figma" 33 "httpie" ··· 39 # Actually searches symlinks for apps, compared to Alfred. 40 "raycast" 41 "swiftformat-for-xcode" 42 + "tailscale-app" 43 # "vorta" 44 + "vesktop" 45 "zen" 46 ]; 47 ··· 49 Keka = 470158793; 50 "Yubico Authenticator" = 1497506650; 51 "System Color Picker" = 1545870783; 52 }; 53 }; 54 }
+5 -3
modules/fonts.nix
··· 10 nixos.always = { 11 fonts = { 12 packages = [ 13 - pkgs.ubuntu_font_family 14 pkgs.inter 15 - pkgs.corefonts 16 - pkgs.vista-fonts 17 inputs.iosevka-solai.packages.x86_64-linux.bin 18 ]; 19
··· 10 nixos.always = { 11 fonts = { 12 packages = [ 13 + pkgs.ubuntu-classic 14 + pkgs.ubuntu-sans 15 pkgs.inter 16 + # Only needed for one specific thing and now can't download from sourceforge for some reason 17 + # pkgs.corefonts 18 + # pkgs.vista-fonts 19 inputs.iosevka-solai.packages.x86_64-linux.bin 20 ]; 21
+5 -2
modules/graphics.nix
··· 15 enable = true; 16 enable32Bit = true; 17 }; 18 19 - environment.systemPackages = with pkgs; [amdgpu_top lact nvtopPackages.full]; 20 - environment.sessionVariables.KWIN_DRM_NO_AMS = "1"; 21 22 systemd.services.lactd = { 23 description = "AMDGPU Control Daemon";
··· 15 enable = true; 16 enable32Bit = true; 17 }; 18 + hardware.amdgpu = { 19 + initrd.enable = true; 20 + opencl.enable = true; 21 + }; 22 23 + environment.systemPackages = with pkgs; [amdgpu_top lact]; 24 25 systemd.services.lactd = { 26 description = "AMDGPU Control Daemon";
-6
modules/networking.nix
··· 39 # dnsovertls = "trues"; 40 }; 41 42 - services.tailscale = { 43 - enable = true; 44 - openFirewall = true; 45 - useRoutingFeatures = "client"; 46 - }; 47 - 48 # services.mullvad-vpn.enable = true; 49 # services.mullvad-vpn.package = pkgs.mullvad-vpn; 50
··· 39 # dnsovertls = "trues"; 40 }; 41 42 # services.mullvad-vpn.enable = true; 43 # services.mullvad-vpn.package = pkgs.mullvad-vpn; 44
+67 -66
modules/nix.nix
··· 2 delib, 3 inputs, 4 ... 5 - }: let 6 - shared = { 7 nixpkgs.config = import ../files/nixpkgs-config.nix; 8 - 9 - nix.settings = { 10 - auto-optimise-store = true; 11 - experimental-features = ["nix-command" "flakes"]; 12 - trusted-users = ["root" "@wheel" "ovy"]; 13 - }; 14 }; 15 - in 16 - delib.module { 17 - name = "nix"; 18 19 - # TODO: double check home-manager options 20 - home.always = 21 - shared 22 - // { 23 - xdg.configFile."nixpkgs/config.nix".source = ../files/nixpkgs-config.nix; 24 }; 25 - nixos.always = 26 - shared 27 - // { 28 - nix = { 29 - gc = { 30 - automatic = true; 31 - options = "--delete-older-than 10d"; 32 - dates = "weekly"; 33 - }; 34 35 - nixPath = ["nixpkgs=${inputs.nixpkgs}"]; 36 37 - registry.nixpkgs.to = { 38 - type = "path"; 39 - path = inputs.nixpkgs; 40 - narHash = inputs.nixpkgs.narHash; 41 - }; 42 - }; 43 44 - system.tools.nixos-option.enable = false; 45 }; 46 47 - darwin.always = { 48 - nix = { 49 - buildMachines = [ 50 - { 51 - hostName = "rushing.axolotl-map.ts.net"; 52 - sshUser = "colmena-deploy"; 53 - system = "x86_64-linux"; 54 - speedFactor = 2; 55 - maxJobs = 6; 56 - protocol = "ssh-ng"; 57 - } 58 - { 59 - hostName = "skyline.axolotl-map.ts.net"; 60 - sshUser = "colmena-deploy"; 61 - system = "aarch64-linux"; 62 - speedFactor = 1; 63 - maxJobs = 2; 64 - protocol = "ssh-ng"; 65 - } 66 - ]; 67 68 - distributedBuilds = true; 69 70 - gc = { 71 - automatic = true; 72 - options = "--delete-older-than 7d"; 73 - interval.Weekday = 6; 74 - }; 75 76 - optimise.automatic = true; 77 78 - settings = { 79 - builders-use-substitutes = true; 80 - experimental-features = "nix-command flakes"; 81 - trusted-users = ["root" "ovy"]; 82 - }; 83 }; 84 }; 85 - }
··· 2 delib, 3 inputs, 4 ... 5 + }: 6 + delib.module { 7 + name = "nix"; 8 + 9 + # TODO: double check home-manager options 10 + home.always = { 11 nixpkgs.config = import ../files/nixpkgs-config.nix; 12 + xdg.configFile."nixpkgs/config.nix".source = ../files/nixpkgs-config.nix; 13 }; 14 + 15 + nixos.always = { 16 + nixpkgs.config = import ../files/nixpkgs-config.nix; 17 18 + nix = { 19 + gc = { 20 + automatic = true; 21 + options = "--delete-older-than 10d"; 22 + dates = "weekly"; 23 }; 24 25 + nixPath = ["nixpkgs=${inputs.nixpkgs}"]; 26 27 + registry.nixpkgs.to = { 28 + type = "path"; 29 + path = inputs.nixpkgs; 30 + narHash = inputs.nixpkgs.narHash; 31 + }; 32 33 + settings = { 34 + auto-optimise-store = true; 35 + experimental-features = ["nix-command" "flakes"]; 36 + trusted-users = ["root" "@wheel" "ovy"]; 37 + warn-dirty = false; 38 }; 39 + }; 40 41 + system.tools.nixos-option.enable = false; 42 + }; 43 + 44 + darwin.always = { 45 + nixpkgs.config = import ../files/nixpkgs-config.nix; 46 + 47 + nix = { 48 + buildMachines = [ 49 + { 50 + hostName = "rushing.axolotl-map.ts.net"; 51 + sshUser = "colmena-deploy"; 52 + system = "x86_64-linux"; 53 + speedFactor = 2; 54 + maxJobs = 6; 55 + protocol = "ssh-ng"; 56 + } 57 + { 58 + hostName = "skyline.axolotl-map.ts.net"; 59 + sshUser = "colmena-deploy"; 60 + system = "aarch64-linux"; 61 + speedFactor = 1; 62 + maxJobs = 2; 63 + protocol = "ssh-ng"; 64 + } 65 + ]; 66 67 + distributedBuilds = true; 68 69 + gc = { 70 + automatic = true; 71 + options = "--delete-older-than 7d"; 72 + interval.Weekday = 6; 73 + }; 74 75 + optimise.automatic = true; 76 77 + settings = { 78 + builders-use-substitutes = true; 79 + experimental-features = "nix-command flakes"; 80 + trusted-users = ["root" "ovy"]; 81 + sandbox = true; 82 + warn-dirty = false; 83 }; 84 }; 85 + }; 86 + }
-10
modules/ollama.nix
··· 1 - {delib, ...}: 2 - delib.module { 3 - name = "ollama"; 4 - 5 - nixos.always.services.ollama = { 6 - enable = true; 7 - acceleration = "rocm"; 8 - rocmOverrideGfx = "11.0.0"; 9 - }; 10 - }
···
+9 -1
modules/plasma.nix
··· 27 environment.plasma6.excludePackages = with pkgs.kdePackages; [ 28 elisa 29 gwenview 30 konsole 31 ]; 32 33 qt = { ··· 38 39 # environment.sessionVariables."NIXOS_OZONE_WL" = 1; 40 environment.sessionVariables."MOZ_ENABLE_WAYLAND" = 0; 41 - environment.systemPackages = with pkgs; [adwaita-icon-theme kdePackages.kcalc kdePackages.partitionmanager kdePackages.kcolorchooser]; 42 43 # TODO: move 44 boot.plymouth = {
··· 27 environment.plasma6.excludePackages = with pkgs.kdePackages; [ 28 elisa 29 gwenview 30 + kate 31 konsole 32 + krunner 33 ]; 34 35 qt = { ··· 40 41 # environment.sessionVariables."NIXOS_OZONE_WL" = 1; 42 environment.sessionVariables."MOZ_ENABLE_WAYLAND" = 0; 43 + environment.systemPackages = with pkgs; [ 44 + adwaita-icon-theme 45 + kdePackages.kcalc 46 + kdePackages.partitionmanager 47 + kdePackages.kcolorchooser 48 + kdePackages.kdenlive 49 + ]; 50 51 # TODO: move 52 boot.plymouth = {
+1 -1
modules/programs/core-cli.nix
··· 65 home.always = { 66 home.packages = with pkgs; [ 67 curlie 68 - du-dust 69 duf 70 fd 71 jq
··· 65 home.always = { 66 home.packages = with pkgs; [ 67 curlie 68 + dust 69 duf 70 fd 71 jq
+8 -8
modules/programs/desktop-apps.nix
··· 12 home.packages = with pkgs; [ 13 alejandra 14 audacity 15 - blender 16 btop # TODO: module & options 17 - bruno 18 - # davinci-resolve 19 - # distrobox 20 gajim 21 glaxnimate 22 # godot_4 ··· 28 lunacy 29 lutris 30 # mixxx 31 - obs-studio 32 obsidian 33 oversteer 34 p7zip ··· 44 temurin-bin-17 45 ]; 46 }) 47 qbittorrent 48 qimgv 49 slack 50 - vesktop 51 vlc 52 vorta 53 winetricks 54 yt-dlp 55 yubioath-flutter 56 ]; 57 - 58 - services.owncloud-client.enable = true; 59 }; 60 }
··· 12 home.packages = with pkgs; [ 13 alejandra 14 audacity 15 + blender-hip 16 btop # TODO: module & options 17 + # bruno 18 + davinci-resolve 19 + (discord.override { 20 + withOpenASAR = true; 21 + withVencord = true; 22 + }) 23 gajim 24 glaxnimate 25 # godot_4 ··· 31 lunacy 32 lutris 33 # mixxx 34 obsidian 35 oversteer 36 p7zip ··· 46 temurin-bin-17 47 ]; 48 }) 49 + protonup-qt 50 qbittorrent 51 qimgv 52 slack 53 vlc 54 vorta 55 winetricks 56 yt-dlp 57 yubioath-flutter 58 ]; 59 }; 60 }
+12 -1
modules/programs/desktop-cli.nix
··· 1 { 2 delib, 3 pkgs, 4 ... 5 }: ··· 21 minisign 22 mtr 23 nix-output-monitor 24 pgcli 25 rage 26 systemctl-tui ··· 31 enable = true; 32 flake = "/etc/nixos"; 33 }; 34 }; 35 36 darwin.ifEnabled = {myconfig, ...}: { 37 - environment.systemPackages = [pkgs.nh]; 38 environment.variables.NH_FLAKE = "/Users/${myconfig.constants.username}/.config/nix-darwin"; 39 }; 40 }
··· 1 { 2 delib, 3 + lib, 4 pkgs, 5 ... 6 }: ··· 22 minisign 23 mtr 24 nix-output-monitor 25 + opencode 26 pgcli 27 rage 28 systemctl-tui ··· 33 enable = true; 34 flake = "/etc/nixos"; 35 }; 36 + 37 + environment.systemPackages = with pkgs.gst_all_1; [ 38 + gstreamer 39 + gst-vaapi 40 + gst-libav 41 + gst-plugins-good 42 + gst-plugins-ugly 43 + gst-plugins-bad 44 + ]; 45 }; 46 47 darwin.ifEnabled = {myconfig, ...}: { 48 + environment.systemPackages = with pkgs; [nh]; 49 environment.variables.NH_FLAKE = "/Users/${myconfig.constants.username}/.config/nix-darwin"; 50 }; 51 }
+3 -1
modules/programs/direnv.nix
··· 11 nix-direnv.enable = true; 12 config.whitelist.prefix = [ 13 "${homeConfig.home.homeDirectory}/Projects/bots-gg" 14 - "${homeConfig.home.homeDirectory}/Projects/dijit" 15 "${homeConfig.home.homeDirectory}/Projects/personal" 16 "${homeConfig.home.homeDirectory}/Projects/work" 17 ]; 18 }; 19 }
··· 11 nix-direnv.enable = true; 12 config.whitelist.prefix = [ 13 "${homeConfig.home.homeDirectory}/Projects/bots-gg" 14 "${homeConfig.home.homeDirectory}/Projects/personal" 15 "${homeConfig.home.homeDirectory}/Projects/work" 16 + "/Volumes/Developer/bots-gg" 17 + "/Volumes/Developer/personal" 18 + "/Volumes/Developer/work" 19 ]; 20 }; 21 }
-16
modules/programs/firefox.nix
··· 1 - { 2 - delib, 3 - pkgs, 4 - inputs, 5 - ... 6 - }: 7 - delib.module { 8 - name = "programs.firefox"; 9 - 10 - options = delib.singleEnableOption true; 11 - 12 - home.ifEnabled.programs.firefox = { 13 - enable = true; 14 - package = inputs.zen-browser.packages.${pkgs.system}.default; 15 - }; 16 - }
···
+2 -2
modules/programs/fish.nix
··· 84 owner = "PatrickF1"; 85 repo = "fzf.fish"; 86 rev = "8920367cf85eee5218cc25a11e209d46e2591e7a"; 87 - hash = "sha256-lxQZo6APemNjt2c21IL7+uY3YVs81nuaRUL7NDMcB6s="; 88 }; 89 } 90 { ··· 93 owner = "gazorby"; 94 repo = "fifc"; 95 rev = "a01650cd432becdc6e36feeff5e8d657bd7ee84a"; 96 - hash = "sha256-Nrart7WAh2VQhsDDe0EFI59TqvBO56US2MraqencxgE"; 97 }; 98 } 99 {
··· 84 owner = "PatrickF1"; 85 repo = "fzf.fish"; 86 rev = "8920367cf85eee5218cc25a11e209d46e2591e7a"; 87 + hash = "sha256-T8KYLA/r/gOKvAivKRoeqIwE2pINlxFQtZJHpOy9GMM="; 88 }; 89 } 90 { ··· 93 owner = "gazorby"; 94 repo = "fifc"; 95 rev = "a01650cd432becdc6e36feeff5e8d657bd7ee84a"; 96 + hash = "sha256-Ynb0Yd5EMoz7tXwqF8NNKqCGbzTZn/CwLsZRQXIAVp4="; 97 }; 98 } 99 {
+18 -6
modules/programs/git.nix
··· 15 16 programs.git = { 17 enable = true; 18 - userName = userfullname; 19 - userEmail = useremail; 20 - delta.enable = true; 21 22 signing = { 23 signByDefault = true; ··· 25 key = "~/.ssh/id_ed25519_sk_rk"; 26 }; 27 28 - extraConfig = { 29 # TODO: custom pretty stuff? 30 blame.showEmail = true; 31 init.defaultBranch = "main"; ··· 89 default-command = "log"; 90 show-cryptographic-signatures = true; 91 conflict-marker-style = "git"; 92 - diff-formatter = "delta"; 93 editor = "codium -w"; 94 merge-editor = "vscodium"; 95 }; ··· 98 "closest_bookmark(to)" = "heads(::to & bookmarks())"; 99 "p(n)" = "p(@, n)"; 100 "p(r, n)" = "roots(r | ancestors(r-, n))"; 101 }; 102 103 aliases = { ··· 105 n = ["new"]; 106 tug = ["bookmark" "move" "--from" "closest_bookmark(@-)" "--to" "@-"]; 107 tug-here = ["bookmark" "move" "--from" "closest_bookmark(@)" "--to" "@"]; 108 }; 109 110 merge-tools.mergiraf = { ··· 116 117 git = { 118 sign-on-push = true; 119 - push-new-bookmarks = true; 120 write-change-id-header = true; 121 }; 122 ··· 126 key = "~/.ssh/id_ed25519_sk_rk.pub"; 127 backends.ssh.allowed-signers = "~/.config/git/allowed_signers"; 128 }; 129 }; 130 }; 131 132 programs.mergiraf.enable = true;
··· 15 16 programs.git = { 17 enable = true; 18 19 signing = { 20 signByDefault = true; ··· 22 key = "~/.ssh/id_ed25519_sk_rk"; 23 }; 24 25 + settings = { 26 + user = { 27 + name = userfullname; 28 + email = useremail; 29 + }; 30 + 31 # TODO: custom pretty stuff? 32 blame.showEmail = true; 33 init.defaultBranch = "main"; ··· 91 default-command = "log"; 92 show-cryptographic-signatures = true; 93 conflict-marker-style = "git"; 94 + # diff-formatter = "delta"; 95 editor = "codium -w"; 96 merge-editor = "vscodium"; 97 }; ··· 100 "closest_bookmark(to)" = "heads(::to & bookmarks())"; 101 "p(n)" = "p(@, n)"; 102 "p(r, n)" = "roots(r | ancestors(r-, n))"; 103 + "tail()" = "tail(@)"; 104 + "tail(h)" = "roots(trunk()..h)"; 105 }; 106 107 aliases = { ··· 109 n = ["new"]; 110 tug = ["bookmark" "move" "--from" "closest_bookmark(@-)" "--to" "@-"]; 111 tug-here = ["bookmark" "move" "--from" "closest_bookmark(@)" "--to" "@"]; 112 + solve = ["resolve" "--tool" "mergiraf"]; 113 }; 114 115 merge-tools.mergiraf = { ··· 121 122 git = { 123 sign-on-push = true; 124 write-change-id-header = true; 125 }; 126 ··· 130 key = "~/.ssh/id_ed25519_sk_rk.pub"; 131 backends.ssh.allowed-signers = "~/.config/git/allowed_signers"; 132 }; 133 + 134 + remotes.origin.auto-track-bookmarks = "glob:*"; 135 }; 136 + }; 137 + 138 + programs.delta = { 139 + enable = true; 140 + enableGitIntegration = true; 141 + enableJujutsuIntegration = true; 142 }; 143 144 programs.mergiraf.enable = true;
+1 -1
modules/programs/kitty.nix
··· 14 cursor_shape = "block"; 15 cursor_shape_unfocused = "hollow"; 16 scrollback_lines = 10000; 17 - scrollback_pager = "moar +INPUT_LINE_NUMBER"; 18 scrollback_pager_history_size = 5; 19 window_padding_width = 8; 20 hide_window_decorations = true;
··· 14 cursor_shape = "block"; 15 cursor_shape_unfocused = "hollow"; 16 scrollback_lines = 10000; 17 + scrollback_pager = "moor +INPUT_LINE_NUMBER"; 18 scrollback_pager_history_size = 5; 19 window_padding_width = 8; 20 hide_window_decorations = true;
+20
modules/programs/obs-studio.nix
···
··· 1 + { 2 + delib, 3 + pkgs, 4 + ... 5 + }: 6 + delib.module { 7 + name = "programs.obs-studio"; 8 + 9 + options = delib.singleEnableOption true; 10 + 11 + nixos.ifEnabled.programs.obs-studio = { 12 + enable = true; 13 + plugins = with pkgs.obs-studio-plugins; [ 14 + obs-vaapi 15 + obs-gstreamer 16 + obs-vkcapture 17 + obs-pipewire-audio-capture 18 + ]; 19 + }; 20 + }
+38
modules/programs/opencloud.nix
···
··· 1 + { 2 + delib, 3 + homeConfig, 4 + pkgs, 5 + ... 6 + }: let 7 + system = pkgs.stdenv.hostPlatform.system; 8 + in 9 + delib.module { 10 + name = "programs.opencloud"; 11 + 12 + options = delib.singleEnableOption true; 13 + 14 + home.ifEnabled = pkgs.lib.optionalAttrs (system == "x86_64-linux") { 15 + home.packages = [pkgs.opencloud-desktop]; 16 + 17 + systemd.user.services.opencloud-client = { 18 + Unit = { 19 + Description = "OpenCloud Client"; 20 + After = ["graphical-session.target"]; 21 + PartOf = ["graphical-session.target"]; 22 + }; 23 + 24 + Service = { 25 + Environment = ["PATH=${homeConfig.home.profileDirectory}/bin"]; 26 + ExecStart = "${pkgs.opencloud-desktop}/bin/opencloud"; 27 + }; 28 + 29 + Install = { 30 + WantedBy = ["graphical-session.target"]; 31 + }; 32 + }; 33 + }; 34 + 35 + darwin.ifEnabled = { 36 + homebrew.casks = ["opencloud"]; 37 + }; 38 + }
+3 -3
modules/programs/pager.nix
··· 8 9 # TODO: read docs and experiment 10 home.always = { 11 - home.packages = [pkgs.moar]; 12 home.sessionVariables = { 13 - PAGER = "moar"; 14 - MOAR = "--no-linenumbers"; 15 MANPAGER = "sh -c 'col -bx | bat -l man -p'"; 16 MANROFFOPT = "-c"; 17 };
··· 8 9 # TODO: read docs and experiment 10 home.always = { 11 + home.packages = [pkgs.moor]; 12 home.sessionVariables = { 13 + PAGER = "moor"; 14 + MOOR = "--no-linenumbers"; 15 MANPAGER = "sh -c 'col -bx | bat -l man -p'"; 16 MANROFFOPT = "-c"; 17 };
+2
modules/programs/ssh.nix
··· 4 5 home.always.programs.ssh = { 6 enable = true; 7 matchBlocks = { 8 "*" = { 9 identitiesOnly = true;
··· 4 5 home.always.programs.ssh = { 6 enable = true; 7 + enableDefaultConfig = false; 8 + 9 matchBlocks = { 10 "*" = { 11 identitiesOnly = true;
+6 -1
modules/programs/vscode.nix
··· 22 enableExtensionUpdateCheck = false; 23 24 extensions = let 25 - vscode-extensions = inputs.nix-vscode-extensions.extensions.${pkgs.system}; 26 inherit (vscode-extensions) open-vsx vscode-marketplace; 27 in 28 with open-vsx; [ ··· 80 wakatime.vscode-wakatime 81 redhat.vscode-yaml 82 arcanis.vscode-zipfs 83 vscode-marketplace.wraith13.background-phi-colors 84 vscode-marketplace.be5invis.theme-dolch 85 vscode-marketplace.fabiospampinato.vscode-diff ··· 97 "editor.defaultFormatter" = "esbenp.prettier-vscode"; 98 "[elixir]"."editor.defaultFormatter" = "JakeBecker.elixir-ls"; 99 "[nix]"."editor.defaultFormatter" = "kamadorueda.alejandra"; 100 "[prisma]"."editor.defaultFormatter" = "Prisma.prisma"; 101 "[python]"."editor.defaultFormatter" = "ms-python.python"; 102 "[rust]"."editor.defaultFormatter" = "rust-lang.rust-analyzer"; 103 104 # Sane defaults 105 "editor.tabSize" = 2; ··· 148 ]; 149 # "prettier.prettierPath" = "prettierd"; 150 "prettier.proseWrap" = "always"; 151 152 # Pretties 153 "workbench.colorTheme" = "Dolch";
··· 22 enableExtensionUpdateCheck = false; 23 24 extensions = let 25 + system = pkgs.stdenv.hostPlatform.system; 26 + vscode-extensions = inputs.nix-vscode-extensions.extensions.${system}; 27 inherit (vscode-extensions) open-vsx vscode-marketplace; 28 in 29 with open-vsx; [ ··· 81 wakatime.vscode-wakatime 82 redhat.vscode-yaml 83 arcanis.vscode-zipfs 84 + golang.go 85 vscode-marketplace.wraith13.background-phi-colors 86 vscode-marketplace.be5invis.theme-dolch 87 vscode-marketplace.fabiospampinato.vscode-diff ··· 99 "editor.defaultFormatter" = "esbenp.prettier-vscode"; 100 "[elixir]"."editor.defaultFormatter" = "JakeBecker.elixir-ls"; 101 "[nix]"."editor.defaultFormatter" = "kamadorueda.alejandra"; 102 + "[phoenix-heex]"."editor.defaultFormatter" = "JakeBecker.elixir-ls"; 103 "[prisma]"."editor.defaultFormatter" = "Prisma.prisma"; 104 "[python]"."editor.defaultFormatter" = "ms-python.python"; 105 "[rust]"."editor.defaultFormatter" = "rust-lang.rust-analyzer"; 106 + "[go]"."editor.defaultFormatter" = "golang.go"; 107 108 # Sane defaults 109 "editor.tabSize" = 2; ··· 152 ]; 153 # "prettier.prettierPath" = "prettierd"; 154 "prettier.proseWrap" = "always"; 155 + "chat.disableAIFeatures" = true; 156 157 # Pretties 158 "workbench.colorTheme" = "Dolch";
+14
modules/tailscale.nix
···
··· 1 + {delib, ...}: 2 + delib.module { 3 + name = "tailscale"; 4 + 5 + options = delib.singleEnableOption true; 6 + 7 + nixos.ifEnabled.services.tailscale = { 8 + enable = true; 9 + openFirewall = true; 10 + useRoutingFeatures = "client"; 11 + }; 12 + 13 + # home.ifEnabled.services.tailscale-systray.enable = true; 14 + }