{ inputs, config, ... }: let inherit (cfg.lib) flattenAttrs; cfg = config.flake; hm = inputs.home-manager; globalCfg = { useGlobalPkgs = true; useUserPackages = true; sharedModules = [ (flattenAttrs (cfg.modules.homeManager or { })) ]; }; in { imports = [ hm.flakeModules.home-manager ]; flake.modules.nixos.default.imports = [ hm.nixosModules.home-manager ]; flake.modules.nixos.default.config.home-manager = globalCfg; }