{ description = "L config"; inputs = { nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; home-manager = { url = "github:nix-community/home-manager?ref=release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { url = "github:nix-community/nixvim?ref=nixos-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager-unstable = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; nixvim-unstable = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; sops-nix-unstable = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; firefox-addons-unstable = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; }; outputs = inputs: let system = "x86_64-linux"; in { nixosConfigurations = let nixosSystem = name: stable: hostConfig: if stable then inputs.nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs system name; }; modules = [ ./hosts/${name}/configuration.nix inputs.sops-nix.nixosModules.sops inputs.home-manager.nixosModules.home-manager { home-manager.useUserPackages = true; home-manager.users.vbm = ./hosts/${name}/home.nix; home-manager.extraSpecialArgs = { inherit inputs system stable; }; home-manager.sharedModules = [ inputs.nixvim.homeModules.nixvim inputs.sops-nix.homeManagerModules.sops ]; } ]; } else inputs.nixpkgs-unstable.lib.nixosSystem { specialArgs = { inherit inputs system name; }; modules = [ ./hosts/${name}/configuration.nix inputs.sops-nix-unstable.nixosModules.sops inputs.home-manager-unstable.nixosModules.home-manager { home-manager-unstable.useUserPackages = true; home-manager-unstable.users.vbm = ./hosts/${name}/home.nix; home-manager-unstable.extraSpecialArgs = { inherit inputs system stable; }; home-manager-unstable.sharedModules = [ inputs.nixvim-unstable.homeModules.nixvim inputs.sops-nix-unstable.homeManagerModules.sops ]; } ]; }; in { talos = nixosSystem "talos" false { }; perseus = nixosSystem "perseus" true { }; }; }; }