iac/flake.nix
2026-08-28 18:47:34 +02:00

57 lines
1.4 KiB
Nix

{
description = "flake to deploy and manage cccb k8s cluster";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
nixpkgs-k8s.url = "github:NixOS/nixpkgs/b691719c74533048a7482453206ac13bf050e57d"; # kubernetes 1.36.3
flake-utils.url = "github:numtide/flake-utils";
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
NixVirt = {
url = "https://flakehub.com/f/AshleyYakeley/NixVirt/*.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
# k8nix = {
# url = "gitlab:luxzeitlos/k8nix/develop";
# inputs.nixpkgs.follows = "nixpkgs";
# };
};
outputs =
inputs@{
self,
nixpkgs,
nixpkgs-k8s,
flake-utils,
agenix,
NixVirt,
# k8nix,
}:
{
nixosConfigurations = (import ./nixosConfigurations.nix inputs);
}
// flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs { inherit system; };
pkgs-k8s = import nixpkgs-k8s { inherit system; };
in
{
formatter = pkgs.nixfmt-tree;
apps = (import ./apps.nix pkgs pkgs-k8s);
devShells.default = pkgs.mkShell {
packages = with pkgs; [
agenix.packages.${system}.default
gnumake
pkgs-k8s.kubectl
cfssl
# debugging
age
etcd_3_6
openssl
];
};
}
);
}