79 lines
1.8 KiB
Nix
79 lines
1.8 KiB
Nix
{
|
|
description = "computer systems infrastructure";
|
|
|
|
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 = {
|
|
system,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
devShells.default = pkgs.mkShell {
|
|
KUSTOMIZE_PLUGIN_HOME = pkgs.buildEnv {
|
|
name = "kustomize-plugins";
|
|
paths = with pkgs; [
|
|
kustomize-sops
|
|
];
|
|
postBuild = ''
|
|
mv $out/lib/* $out
|
|
rm -r $out/lib
|
|
'';
|
|
pathsToLink = ["/lib"];
|
|
};
|
|
|
|
packages = with pkgs; [
|
|
sops
|
|
ssh-to-age
|
|
# not included: age, gpg, pcscd, scdaemon, etc.
|
|
|
|
deploy-rs
|
|
nixos-anywhere
|
|
|
|
argocd
|
|
kubectl
|
|
kustomize
|
|
kubernetes-helm
|
|
|
|
yamllint
|
|
|
|
nil
|
|
alejandra
|
|
statix
|
|
deadnix
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|