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}