main
 1{den, ...}: {
 2  den.aspects.desktop.app.term.foot = {
 3    includes = [den.aspects.desktop.app.term];
 4    hjem = {
 5      host,
 6      user,
 7      pkgs,
 8      lib,
 9      ...
10    }: let
11      fontsCfg = host.settings.desktop.aesthetic.fonts;
12    in {
13      packages = [pkgs.foot];
14
15      xdg.config.files."foot/foot.ini" = {
16        generator = (pkgs.formats.ini {}).generate "foot-config.ini";
17        value = {
18          main = {
19            pad = "10x10";
20            font = "${(builtins.elemAt fontsCfg.monospace 0).name}:size=${toString fontsCfg.size}";
21            dpi-aware = "no";
22          };
23        };
24      };
25
26      xdg.config.files."xdg-terminals.list".text =
27        lib.mkOrder
28        (1000 # Default order
29          + (
30            if (user.system.settings.desktop.app.term.default == "foot")
31            then -500 # lib.mkBefore
32            else 500 # lib.mkAfter
33          ))
34        ''
35          foot.desktop
36        '';
37    };
38  };
39
40  den.aspects.desktop.app.term.foot.themes = {
41    catppuccin = {
42      hjem = {pkgs, ...}: {
43        xdg.config.files."foot/foot.ini".value.main.include = "${pkgs.fetchurl {
44          pname = "foot-theme-catppuccin-mocha.ini";
45          url = "https://github.com/catppuccin/foot/raw/99384a83ee9246cd0a38aeee07d8300367724602/themes/static/catppuccin-mocha.ini";
46          hash = "sha256-LmWxEy/euVLqtjC/emb0R5LVb62q6OfvEc8Vkyc84BQ=";
47        }}";
48      };
49    };
50  };
51}