All my system configs and packages in one repo

flake: deploy to focaccia with deploy-rs

pluie.me 730f85cf 3e80a013

verified
+116 -10
+78 -6
flake.lock
··· 1 1 { 2 2 "nodes": { 3 + "deploy-rs": { 4 + "inputs": { 5 + "flake-compat": "flake-compat", 6 + "nixpkgs": [ 7 + "nixpkgs" 8 + ], 9 + "utils": "utils" 10 + }, 11 + "locked": { 12 + "lastModified": 1766051518, 13 + "narHash": "sha256-znKOwPXQnt3o7lDb3hdf19oDo0BLP4MfBOYiWkEHoik=", 14 + "owner": "serokell", 15 + "repo": "deploy-rs", 16 + "rev": "d5eff7f948535b9c723d60cd8239f8f11ddc90fa", 17 + "type": "github" 18 + }, 19 + "original": { 20 + "owner": "serokell", 21 + "repo": "deploy-rs", 22 + "type": "github" 23 + } 24 + }, 3 25 "flake-compat": { 4 26 "flake": false, 5 27 "locked": { 28 + "lastModified": 1733328505, 29 + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", 30 + "owner": "edolstra", 31 + "repo": "flake-compat", 32 + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", 33 + "type": "github" 34 + }, 35 + "original": { 36 + "owner": "edolstra", 37 + "repo": "flake-compat", 38 + "type": "github" 39 + } 40 + }, 41 + "flake-compat_2": { 42 + "flake": false, 43 + "locked": { 6 44 "lastModified": 1761588595, 7 45 "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", 8 46 "owner": "edolstra", ··· 16 54 "type": "github" 17 55 } 18 56 }, 19 - "flake-compat_2": { 57 + "flake-compat_3": { 20 58 "locked": { 21 59 "lastModified": 1747046372, 22 60 "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", ··· 71 109 }, 72 110 "flake-utils": { 73 111 "inputs": { 74 - "systems": "systems" 112 + "systems": "systems_2" 75 113 }, 76 114 "locked": { 77 115 "lastModified": 1731533236, ··· 89 127 }, 90 128 "ghostty": { 91 129 "inputs": { 92 - "flake-compat": "flake-compat", 130 + "flake-compat": "flake-compat_2", 93 131 "flake-utils": "flake-utils", 94 132 "home-manager": "home-manager", 95 133 "nixpkgs": [ ··· 204 242 }, 205 243 "ndg": { 206 244 "inputs": { 207 - "flake-compat": "flake-compat_2", 245 + "flake-compat": "flake-compat_3", 208 246 "flake-parts": "flake-parts_2", 209 247 "nixpkgs": [ 210 248 "hjem", ··· 362 400 }, 363 401 "root": { 364 402 "inputs": { 403 + "deploy-rs": "deploy-rs", 365 404 "flake-parts": "flake-parts", 366 405 "ghostty": "ghostty", 367 406 "hjem": "hjem", ··· 424 463 "nixpkgs" 425 464 ], 426 465 "rust-overlay": "rust-overlay", 427 - "systems": "systems_2" 466 + "systems": "systems_3" 428 467 }, 429 468 "locked": { 430 469 "lastModified": 1759458325, ··· 448 487 "nixpkgs" 449 488 ], 450 489 "rust-overlay": "rust-overlay_2", 451 - "systems": "systems_3" 490 + "systems": "systems_4" 452 491 }, 453 492 "locked": { 454 493 "lastModified": 1749906619, ··· 509 548 "type": "github" 510 549 } 511 550 }, 551 + "systems_4": { 552 + "locked": { 553 + "lastModified": 1681028828, 554 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 555 + "owner": "nix-systems", 556 + "repo": "default", 557 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 558 + "type": "github" 559 + }, 560 + "original": { 561 + "owner": "nix-systems", 562 + "repo": "default", 563 + "type": "github" 564 + } 565 + }, 512 566 "treefmt-nix": { 513 567 "inputs": { 514 568 "nixpkgs": [ ··· 527 581 "original": { 528 582 "owner": "numtide", 529 583 "repo": "treefmt-nix", 584 + "type": "github" 585 + } 586 + }, 587 + "utils": { 588 + "inputs": { 589 + "systems": "systems" 590 + }, 591 + "locked": { 592 + "lastModified": 1731533236, 593 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 594 + "owner": "numtide", 595 + "repo": "flake-utils", 596 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 597 + "type": "github" 598 + }, 599 + "original": { 600 + "owner": "numtide", 601 + "repo": "flake-utils", 530 602 "type": "github" 531 603 } 532 604 },
+37 -3
flake.nix
··· 15 15 16 16 # NOTE: please keep this in alphabetical order. 17 17 18 + deploy-rs = { 19 + url = "github:serokell/deploy-rs"; 20 + inputs.nixpkgs.follows = "nixpkgs"; 21 + }; 22 + 18 23 flake-parts = { 19 24 url = "github:hercules-ci/flake-parts"; 20 25 inputs.nixpkgs-lib.follows = "nixpkgs"; ··· 87 92 hjem-ext = import ./modules/hjem-ext; 88 93 hjem-ctp = import ./modules/hjem-ctp; 89 94 }; 95 + 96 + # deploy-rs Nodes 97 + deploy.nodes.focaccia = { 98 + sshOpts = [ 99 + "-p" 100 + "42069" 101 + ]; 102 + hostname = "focaccia.pluie.me"; 103 + profiles = { 104 + system = { 105 + path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.focaccia; 106 + user = "root"; 107 + sshUser = "root"; 108 + }; 109 + }; 110 + }; 111 + 112 + # This is highly advised, and will prevent many possible mistakes 113 + checks = builtins.mapAttrs ( 114 + _: deployLib: deployLib.deployChecks inputs.self.deploy 115 + ) inputs.deploy-rs.lib; 90 116 }; 91 117 92 118 perSystem = 93 - { pkgs, ... }: 119 + { system, ... }: 120 + let 121 + # Allow Flake checks to pass 122 + pkgs = import inputs.nixpkgs { 123 + inherit system; 124 + config.allowUnfree = true; 125 + }; 126 + in 94 127 { 95 128 packages = packages' pkgs; 96 129 97 130 devShells.default = pkgs.mkShellNoCC { 98 131 packages = with pkgs; [ 99 - nil 100 - nixfmt-rfc-style 132 + nixd 133 + nixfmt 134 + deploy-rs 101 135 ]; 102 136 }; 103 137 };
+1 -1
systems/fettuccine/default.nix
··· 6 6 }: 7 7 { 8 8 imports = with inputs.nixos-hardware.nixosModules; [ 9 - ../common.nix 9 + ../laptop.nix 10 10 ./hardware-configuration.nix 11 11 asus-zephyrus-gu603h 12 12 ];