{ description = "Modular NixOS config for gaming PC + office laptop"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, nixpkgs, home-manager, ... }: let system = "x86_64-linux"; lib = nixpkgs.lib; in { nixosConfigurations = { gaming-amd = lib.nixosSystem { inherit system; modules = [ ./hosts/gaming-amd/configuration.nix ./modules/common/base.nix ./modules/common/networking.nix ./modules/common/users.nix ./modules/common/locale.nix ./modules/desktop/gaming.nix ./modules/services.steam.nix ]; }; laptop-office = lib.nixosSystem { inherit system; modules = [ ./hosts/laptop-office/configuration.nix ./modules/common/base.nix ./modules/common/networking.nix ./modules/common/users.nix ./modules/common/locale.nix ./modules/desktop/office.nix ./modules/services/printing.nix ./modules/services/bluetooth.nix ]; }; }; homeConfigurations = { gamer = home-manager.lib.homeManagerConfiguration { inherit system; modules = [ ./home/gamer/home.nix ]; }; office = home-manager.lib.homeManagerConfiguration { inherit system; modules = [ ./home/office/home.nix ]; }; }; }; }