feat: interoperate [deploy-rs, colmena]

This commit is contained in:
Kat Inskip 2025-10-13 04:25:45 -07:00
parent 0fef01bfe6
commit f108a20f26
Signed by: kat
GPG key ID: 465E64DECEA8CF0F
15 changed files with 235 additions and 122 deletions

38
colmena.nix Normal file
View file

@ -0,0 +1,38 @@
{
inputs,
systems,
lib,
...
}: rec {
colmenaHive = inputs.colmena.lib.makeHive colmena;
colmena = let
inherit (lib.attrsets) mapAttrs filterAttrs;
colmenaBase = {
meta = {
description = "Kat's Infrastructure";
nodeSpecialArgs = mapAttrs (_k: v: v._module.specialArgs) systems.nixosConfigurations;
nodeNixpkgs = mapAttrs (_k: v: v.config.pkgs) systems.systems;
nixpkgs = import inputs.nixpkgs {
# this upsets me deeply.
system = "x86_64-linux";
overlays = [];
};
};
};
colmenaHosts = mapAttrs (_k: v: {
config,
lib,
...
}: let
inherit (lib.modules) mkDefault;
in {
imports = v.config.modules;
deployment =
{
targetPort = mkDefault (builtins.head config.services.openssh.ports);
}
// v.config.colmena;
}) (filterAttrs (_k: v: v.config.folder == "nixos") systems.systems);
in
colmenaBase // colmenaHosts;
}