main
1{
2 den,
3 lib,
4 ...
5}: {
6 den.aspects.desktop.terminal.foot = {
7 includes = [den.aspects.desktop.terminal];
8
9 homeManager = {
10 host,
11 user,
12 ...
13 }: let
14 fontsCfg = host.settings.desktop.style.fonts;
15 in {
16 xdg.terminal-exec.settings.default =
17 if (user.system.settings.desktop.terminal.default == "foot")
18 then lib.mkBefore ["foot.desktop"]
19 else lib.mkAfter ["foot.desktop"];
20
21 programs.foot = {
22 enable = true;
23 settings = {
24 main = {
25 pad = "10x10";
26 font = "${ (builtins.elemAt fontsCfg.monospace 0).name}:size=${toString fontsCfg.sizes.terminal}";
27 dpi-aware = "no";
28 };
29 };
30 };
31 };
32 };
33
34 den.aspects.desktop.terminal.foot.themes = {
35 catppuccin = {
36 homeManager = {pkgs, ...}: {
37 programs.foot = {
38 settings = {
39 main.include = "${pkgs.fetchurl {
40 pname = "foot-theme-catppuccin-mocha.ini";
41 url = "https://github.com/catppuccin/foot/raw/99384a83ee9246cd0a38aeee07d8300367724602/themes/static/catppuccin-mocha.ini";
42 hash = "sha256-LmWxEy/euVLqtjC/emb0R5LVb62q6OfvEc8Vkyc84BQ=";
43 }}";
44 };
45 };
46 };
47 };
48 };
49}