{ options, config, pkgs, lib, inputs, ... }: with lib; with lib.metacfg; let cfg = config.metacfg.home; in { # imports = with inputs; [ # home-manager.darwinModules.home-manager # ]; options.metacfg.home = with types; { file = mkOpt attrs { } "A set of files to be managed by home-manager's ."; configFile = mkOpt attrs { } "A set of files to be managed by home-manager's ."; extraOptions = mkOpt attrs { } "Options to pass directly to home-manager."; homeConfig = mkOpt attrs { } "Final config for home-manager."; }; config = { metacfg.home.extraOptions = { home.stateVersion = mkDefault "23.11"; home.file = mkAliasDefinitions options.metacfg.home.file; xdg.enable = true; xdg.configFile = mkAliasDefinitions options.metacfg.home.configFile; }; snowfallorg.users.${config.metacfg.user.name}.home.config = mkAliasDefinitions options.metacfg.home.extraOptions; home-manager = { useUserPackages = true; useGlobalPkgs = true; # users.${config.metacfg.user.name} = args: # mkAliasDefinitions options.metacfg.home.extraOptions; }; }; }