{ description = "Nixos config flake"; inputs = { nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.05"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs-unstable"; sops-nix.url = "github:Mic92/sops-nix"; sops-nix.inputs.nixpkgs.follows = "nixpkgs-unstable"; firefox-addons.url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; firefox-addons.inputs.nixpkgs.follows = "nixpkgs-unstable"; }; outputs = { nixpkgs-stable, nixpkgs-unstable, ... }@inputs: let mkSystem = { host_name, system ? "x86_64-linux", pkgs ? nixpkgs-unstable }: pkgs.lib.nixosSystem { inherit system; specialArgs = { inherit inputs; }; modules = [ ./hosts/${host_name} ]; }; hosts = { desk = {}; lap = {}; vm_ollama = {}; vps_west = { pkgs = nixpkgs-stable; }; vps_east = { pkgs = nixpkgs-stable; }; }; in { nixosConfigurations = builtins.mapAttrs (host_name: config: mkSystem (config // { inherit host_name; }) ) hosts; }; }