{ ... }: { config.dendritic.features.jujutsu = { homeModules = [ ( { pkgs, ... }: { programs.jujutsu = { enable = true; settings = { user = { email = "gwg313@pm.me"; name = "gwg313"; }; signing = { behavior = "own"; backend = "gpg"; }; revset-aliases = { "closest_merge(to)" = "heads(::to & merges())"; }; aliases = { set-trunk = [ "config" "set" "--repo" "revset-aliases.'trunk()'" ]; stack = [ "rebase" "--after" "trunk()" "--before" "closest_merge(@)" "--revision" ]; stage = [ "stack" "closest_merge(@)+:: ~ empty()" ]; restack = [ "rebase" "--onto" "trunk()" "--source" "roots(trunk()..) & mutable()" "--simplify-parents" ]; c = [ "commit" ]; ci = [ "commit" "--interactive" ]; e = [ "edit" ]; i = [ "git" "init" "--colocate" ]; tug = [ "bookmark" "move" "--from" "closest_bookmark(@-)" "--to" "@-" ]; log-recent = [ "log" "-r" "default() & recent()" ]; nb = [ "bookmark" "create" "-r" "@-" ]; # new bookmark upmain = [ "bookmark" "set" "main" ]; squash-desc = [ "squash" "::@" "-d" "@" ]; rebase-main = [ "rebase" "-d" "main" ]; amend = [ "describe" "-m" ]; pushall = [ "git" "push" "--all" ]; push = [ "git" "push" "--allow-new" ]; pull = [ "git" "fetch" ]; dmain = [ "diff" "-r" "main" ]; l = [ "log" "-T" "builtin_log_compact" ]; lf = [ "log" "-r" "all()" ]; r = [ "rebase" ]; s = [ "squash" ]; si = [ "squash" "--interactive" ]; }; }; }; home.packages = with pkgs; [ lazyjj meld ]; } ) ]; }; }