main
 1{den, ...}: {
 2  den.users.hpcesia = {
 3    system.settings = {
 4      desktop = {
 5        app = {
 6          browser.defaults = ["floorp.desktop"];
 7          term.default = "foot";
 8        };
 9      };
10    };
11  };
12
13  den.aspects.hpcesia = {
14    includes = let
15      includeWhen = cond: aspects:
16        map (aspect: (den.lib.policy.when cond aspect)) aspects;
17    in
18      (includeWhen ({host, ...}: host.hasAspect den.aspects.desktop) (with den.aspects; [
19        desktop.app.browser.helium
20        desktop.app.browser.floorp
21        desktop.app.imv
22        desktop.app.kdeconnect
23        desktop.app.kdenlive
24        desktop.app.kelivo
25        desktop.app.libreoffice
26        desktop.app.mpv
27        desktop.app.nixpak.qq
28        desktop.app.nixpak.telegram
29        desktop.app.nixpak.wechat
30        desktop.app.obs-studio
31        desktop.app.picard
32        desktop.app.script-tools.ocr
33        desktop.app.script-tools.qrscanner
34        desktop.app.term.foot
35        desktop.app.thunderbird
36        desktop.ime.fcitx5
37        desktop.noctalia
38        desktop.yubikey
39        desktop.wm.niri
40      ]))
41      ++ (includeWhen ({host, ...}: host.hasAspect den.aspects.desktop && host.hasAspect den.aspects.desktop.game) (with den.aspects; [
42        desktop.game.heroic
43        desktop.game.hoyo
44        desktop.game.ludusavi
45        desktop.game.mangohud
46        desktop.game.minecraft
47        desktop.game.steam
48      ]));
49  };
50}