home-manager @ master

 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}