2024-07-06 15:53:16 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
2024-09-12 09:37:39 +02:00
|
|
|
self',
|
2024-07-06 15:53:16 +02:00
|
|
|
...
|
|
|
|
}: let
|
2024-07-20 13:18:01 +02:00
|
|
|
cfg = config.modules.system.programs.terminals.foot;
|
2024-05-15 17:28:32 +02:00
|
|
|
inherit (config.modules.other.system) username;
|
2024-09-16 21:02:38 +02:00
|
|
|
inherit (config.modules.style.colorScheme) colors;
|
2024-05-15 17:28:32 +02:00
|
|
|
|
2024-07-20 13:18:01 +02:00
|
|
|
inherit (lib) mkIf;
|
2024-05-15 17:28:32 +02:00
|
|
|
in {
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
home-manager.users.${username} = {
|
2024-09-03 21:50:17 +02:00
|
|
|
home.packages = with pkgs; [
|
|
|
|
libsixel # for displaying images
|
|
|
|
];
|
2024-05-15 17:28:32 +02:00
|
|
|
programs.foot = {
|
|
|
|
enable = true;
|
2024-09-09 19:52:10 +02:00
|
|
|
server.enable = false;
|
2024-08-21 23:11:59 +02:00
|
|
|
package = pkgs.foot;
|
2024-05-15 17:28:32 +02:00
|
|
|
settings = {
|
|
|
|
main = {
|
2024-09-03 22:00:46 +02:00
|
|
|
term = "foot";
|
2024-05-22 14:29:45 +02:00
|
|
|
app-id = "foot";
|
|
|
|
title = "foot";
|
|
|
|
locked-title = "no";
|
2024-09-22 01:47:32 +02:00
|
|
|
shell = "${self'.packages.fish}/bin/fish";
|
2024-05-15 17:28:32 +02:00
|
|
|
|
2024-09-03 15:20:35 +02:00
|
|
|
font = "Iosevka Nerd Font:size=14";
|
|
|
|
font-bold = "Iosevka Nerd Font:size=14";
|
2024-08-17 11:50:52 +02:00
|
|
|
|
2024-09-03 22:00:46 +02:00
|
|
|
selection-target = "primary";
|
2024-09-03 15:20:35 +02:00
|
|
|
dpi-aware = false;
|
|
|
|
pad = "0x0 center";
|
2024-05-15 17:28:32 +02:00
|
|
|
};
|
2024-08-13 11:09:42 +02:00
|
|
|
|
2024-08-05 16:22:19 +02:00
|
|
|
desktop-notifications.command = "${pkgs.libnotify}/bin/notify-send -a \${app-id} -i \${app-id} \${title} \${body}";
|
2024-08-13 11:09:42 +02:00
|
|
|
|
2024-05-15 17:28:32 +02:00
|
|
|
bell = {
|
|
|
|
urgent = "yes";
|
|
|
|
notify = "yes";
|
|
|
|
command = "${pkgs.libnotify}/bin/notify-send bell";
|
|
|
|
command-focused = "no";
|
|
|
|
};
|
2024-08-13 11:09:42 +02:00
|
|
|
|
2024-05-15 17:28:32 +02:00
|
|
|
scrollback = {
|
2024-09-03 15:20:35 +02:00
|
|
|
lines = 10000;
|
2024-05-15 17:28:32 +02:00
|
|
|
multiplier = 10.0;
|
|
|
|
indicator-position = "relative";
|
|
|
|
indicator-format = "line";
|
|
|
|
};
|
2024-08-13 11:09:42 +02:00
|
|
|
|
2024-05-15 17:28:32 +02:00
|
|
|
url = {
|
|
|
|
launch = "${pkgs.xdg-utils}/bin/xdg-open \${url}";
|
|
|
|
label-letters = "sadfjklewcmpgh";
|
|
|
|
osc8-underline = "always";
|
2024-07-06 15:53:16 +02:00
|
|
|
protocols = "http, https, ftp, ftps, file, gemini, gopher, irc, ircs";
|
2024-05-15 17:28:32 +02:00
|
|
|
uri-characters = ''
|
|
|
|
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]'';
|
|
|
|
};
|
2024-08-13 11:09:42 +02:00
|
|
|
|
2024-09-03 15:20:35 +02:00
|
|
|
tweak = {
|
|
|
|
font-monospace-warn = "no";
|
|
|
|
sixel = "yes";
|
|
|
|
};
|
2024-05-15 17:28:32 +02:00
|
|
|
cursor = {
|
2024-07-24 17:47:16 +02:00
|
|
|
style = "beam";
|
|
|
|
blink = "true";
|
2024-05-15 17:28:32 +02:00
|
|
|
};
|
2024-08-13 11:09:42 +02:00
|
|
|
|
2024-05-15 17:28:32 +02:00
|
|
|
mouse = {
|
2024-09-03 15:20:35 +02:00
|
|
|
hide-when-typing = "yes"; # not really needed since we already enable this in Hyprland.
|
2024-05-15 17:28:32 +02:00
|
|
|
alternate-scroll-mode = "yes";
|
|
|
|
};
|
2024-09-16 21:02:38 +02:00
|
|
|
colors = with colors; {
|
|
|
|
background = base00; # base color
|
|
|
|
foreground = base05; # text color
|
|
|
|
|
|
|
|
regular0 = base03; # black
|
|
|
|
regular1 = base08; # red
|
|
|
|
regular2 = base0B; # green
|
|
|
|
regular3 = base0A; # yellow
|
|
|
|
regular4 = base0D; # blue
|
|
|
|
regular5 = base0F; #magenta
|
|
|
|
regular6 = base0C; #cyan
|
|
|
|
regular7 = base06; #white
|
|
|
|
|
|
|
|
bright0 = base04; # Surface 2
|
|
|
|
bright1 = base08; # red
|
|
|
|
bright2 = base0B; # green
|
|
|
|
bright3 = base0A; # yellow
|
|
|
|
bright4 = base0D; # blue
|
|
|
|
bright5 = base0F; # pink
|
|
|
|
bright6 = base0C; # teal
|
|
|
|
bright7 = base07; # Subtext 0
|
|
|
|
};
|
2024-05-15 17:28:32 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|