diff --git a/.config/home-manager/flake.nix b/.config/home-manager/flake.nix index 93db991..a9c447d 100644 --- a/.config/home-manager/flake.nix +++ b/.config/home-manager/flake.nix @@ -1,5 +1,5 @@ { - description = "Home Manager multi-machine flake"; + description = "Multi-machine Home Manager (Linux/macOS/NixOS)"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; @@ -8,12 +8,13 @@ }; outputs = { self, nixpkgs, home-manager, ... }: let - # Get system type (Linux or MacOS, x86_64 or ARM) system = builtins.currentSystem; pkgs = import nixpkgs { inherit system; }; - # Get current machine hostname + + # Grab hostname from environment hostname = builtins.getEnv "HOSTNAME"; in { + # -------- Standalone Home Manager (macOS / non-NixOS Linux) -------- homeConfigurations = { "${hostname}" = home-manager.lib.homeManagerConfiguration { inherit pkgs; @@ -21,7 +22,32 @@ ./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 + ]; + }; + } + ]; + }; }; }; }