grace/dots

dotfiles/nix configs

git clone https://git.gae.moe/grace/dots

Grace Yoderbig changesc1be8e3

main
1.9 KiB99 linesraw
1{ ... }:
2
3{
4  programs = {
5    git = {
6      enable = true;
7      ignores = [ ".DS_Store" ];
8    };
9
10    jujutsu = {
11      enable = true;
12      settings = {
13        user = {
14          name = "Grace Yoder";
15          email = "grace_yoder@outlook.com";
16        };
17        signing = {
18          behavior = "own";
19          backend = "ssh";
20          key = "~/.ssh/id_ed25519";
21        };
22        remotes.origin.auto-track-bookmarks = "*";
23        remotes.github.auto-track-bookmarks = "*";
24        aliases = {
25          megasquash = [
26            "squash"
27            "--from"
28            "heads(bookmarks() & ::@-)..@-"
29            "--into"
30            "@"
31          ];
32
33          tug = [
34            "bookmark"
35            "advance"
36            "--to"
37            "coalesce(@ ~ empty(), @-)"
38          ];
39
40          fn = [
41            "util"
42            "exec"
43            "--"
44            "bash"
45            "-c"
46            ''
47              set -euo pipefail
48
49              cd "$JJ_WORKSPACE_ROOT"
50              bookmark="''${1:-main}"
51              jj git fetch
52              jj new "$bookmark"
53            ''
54            ""
55          ];
56
57          tcp = [
58            "util"
59            "exec"
60            "--"
61            "bash"
62            "-c"
63            ''
64              set -euo pipefail
65
66              cd "$JJ_WORKSPACE_ROOT"
67              jj tug
68              if [ "$#" -eq 0 ]; then
69                jj new
70              else
71                jj commit -m "$*"
72              fi
73              jj git push
74            ''
75            ""
76          ];
77
78          sp = [
79            "util"
80            "exec"
81            "--"
82            "bash"
83            "-c"
84            ''
85              set -euo pipefail
86
87              cd "$JJ_WORKSPACE_ROOT"
88              jj squash --ignore-immutable
89              jj git push
90            ''
91            ""
92          ];
93        };
94      };
95    };
96
97    gh.enable = true;
98  };
99}