feat: add deploy-rs

This commit is contained in:
winston 2024-09-16 17:04:33 +02:00
parent 183b98a728
commit d9f0ada04f
Signed by: winston
GPG key ID: 3786770EDBC2B481
2 changed files with 57 additions and 13 deletions

View file

@ -73,6 +73,30 @@
"type": "github" "type": "github"
} }
}, },
"deploy-rs": {
"inputs": {
"flake-compat": [],
"nixpkgs": [
"nixpkgs"
],
"utils": [
"flake-utils"
]
},
"locked": {
"lastModified": 1718194053,
"narHash": "sha256-FaGrf7qwZ99ehPJCAwgvNY5sLCqQ3GDiE/6uLhxxwSY=",
"owner": "serokell",
"repo": "deploy-rs",
"rev": "3867348fa92bc892eba5d9ddb2d7a97b9e127a8a",
"type": "github"
},
"original": {
"owner": "serokell",
"repo": "deploy-rs",
"type": "github"
}
},
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
@ -235,6 +259,7 @@
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
"attic": "attic", "attic": "attic",
"deploy-rs": "deploy-rs",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_2",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"home-manager": "home-manager", "home-manager": "home-manager",

View file

@ -3,6 +3,7 @@
flake-parts, flake-parts,
nixpkgs, nixpkgs,
nixpkgs-unstable, nixpkgs-unstable,
self,
... ...
} @ inputs: let } @ inputs: let
overlays = [ overlays = [
@ -34,6 +35,17 @@
]; ];
specialArgs = {inherit inputs;}; specialArgs = {inherit inputs;};
}; };
checks = builtins.mapAttrs (_: deployLib: deployLib.deployChecks self.deploy) inputs.deploy-rs.lib;
deploy.nodes.main-node = {
hostname = "winston.sh";
profiles.system = {
user = "winston";
remoteBuild = true;
path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.main-node;
};
};
}; };
perSystem = { perSystem = {
@ -48,6 +60,20 @@
inherit overlays system; inherit overlays system;
}; };
devShells.default = pkgs.mkShell {
inherit (config.pre-commit.devShell) shellHook;
buildInputs = [
inputs'.agenix.packages.agenix
pkgs.age-plugin-yubikey
pkgs.unstable.deploy-rs
pkgs.unstable.nh
pkgs.unstable.nixd
self'.formatter
];
};
formatter = pkgs.alejandra;
pre-commit = { pre-commit = {
check.enable = true; check.enable = true;
settings.excludes = ["_sources/"]; settings.excludes = ["_sources/"];
@ -60,19 +86,6 @@
shellcheck.enable = true; shellcheck.enable = true;
}; };
}; };
devShells.default = pkgs.mkShell {
inherit (config.pre-commit.devShell) shellHook;
buildInputs = [
inputs'.agenix.packages.agenix
pkgs.age-plugin-yubikey
pkgs.unstable.nh
pkgs.unstable.nil
self'.formatter
];
};
formatter = pkgs.alejandra;
}; };
imports = [inputs.pre-commit-hooks.flakeModule]; imports = [inputs.pre-commit-hooks.flakeModule];
@ -106,6 +119,12 @@
inputs.flake-compat.follows = ""; inputs.flake-compat.follows = "";
inputs.flake-utils.follows = "flake-utils"; inputs.flake-utils.follows = "flake-utils";
}; };
deploy-rs = {
url = "github:serokell/deploy-rs";
inputs.flake-compat.follows = "";
inputs.nixpkgs.follows = "nixpkgs";
inputs.utils.follows = "flake-utils";
};
pre-commit-hooks = { pre-commit-hooks = {
url = "github:cachix/pre-commit-hooks.nix"; url = "github:cachix/pre-commit-hooks.nix";
inputs.flake-compat.follows = ""; inputs.flake-compat.follows = "";