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}