1
0
Fork 0
mirror of https://git.sr.ht/~goorzhel/turboprop synced 2024-12-14 11:37:37 +00:00
turboprop/flake.nix
Antonio Gurgel f8e2703225 s/user/userData
"user" alone is too ambiguous for a variable name.
2024-07-24 21:11:51 -07:00

62 lines
1.6 KiB
Nix

{
description = "Templates Helm deployments using Nix";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
flake-utils.url = "github:numtide/flake-utils";
haumea = {
url = "github:nix-community/haumea/v0.2.2";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-kube-generators.url = "github:farcaller/nix-kube-generators";
nixhelm = {
url = "github:farcaller/nixhelm";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs @ {
self,
flake-utils,
haumea,
nix-kube-generators,
nixpkgs,
nixhelm,
}:
{
templates.default = {
path = ./templates/default;
description = "Example Turboprop flake";
};
}
// flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs {inherit system;};
kubelib = nix-kube-generators.lib {inherit pkgs;};
nixhelmCharts = nixhelm.chartsDerivations.${system};
lib = import ./lib {inherit kubelib pkgs;};
mkCharts = src:
haumea.lib.load {
inherit src;
loader = {...}: p: lib.fetchers.helmChart (import p);
transformer = haumea.lib.transformers.liftDefault;
};
in {
lib = lib // {
mkDerivation = {
charts,
userData ? {},
}:
(import self {
inherit charts haumea lib pkgs userData;
})
.mkDerivation;
inherit mkCharts;
mkChartsWithNixhelm = src:
pkgs.lib.attrsets.recursiveUpdate
nixhelmCharts
(mkCharts src);
};
});
}