{ config, inputs', ... }: { imports = [ inputs'.uk3s-nix.nixosModules.uk3s inputs'.uk3s-nix.nixosModules.uk3sIstio inputs'.uk3s-nix.nixosModules.uk3sMetalLB inputs'.uk3s-nix.nixosModules.ucontainers inputs'.uk3s-nix.nixosModules.ucontainersNetwork ]; nixpkgs.overlays = [ inputs'.uk3s-nix.overlays.templateHelmChart ]; ucontainers.uk3s.settings = { bind = [ "/mnt/kyle/infrastructure/k3s/postgresql:/var/lib/postgresql" "/mnt/kyle/infrastructure/k3s/rancher:/var/lib/rancher" "/etc/rancher:/etc/rancher" ]; }; environment.systemPackages = [ config.services.uk3s.package ]; services.uk3s = { enable = true; hostAddress = "172.26.96.1/24"; guestAddress = "172.26.96.2/24"; vethNetwork = "172.26.96.0/24"; clusterNetwork = "172.26.80.0/20"; serviceNetwork = "172.26.88.0/21"; hostInterface = "uk3s0"; istio = { enable = true; profile = "kubernetes"; istiod.enable = true; operator.enable = true; }; metallb = { profile = "kubernetes"; enable = true; }; k3s = { settings = { disable = [ "traefik" "servicelb" ]; }; datastore = { type = "postgresql"; }; }; }; }