nichts/modules/programs/gui/foot.nix

89 lines
2.4 KiB
Nix
Raw Normal View History

2024-07-06 15:53:16 +02:00
{
config,
2024-07-21 21:58:18 +02:00
inputs',
2024-07-06 15:53:16 +02:00
lib,
pkgs,
...
}: let
2024-07-20 13:18:01 +02:00
cfg = config.modules.system.programs.terminals.foot;
inherit (config.modules.other.system) username;
2024-07-20 13:18:01 +02:00
inherit (lib) mkIf;
in {
config = mkIf cfg.enable {
home-manager.users.${username} = {
home.sessionVariables.TERM = "foot";
programs.foot = {
enable = true;
2024-07-21 21:58:18 +02:00
package = inputs'.nixpkgs-wayland.packages.foot;
settings = {
main = {
2024-05-22 14:29:45 +02:00
term = "foot";
app-id = "foot";
title = "foot";
locked-title = "no";
2024-07-06 13:39:24 +02:00
# line-height = 20;
2024-05-22 14:29:45 +02:00
letter-spacing = 0;
horizontal-letter-offset = 0;
vertical-letter-offset = -0.75;
box-drawings-uses-font-glyphs = "no";
dpi-aware = "no";
2024-05-22 14:29:45 +02:00
initial-window-size-chars = "104x36";
initial-window-mode = "windowed";
pad = "5x5 center";
resize-delay-ms = 100;
2024-05-22 14:29:45 +02:00
bold-text-in-bright = "no";
word-delimiters = '',`|:"'()[]{}<>'';
selection-target = "primary";
};
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
bell = {
urgent = "yes";
notify = "yes";
command = "${pkgs.libnotify}/bin/notify-send bell";
command-focused = "no";
};
2024-08-13 11:09:42 +02:00
scrollback = {
lines = 100000;
multiplier = 10.0;
indicator-position = "relative";
indicator-format = "line";
};
2024-08-13 11:09:42 +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";
uri-characters = ''
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]'';
};
2024-08-13 11:09:42 +02:00
cursor = {
2024-07-24 17:47:16 +02:00
style = "beam";
blink = "true";
};
2024-08-13 11:09:42 +02:00
mouse = {
hide-when-typing = "yes"; # not really needed since we already enable this in Hyprland
alternate-scroll-mode = "yes";
};
2024-08-13 11:09:42 +02:00
2024-07-06 15:53:16 +02:00
csd = {preferred = "server";};
2024-08-13 11:09:42 +02:00
key-bindings = {
show-urls-launch = "Control+Shift+u";
unicode-input = "Control+Shift+i";
};
};
};
};
};
}