{ 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, nixpkgs, haumea, flake-utils, nix-kube-generators, nixhelm, }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs {inherit system;}; kubelib = nix-kube-generators.lib {inherit pkgs;}; lib = import ./lib {inherit charts haumea kubelib pkgs;}; # TODO: remove after work user = import ./user { inherit pkgs; turboprop = {inherit lib;}; }; charts = pkgs.lib.attrsets.recursiveUpdate nixhelm.chartsDerivations.${system} (lib.mkCharts ./charts); in { packages = { inherit charts lib user; default = user: import ./src { inherit charts haumea lib pkgs user; }; uhh = (import ./src { inherit charts haumea lib pkgs user; }) .mkDerivation { pname = "test-turboprop"; version = "0.0.1"; serviceRoot = ./services; nsMetadata = import ./namespaces.nix; kubeVersion = pkgs.kubernetes.version; src = builtins.path { path = ./.; name = "test-turboprop"; }; }; }; # TODO: make a template formatter = pkgs.alejandra; }); }