main
 1{den, ...}: let
 2  includeWhen = cond: aspects:
 3    map (aspect: (den.lib.policy.when cond aspect)) aspects;
 4in {
 5  den.aspects.hpcesia = {
 6    includes =
 7      (includeWhen ({host, ...}: host.hasAspect den.aspects.dev) (with den.aspects; [
 8        dev.direnv
 9        dev.editor.helix
10        dev.jujutsu
11        dev.wakatime
12        dev.yazi
13        dev.zellij
14        dev.zoxide
15
16        {
17          name = "hpcesia/dev/git";
18          hjem = {
19            xdg.config.files."git/config".value = {
20              url = {
21                "ssh://git@github.com/HPCesia" = {
22                  insteadOf = "https://github.com/HPCesia";
23                };
24                "ssh://git@codeberg.org/HPCesia" = {
25                  insteadOf = "https://codeberg.org/HPCesia";
26                };
27                "ssh://git@git.trin.one/HPCesia" = {
28                  insteadOf = "https://git.trin.one/HPCesia";
29                };
30              };
31            };
32          };
33        }
34      ]))
35      ++ (includeWhen ({host, ...}: (host.hasAspect den.aspects.dev) && (host.hasAspect den.aspects.desktop)) (with den.aspects; [
36        dev.agents.crush
37        # dev.agents.goose
38        # dev.agents.opencode
39        # dev.agents.pi
40      ]));
41  };
42}