1{
2 pkgs,
3 inputs,
4 config,
5 ...
6}: let
7 tomlFormat = pkgs.formats.toml {};
8in {
9 xdg.configFile."jj/config.toml".source = tomlFormat.generate "config.toml" {
10 user = {
11 name = config.my.git.name;
12 email = config.my.git.email;
13 };
14 ui = {
15 diff-formatter = ":git";
16 pager = ":builtin";
17 };
18 revesets-aliases = {
19 "immutable_heads()" = "trunk()";
20 };
21 aliases = {
22 wk = ["log" "-r" "trunk()::@ | @::"];
23 gp = ["git" "push" "--allow-new"];
24 gf = ["git" "fetch"];
25 tracked = ["bookmark" "list" "-t" "-T" ''if(self.tracked(), if(self.name() != "main", self.name()++"\n"))''];
26 untracked = ["bookmark" "list" "-T" ''if(!self.tracked(), if(self.name() != "main", self.name()++"\n"))''];
27 e = ["edit"];
28 track = ["util" "exec" "--" "bash" "-c" "jj bookmark set $(jj log -r @ -T 'self.change_id()' --no-graph)"];
29 tug = ["bookmark" "move" "--from" "heads(::@- & bookmarks())" "--to" "@-"];
30 nm = ["new" "-r" "trunk()"];
31 up = ["edit" "@+"];
32 down = ["edit" "@-"];
33 };
34 templates = {
35 log = "builtin_log_compact";
36 };
37 template-aliases = {
38 "commit_timestamp(commit)" = "commit.author().timestamp()";
39 };
40 };
41}