{ nixpkgs, nixpkgs-unstable, nixos-hardware, agenix, home-manager, lix-module, authentik-nix, self, ... }: let agenixOverlay = final: prev: { agenix = agenix.packages.${prev.system}.default; }; customOverlays = ( final: prev: { } ); pkgs = system: import nixpkgs { inherit system; overlays = [ agenixOverlay customOverlays ]; config.allowUnfree = true; }; pkgs-unstable = system: import nixpkgs-unstable { inherit system; overlays = [ agenixOverlay customOverlays ]; config.allowUnfree = true; }; nodeBaseModules = { imports = [ # lix-module.nixosModules.default authentik-nix.nixosModules.default ../modules ]; }; proxmoxModule = { imports = [ "${nixpkgs}/nixos/modules/virtualisation/proxmox-lxc.nix" ../modules/virtualisation/proxmox.nix ]; }; in { # deadbeef = nixpkgs.lib.nixosSystem { # pkgs = pkgs "x86_64-linux"; # modules = [ # nodeBaseModules # ./deadbeef # nixos-hardware.nixosModules.dell-xps-15-9560 # home-manager.nixosModules.home-manager # agenix.nixosModules.default # ]; # # specialArgs = { }; # }; baseLXC = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./base-lxc.nix agenix.nixosModules.default ]; specialArgs = { inherit self; }; }; arr = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./arr agenix.nixosModules.default ]; # specialArgs = { }; }; caddy = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./caddy agenix.nixosModules.default ]; # specialArgs = { }; }; metrics = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./metrics agenix.nixosModules.default ]; # specialArgs = { }; }; nextcloud = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./nextcloud agenix.nixosModules.default ]; # specialArgs = { }; }; plex = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./plex agenix.nixosModules.default ]; # specialArgs = { }; }; vaultwarden = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./vaultwarden agenix.nixosModules.default ]; # specialArgs = { }; }; portainer = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./portainer agenix.nixosModules.default ]; # specialArgs = { }; }; authentik = nixpkgs.lib.nixosSystem { pkgs = pkgs-unstable "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./authentik agenix.nixosModules.default ]; # specialArgs = { }; }; colmena = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./colmena agenix.nixosModules.default ]; # specialArgs = { }; }; dns01 = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./dns/dns-01.nix agenix.nixosModules.default ]; # specialArgs = { }; }; dns02 = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./dns/dns-02.nix agenix.nixosModules.default ]; # specialArgs = { }; }; shadowsocks = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./shadowsocks agenix.nixosModules.default ]; # specialArgs = { }; }; immich = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./immich agenix.nixosModules.default ]; # specialArgs = { }; }; firefly-iii = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./firefly-iii agenix.nixosModules.default ]; # specialArgs = { }; }; open-webui = nixpkgs-unstable.lib.nixosSystem { pkgs = pkgs-unstable "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./open-webui/docker.nix agenix.nixosModules.default ]; # specialArgs = { }; }; paperless = nixpkgs-unstable.lib.nixosSystem { pkgs = pkgs-unstable "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./paperless agenix.nixosModules.default ]; # specialArgs = { }; }; zigbee2mqtt = nixpkgs-unstable.lib.nixosSystem { pkgs = pkgs-unstable "x86_64-linux"; modules = [ nodeBaseModules proxmoxModule ./zigbee2mqtt agenix.nixosModules.default ]; # specialArgs = { }; }; }