{ 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: { # caddy-custom = prev.callPackage ../overlay/caddy-custom.nix { }; # jellyseerr = nixpkgs-unstable.legacyPackages."x86_64-linux".jellyseerr; } ); pkgs = system: import nixpkgs { inherit system; overlays = [ agenixOverlay customOverlays ]; config.allowUnfree = true; # Necessary for Sonarr on arr host config.permittedInsecurePackages = [ "aspnetcore-runtime-6.0.36" "aspnetcore-runtime-wrapped-6.0.36" "dotnet-sdk-6.0.428" "dotnet-sdk-wrapped-6.0.428" ]; }; pkgs-unstable = system: import nixpkgs-unstable { inherit system; overlays = [ agenixOverlay customOverlays ]; config.allowUnfree = true; }; myModules = { 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 = [ # myModules # ./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 = [ myModules proxmoxModule ./base-lxc.nix agenix.nixosModules.default ]; specialArgs = { inherit self; }; }; arr = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./arr agenix.nixosModules.default ]; # specialArgs = { }; }; caddy = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./caddy agenix.nixosModules.default ]; # specialArgs = { }; }; metrics = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./metrics agenix.nixosModules.default ]; # specialArgs = { }; }; nextcloud = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./nextcloud agenix.nixosModules.default ]; # specialArgs = { }; }; plex = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./plex agenix.nixosModules.default ]; # specialArgs = { }; }; vaultwarden = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./vaultwarden agenix.nixosModules.default ]; # specialArgs = { }; }; portainer = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./portainer agenix.nixosModules.default ]; # specialArgs = { }; }; authentik = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./authentik agenix.nixosModules.default ]; # specialArgs = { }; }; colmena = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./colmena agenix.nixosModules.default ]; # specialArgs = { }; }; dns01 = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./dns/dns-01.nix agenix.nixosModules.default ]; # specialArgs = { }; }; dns02 = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./dns/dns-02.nix agenix.nixosModules.default ]; # specialArgs = { }; }; shadowsocks = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./shadowsocks agenix.nixosModules.default ]; # specialArgs = { }; }; immich = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./immich agenix.nixosModules.default ]; # specialArgs = { }; }; firefly-iii = nixpkgs.lib.nixosSystem { pkgs = pkgs "x86_64-linux"; modules = [ myModules proxmoxModule ./firefly-iii agenix.nixosModules.default ]; # specialArgs = { }; }; open-webui = nixpkgs-unstable.lib.nixosSystem { pkgs = pkgs-unstable "x86_64-linux"; modules = [ myModules proxmoxModule ./open-webui/docker.nix agenix.nixosModules.default ]; # specialArgs = { }; }; paperless = nixpkgs-unstable.lib.nixosSystem { pkgs = pkgs-unstable "x86_64-linux"; modules = [ myModules proxmoxModule ./paperless agenix.nixosModules.default ]; # specialArgs = { }; }; }