{ lib, username, config, inputs, ... }: with lib; { imports = [ inputs.home-manager.nixosModules.home-manager (lib.mkAliasOptionModule [ "hm" ] [ "home-manager" "users" username ]) ]; options.globals.hm = mkOption { type = types.attrs; }; config = { home-manager = { useGlobalPkgs = true; useUserPackages = true; # backupFileExtension = "hm-backup-" + pkgs.lib.readFile "${pkgs.runCommand "timestamp" {} "echo -n `date '+%Y%m%d%H%M%S'` > $out"}"; backupFileExtension = "hm-backup-$(date \"+%Y%m%d%H%M%S\")"; sharedModules = [ config.globals.hm ]; }; hm.home = { inherit (config.system) stateVersion; }; }; }