summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKj Tsanaktsidis <kjtsanaktsidis@groq.com>2026-01-09 17:35:26 +1100
committerKj Tsanaktsidis <kjtsanaktsidis@groq.com>2026-01-09 17:35:26 +1100
commit9c0398d0e8585149479ab84ec705f04da97a0812 (patch)
tree3b77e445ffe2d9a32fa27e8c61030b7505a8d556
parent43bf226ea2a9e09d7221e7474473c4d8c4f2a29b (diff)
deploy-rs
-rw-r--r--flake.lock165
-rw-r--r--flake.nix20
2 files changed, 78 insertions, 107 deletions
diff --git a/flake.lock b/flake.lock
index 7942dda..2047b70 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,27 +1,5 @@
{
"nodes": {
- "colmena": {
- "inputs": {
- "flake-compat": "flake-compat",
- "flake-utils": "flake-utils",
- "nix-github-actions": "nix-github-actions",
- "nixpkgs": "nixpkgs",
- "stable": "stable"
- },
- "locked": {
- "lastModified": 1762034856,
- "narHash": "sha256-QVey3iP3UEoiFVXgypyjTvCrsIlA4ecx6Acaz5C8/PQ=",
- "owner": "zhaofengli",
- "repo": "colmena",
- "rev": "349b035a5027f23d88eeb3bc41085d7ee29f18ed",
- "type": "github"
- },
- "original": {
- "owner": "zhaofengli",
- "repo": "colmena",
- "type": "github"
- }
- },
"crane": {
"locked": {
"lastModified": 1765145449,
@@ -37,13 +15,35 @@
"type": "github"
}
},
+ "deploy-rs": {
+ "inputs": {
+ "flake-compat": "flake-compat",
+ "nixpkgs": [
+ "nixpkgs-stable"
+ ],
+ "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"
+ }
+ },
"determinate": {
"inputs": {
"determinate-nixd-aarch64-darwin": "determinate-nixd-aarch64-darwin",
"determinate-nixd-aarch64-linux": "determinate-nixd-aarch64-linux",
"determinate-nixd-x86_64-linux": "determinate-nixd-x86_64-linux",
"nix": "nix",
- "nixpkgs": "nixpkgs_3"
+ "nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1766549083,
@@ -140,11 +140,11 @@
"flake-compat": {
"flake": false,
"locked": {
- "lastModified": 1650374568,
- "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
+ "lastModified": 1733328505,
+ "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra",
"repo": "flake-compat",
- "rev": "b4a34015c698c7793d592d66adbab377907a2be8",
+ "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
@@ -227,21 +227,6 @@
"type": "github"
}
},
- "flake-utils": {
- "locked": {
- "lastModified": 1659877975,
- "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
"git-hooks-nix": {
"inputs": {
"flake-compat": "flake-compat_2",
@@ -339,7 +324,7 @@
"inputs": {
"flake-parts": "flake-parts",
"git-hooks-nix": "git-hooks-nix",
- "nixpkgs": "nixpkgs_2",
+ "nixpkgs": "nixpkgs",
"nixpkgs-23-11": "nixpkgs-23-11",
"nixpkgs-regression": "nixpkgs-regression"
},
@@ -356,27 +341,6 @@
"url": "https://flakehub.com/f/DeterminateSystems/nix-src/%2A"
}
},
- "nix-github-actions": {
- "inputs": {
- "nixpkgs": [
- "colmena",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1729742964,
- "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
- "owner": "nix-community",
- "repo": "nix-github-actions",
- "rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "nix-github-actions",
- "type": "github"
- }
- },
"nix-vm-test": {
"inputs": {
"nixpkgs": [
@@ -468,18 +432,16 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1750134718,
- "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c",
- "type": "github"
+ "lastModified": 1761597516,
+ "narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
+ "rev": "daf6dc47aa4b44791372d6139ab7b25269184d55",
+ "revCount": 811874,
+ "type": "tarball",
+ "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.811874%2Brev-daf6dc47aa4b44791372d6139ab7b25269184d55/019a3494-3498-707e-9086-1fb81badc7fe/source.tar.gz"
},
"original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
+ "type": "tarball",
+ "url": "https://flakehub.com/f/NixOS/nixpkgs/0.2505"
}
},
"nixpkgs-23-11": {
@@ -532,11 +494,11 @@
},
"nixpkgs-stable-release": {
"locked": {
- "lastModified": 1767936624,
- "narHash": "sha256-DTLvOKfRxUBaQgxtuai66w7218p4KRwaOr3y9wQSP9c=",
+ "lastModified": 1767938226,
+ "narHash": "sha256-aEVqawL6l/AXrosfpsUIn5xfgQ8cUnBB/k+F3MLbvOI=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "56b963c3c065c0eb35ebafe8f7dfc8258b6089a2",
+ "rev": "e247353b700eed6b3c43d397da6b16533860ecc6",
"type": "github"
},
"original": {
@@ -564,20 +526,6 @@
},
"nixpkgs_2": {
"locked": {
- "lastModified": 1761597516,
- "narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
- "rev": "daf6dc47aa4b44791372d6139ab7b25269184d55",
- "revCount": 811874,
- "type": "tarball",
- "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.811874%2Brev-daf6dc47aa4b44791372d6139ab7b25269184d55/019a3494-3498-707e-9086-1fb81badc7fe/source.tar.gz"
- },
- "original": {
- "type": "tarball",
- "url": "https://flakehub.com/f/NixOS/nixpkgs/0.2505"
- }
- },
- "nixpkgs_3": {
- "locked": {
"lastModified": 1766314097,
"narHash": "sha256-laJftWbghBehazn/zxVJ8NdENVgjccsWAdAqKXhErrM=",
"rev": "306ea70f9eb0fb4e040f8540e2deab32ed7e2055",
@@ -615,7 +563,7 @@
},
"root": {
"inputs": {
- "colmena": "colmena",
+ "deploy-rs": "deploy-rs",
"determinate": "determinate",
"disko": "disko",
"home-manager": "home-manager",
@@ -668,19 +616,18 @@
"type": "github"
}
},
- "stable": {
+ "systems": {
"locked": {
- "lastModified": 1750133334,
- "narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "36ab78dab7da2e4e27911007033713bab534187b",
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
- "owner": "NixOS",
- "ref": "nixos-25.05",
- "repo": "nixpkgs",
+ "owner": "nix-systems",
+ "repo": "default",
"type": "github"
}
},
@@ -704,6 +651,24 @@
"repo": "treefmt-nix",
"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"
+ }
}
},
"root": "root",
diff --git a/flake.nix b/flake.nix
index af40da0..8db62ff 100644
--- a/flake.nix
+++ b/flake.nix
@@ -15,11 +15,13 @@
inputs.lanzaboote.url = "github:nix-community/lanzaboote/v1.0.0";
inputs.lanzaboote.inputs.nixpkgs.follows = "nixpkgs-stable";
inputs.determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/*";
- inputs.colmena.url = "github:zhaofengli/colmena";
+ inputs.deploy-rs.url = "github:serokell/deploy-rs";
+ inputs.deploy-rs.inputs.nixpkgs.follows = "nixpkgs-stable";
- outputs = { self, nixpkgs-stable, nixos-anywhere, lanzaboote, colmena, ... }@inputs:
+ outputs = { self, nixpkgs-stable, nixos-anywhere, lanzaboote, deploy-rs, ... }@inputs:
let
nixpkgs = nixpkgs-stable;
+ nixpkgsFor = system: import nixpkgs { inherit system; };
systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
forAllSystems = nixpkgs.lib.genAttrs systems;
in
@@ -32,10 +34,14 @@
];
};
- colmenaHive = colmena.lib.makeHive {
- meta.nixpkgs = nixpkgs;
- labsrv01 = {
- nixosConfiguration = self.nixosConfigurations.labsrv01;
+ deploy.nodes.labsrv01 = {
+ hostname = "labsrv01";
+ magicRollback = false;
+ profiles.system = {
+ sshUser = "kjtsanaktsidis";
+ interactiveSudo = true;
+ user = "root";
+ path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.labsrv01;
};
};
@@ -73,7 +79,7 @@
pkgs.ruby
pkgs.age
pkgs.mkpasswd
- inputs.colmena.packages.${system}.colmena
+ inputs.deploy-rs.packages.${system}.default
self.packages.${system}.nixos-update
];
};