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 aliases = {
19 wk = ["log" "-r" "trunk()::@ | @::"];
20 gp = ["git" "push" "--allow-new"];
21 gf = ["git" "fetch"];
22 tracked = ["bookmark" "list" "-t" "-T" ''if(self.tracked(), if(self.name() != "main", self.name()++"\n"))''];
23 untracked = ["bookmark" "list" "-T" ''if(!self.tracked(), if(self.name() != "main", self.name()++"\n"))''];
24 e = ["edit"];
25 track = ["util" "exec" "--" "bash" "-c" "jj bookmark set $(jj log -r @ -T 'self.change_id()' --no-graph)"];
26 tug = ["bookmark" "move" "--from" "heads(::@- & bookmarks())" "--to" "@-"];
27 nm = ["new" "-r" "trunk()"];
28 };
29 templates = {
30 log = "builtin_log_compact";
31 };
32 template-aliases = {
33 "commit_timestamp(commit)" = "commit.author().timestamp()";
34 };
35 };
36}