{ description = "Multi-machine Home Manager (Linux/macOS/NixOS)"; 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 = builtins.currentSystem; pkgs = import nixpkgs { inherit system; }; # Grab hostname from environment hostname = builtins.getEnv "HOSTNAME"; in { # -------- Standalone Home Manager (macOS / non-NixOS Linux) -------- homeConfigurations = { "${hostname}" = home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./common.nix ./${hostname}/home.nix ]; }; }; # -------- NixOS Integration -------- nixosConfigurations = { "${hostname}" = nixpkgs.lib.nixosSystem { inherit system; modules = [ ./configuration.nix # Enable Home Manager as NixOS module home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.elisha = { imports = [ ./common.nix ./${hostname}/home.nix ]; }; } ]; }; }; }; }