{ description = "NixOS configuration with Home Manager"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/23.11"; home-manager = { url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ nixpkgs, home-manager, ... }: { nixosConfigurations = { galvatron = nixpkgs.lib.nixosSystem { system = "aarch64-linux"; modules = [ ./galvatron/configuration.nix ./galvatron/hardware-configuration.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.mir = import ./home.nix; } ]; }; starscream = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./configuration.nix { networking.hostName = "starscream"; } ./hardware/starscream-hw.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.mir = import ./home.nix; # Optionally, use home-manager.extraSpecialArgs to pass arguments to home.nix } ]; }; knockout = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./configuration.nix { networking.hostName = "knockout"; } ./hardware/knockout-hw.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.mir = import ./home.nix; # Optionally, use home-manager.extraSpecialArgs to pass arguments to home.nix } ]; }; }; }; }