{ inputs, self, ... }: { imports = [ inputs.home-manager.flakeModules.home-manager ]; flake.nixosModules.globalOptions = { lib, ... }: { options.features.nixos.home-manager.enable = lib.mkEnableOption "Home Manager (as a NixOS module)"; }; flake.nixosModules.global = { pkgs, lib, config, ... }: { imports = [ inputs.home-manager.nixosModules.default ]; config.home-manager = lib.mkIf (config.features.nixos.home-manager.enable) { useGlobalPkgs = true; useUserPackages = true; backupFileExtension = "bak"; extraSpecialArgs = { inherit inputs; }; users.${config.info.userName} = self.homeModules."${config.info.userName}@${config.info.hostName}"; }; }; }