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 = includeWhen ({host, ...}: host.hasAspect den.aspects.dev) (with den.aspects; [
 7      dev.agents.opencode
 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.net.trin.one/HPCesia" = {
28                insteadOf = "https://git.net.trin.one/HPCesia";
29              };
30            };
31          };
32        };
33      }
34    ]);
35  };
36}