From c08407b571b1c962e0b5e09d82d164b8dc4aef36 Mon Sep 17 00:00:00 2001 From: Baitinq Date: Thu, 13 Oct 2022 16:09:29 +0200 Subject: Misc: Add deploy-rs tool and setup deploy configurations --- flake.lock | Bin 3900 -> 5359 bytes flake.nix | 25 +++++++++++++++++++++++++ hosts/configuration.nix | 1 + 3 files changed, 26 insertions(+) diff --git a/flake.lock b/flake.lock index 476bf7d..14ac3c9 100644 Binary files a/flake.lock and b/flake.lock differ diff --git a/flake.nix b/flake.nix index 9d87f10..f3342cd 100644 --- a/flake.nix +++ b/flake.nix @@ -13,6 +13,11 @@ impermanence.url = "github:nix-community/impermanence"; + deploy-rs = { + url = "github:serokell/deploy-rs"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nur.url = "github:nix-community/NUR"; nix-index.url = "github:Mic92/nix-index-database"; @@ -81,5 +86,25 @@ isIso = false; isHardware = false; }); + + + deploy = { + magicRollback = true; + autoRollback = true; + + nodes = builtins.mapAttrs + (_: nixosConfig: { + hostname = "${nixosConfig.config.networking.hostName}"; + + profiles.system = { + user = "root"; + path = inputs.deploy-rs.lib.${nixosConfig.config.nixpkgs.system}.activate.nixos nixosConfig; + }; + }) + self.nixosConfigurations; + }; + + # This is highly advised, and will prevent many possible mistakes + checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) inputs.deploy-rs.lib; }; } diff --git a/hosts/configuration.nix b/hosts/configuration.nix index 4e0293c..fba0f28 100644 --- a/hosts/configuration.nix +++ b/hosts/configuration.nix @@ -120,6 +120,7 @@ comma xclip strace + inputs.deploy-rs.defaultPackage."${system}" ]; environment.defaultPackages = [ ]; -- cgit 1.4.1