{ description = "NixOS configuration with Home Manager"; inputs = { # nixpkgs.url = "github:nixos/nixpkgs/23.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; apple-silicon = { url = "github:tpwrules/nixos-apple-silicon"; }; 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 = [ ./configuration.nix { hardware.asahi.peripheralFirmwareDirectory = ./galvatron/firmware; # hardware.asahi.useExperimentalGPUDriver = true; boot.loader.efi.canTouchEfiVariables = false; networking.hostName = "galvatron"; sound.enable = false; } ./galvatron/hardware-configuration.nix inputs.apple-silicon.nixosModules.apple-silicon-support 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"; boot.loader.efi.canTouchEfiVariables = true; sound.enable = true; } ./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"; boot.loader.efi.canTouchEfiVariables = true; sound.enable = true; } ./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 } ]; }; }; }; }