{ description = "Wyatt's nix configuration suite"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-24.05"; # nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-24.05-darwin"; home-manager = { url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; darwin = { url = "github:lnl7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs-darwin"; }; }; outputs = inputs @ { self, nixpkgs, darwin, home-manager, ... }: let userName = "wyatt"; userEmail = "wyatt@wyattjmiller.com"; # supportedSystems = ["x86_64-linux" "aarch64-darwin"]; # system = "aarch64-darwin"; # aarch64-darwin or x86_64-darwin # hostname = "sephiroth"; # forAllSystems = nixpkgs.lib.genAttrs supportedSystems; specialArgs = inputs // { inherit userName userEmail; }; in { # Primary laptop - MacBook Pro (2023, M3) darwinConfigurations."sephiroth" = darwin.lib.darwinSystem { inherit specialArgs; system = "aarch64-darwin"; modules = [ ./modules/nix-core.nix ./modules/darwinSystem.nix ./modules/apps.nix ./modules/host-users.nix home-manager.darwinModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = specialArgs; home-manager.users.${userName} = import ./home; } ]; }; # Primary desktop computer nixosConfiguration."cloud" = nixpkgs.lib.nixosSystem { inherit specialArgs; system = "x86_64-linux"; modules = [ /etc/nixos/configuration.nix ./modules/nix-core.nix # ./modules/linuxSystem.nix ./modules/host-users.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.${userName} = import ./home; } ]; }; }; }