{ config, inputs, lib, ... }: let actualPath = [ "home-manager" "users" config.my.user.name "my" "home" ]; aliasPath = [ "my" "home" ]; cfg = config.my.user.home; in { imports = [ inputs.home-manager.nixosModules.home-manager # enable home-manager options (lib.mkAliasOptionModule aliasPath actualPath) # simplify setting home options ]; config = lib.mkIf cfg.enable { home-manager = { # Not a fan of out-of-directory imports, but this is a good exception users.${config.my.user.name} = import ../../home; # Nix Flakes compatibility useGlobalPkgs = true; useUserPackages = true; # Forward inputs to home-manager configuration extraSpecialArgs = { inherit inputs; }; }; }; }