main
 1{den, ...}: {
 2  den.aspects.dev.jujutsu = {
 3    includes =
 4      den.lib.policy.when
 5      ({host, ...}: host.hasAspect den.aspects.desktop.gnupg)
 6      [den.aspects.dev.jujutsu.sign];
 7
 8    provides.to-users = {
 9      hjem = {
10        user,
11        pkgs,
12        lib,
13        ...
14      }: {
15        packages = [
16          pkgs.jujutsu
17          pkgs.jjui
18        ];
19
20        xdg.config.files."jj/config.toml" = {
21          generator = (pkgs.formats.toml {}).generate "jj-config.toml";
22          value = {
23            user = {
24              name = user.identity.displayName;
25              email = user.identity.email;
26            };
27            ui = {
28              diff-formatter = ":git";
29              pager = "${lib.getExe pkgs.delta}";
30            };
31          };
32        };
33      };
34    };
35  };
36
37  den.aspects.dev.jujutsu.sign = {
38    hjem = {
39      xdg.config.files."jj/config.toml".value = {
40        signing = {
41          behavior = "drop";
42          backend = "gpg";
43        };
44        git = {
45          sign-on-push = true;
46        };
47      };
48    };
49  };
50}