diff --git a/modules/aspects/roles.nix b/modules/aspects/roles.nix index 9ecf65b..70b4063 100644 --- a/modules/aspects/roles.nix +++ b/modules/aspects/roles.nix @@ -76,6 +76,7 @@ ]; developer.features = [ + "jujutsu" "developer-cli" "editor-neovim" "containers-podman" diff --git a/modules/features/programs/cli/vc-jujutsu.nix b/modules/features/programs/cli/vc-jujutsu.nix new file mode 100644 index 0000000..deaaf28 --- /dev/null +++ b/modules/features/programs/cli/vc-jujutsu.nix @@ -0,0 +1,119 @@ +{ ... }: +{ + config.dendritic.features.jujutsu = { + homeModules = [ + ( + { pkgs, ... }: + { + programs.jujutsu = { + enable = true; + settings = { + user = { + email = "gwg313@pm.me"; + name = "gwg313"; + }; + signing = { + behavior = "own"; + backend = "gpg"; + }; + aliases = { + 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 + ]; + + } + ) + ]; + + }; +}