{ description = "Complete system and home config"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; home-manager = { url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, home-manager, ... }@inputs: { nixosConfigurations = { arielle = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ ./hosts/arielle home-manager.nixosModules.home-manager { home-manager = { extraSpecialArgs = { inherit inputs; }; useGlobalPkgs = true; useUserPackages = true; users = { till = { imports = [ ./home/minimal.nix ./users/till/home.nix ]; }; }; }; } ]; }; homer = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ ./hosts/homer ]; }; mila = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ ./hosts/mila ]; }; nova = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ ./hosts/nova home-manager.nixosModules.home-manager { home-manager = { extraSpecialArgs = { inherit inputs; }; useGlobalPkgs = true; useUserPackages = true; users = { till = { imports = [ ./home/desktop-full.nix ./users/till/home.nix ]; }; alt = { imports = [ ./home/desktop-slim.nix ./users/alt/home.nix ]; }; guest = { imports = [ ./home/desktop-slim.nix ./users/guest/home.nix ]; }; }; }; } { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (nixpkgs.lib.getName pkg) [ "corefonts" "textfonts" "keymapp" "steam" "steam-unwrapped" ]; } ]; }; }; }; }