{ description = "k8s land"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; flake-parts.url = "github:hercules-ci/flake-parts"; sops-nix.url = "github:Mic92/sops-nix"; sops-nix.inputs.nixpkgs.follows = "nixpkgs"; disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; deploy-rs.url = "github:serokell/deploy-rs"; deploy-rs.inputs.nixpkgs.follows = "nixpkgs"; impermanence.url = "github:nix-community/impermanence"; min-rip.url = "git+ssh://git@git.min.rip/min/min.rip.git"; min-rip.flake = false; breeze.url = "git+https://git.min.rip/min/breeze.git"; breeze.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs @ {self, ...}: inputs.flake-parts.lib.mkFlake {inherit inputs;} { flake = let hosts = import ./nixos/hosts {inherit inputs;}; in { inherit (hosts) nixosConfigurations deploy; }; systems = ["x86_64-linux"]; perSystem = { pkgs, system, ... }: { devShells.default = pkgs.mkShell { packages = with pkgs; [ sops ssh-to-age # not included: age, gpg, pcscd, etc. deploy-rs nixos-anywhere argocd kubectl kubernetes-helm minikube cilium-cli hubble yamllint nil alejandra statix deadnix ]; }; }; }; }