diff --git a/flake.lock b/flake.lock index 51fe075..fffcba7 100644 --- a/flake.lock +++ b/flake.lock @@ -1,6 +1,44 @@ { "nodes": { + "deploy-rs": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": [ + "nixpkgs" + ], + "utils": "utils" + }, + "locked": { + "lastModified": 1766051518, + "narHash": "sha256-znKOwPXQnt3o7lDb3hdf19oDo0BLP4MfBOYiWkEHoik=", + "owner": "serokell", + "repo": "deploy-rs", + "rev": "d5eff7f948535b9c723d60cd8239f8f11ddc90fa", + "type": "github" + }, + "original": { + "owner": "serokell", + "repo": "deploy-rs", + "type": "github" + } + }, "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "flake": false, "locked": { "lastModified": 1761588595, @@ -16,7 +54,7 @@ "type": "github" } }, - "flake-compat_2": { + "flake-compat_3": { "locked": { "lastModified": 1747046372, "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", @@ -71,7 +109,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1731533236, @@ -89,7 +127,7 @@ }, "ghostty": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-utils": "flake-utils", "home-manager": "home-manager", "nixpkgs": [ @@ -204,7 +242,7 @@ }, "ndg": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "flake-parts": "flake-parts_2", "nixpkgs": [ "hjem", @@ -362,6 +400,7 @@ }, "root": { "inputs": { + "deploy-rs": "deploy-rs", "flake-parts": "flake-parts", "ghostty": "ghostty", "hjem": "hjem", @@ -424,7 +463,7 @@ "nixpkgs" ], "rust-overlay": "rust-overlay", - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1759458325, @@ -448,7 +487,7 @@ "nixpkgs" ], "rust-overlay": "rust-overlay_2", - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1749906619, @@ -509,6 +548,21 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -530,6 +584,24 @@ "type": "github" } }, + "utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "zig": { "inputs": { "flake-compat": [ diff --git a/flake.nix b/flake.nix index ad4bd70..4ca19b0 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,11 @@ # NOTE: please keep this in alphabetical order. + deploy-rs = { + url = "github:serokell/deploy-rs"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; @@ -87,17 +92,46 @@ hjem-ext = import ./modules/hjem-ext; hjem-ctp = import ./modules/hjem-ctp; }; + + # deploy-rs Nodes + deploy.nodes.focaccia = { + sshOpts = [ + "-p" + "42069" + ]; + hostname = "focaccia.pluie.me"; + profiles = { + system = { + path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.focaccia; + user = "root"; + sshUser = "root"; + }; + }; + }; + + # This is highly advised, and will prevent many possible mistakes + checks = builtins.mapAttrs ( + _: deployLib: deployLib.deployChecks inputs.self.deploy + ) inputs.deploy-rs.lib; }; perSystem = - { pkgs, ... }: + { system, ... }: + let + # Allow Flake checks to pass + pkgs = import inputs.nixpkgs { + inherit system; + config.allowUnfree = true; + }; + in { packages = packages' pkgs; devShells.default = pkgs.mkShellNoCC { packages = with pkgs; [ - nil - nixfmt-rfc-style + nixd + nixfmt + deploy-rs ]; }; }; diff --git a/systems/fettuccine/default.nix b/systems/fettuccine/default.nix index f05d4e3..57f0d79 100644 --- a/systems/fettuccine/default.nix +++ b/systems/fettuccine/default.nix @@ -6,7 +6,7 @@ }: { imports = with inputs.nixos-hardware.nixosModules; [ - ../common.nix + ../laptop.nix ./hardware-configuration.nix asus-zephyrus-gu603h ];