small update
This commit is contained in:
parent
c4f6785845
commit
b1490ec9a8
100 changed files with 187 additions and 1695 deletions
139
modules/programs/gui/foot.mod.nix
Normal file
139
modules/programs/gui/foot.mod.nix
Normal file
|
@ -0,0 +1,139 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
|
||||
inherit (config.meta.mainUser) username;
|
||||
cfg = config.modules.system.programs.terminals.foot;
|
||||
theme-colors = config.modules.style.colorScheme.colors;
|
||||
|
||||
foot-config = pkgs.writeText "foot.ini" (lib.generators.toINI {} {
|
||||
main = {
|
||||
term = "xterm-256color";
|
||||
app-id = "foot";
|
||||
title = "foot";
|
||||
locked-title = "no";
|
||||
|
||||
font = "JetBrainsMono Nerd Font Mono:size=14";
|
||||
font-bold = "JetBrainsMono Nerd Font Mono:size=14:style=Bold";
|
||||
|
||||
line-height = 20;
|
||||
letter-spacing = 0;
|
||||
|
||||
horizontal-letter-offset = 0;
|
||||
vertical-letter-offset = 0;
|
||||
box-drawings-uses-font-glyphs = "no";
|
||||
dpi-aware = "no";
|
||||
|
||||
bold-text-in-bright = "no";
|
||||
word-delimiters = ",│`|:\"'()[]{}<>";
|
||||
selection-target = "primary";
|
||||
|
||||
initial-window-size-chars = "104x36";
|
||||
initial-window-mode = "windowed";
|
||||
pad = "8x8 center";
|
||||
resize-delay-ms = 100;
|
||||
};
|
||||
|
||||
desktop-notifications.command = "${pkgs.libnotify}/bin/notify-send -a \${app-id} -i \${app-id} \${title} \${body}";
|
||||
|
||||
bell = {
|
||||
urgent = "yes";
|
||||
notify = "yes";
|
||||
command = "${pkgs.libnotify}/bin/notify-send bell";
|
||||
command-focused = "no";
|
||||
};
|
||||
|
||||
scrollback = {
|
||||
lines = 10000;
|
||||
multiplier = 10.0;
|
||||
indicator-position = "relative";
|
||||
indicator-format = "line";
|
||||
};
|
||||
|
||||
url = {
|
||||
launch = "${pkgs.xdg-utils}/bin/xdg-open \${url}";
|
||||
label-letters = "sadfjklewcmpgh";
|
||||
osc8-underline = "always";
|
||||
};
|
||||
|
||||
tweak = {
|
||||
font-monospace-warn = "no";
|
||||
sixel = "yes";
|
||||
};
|
||||
cursor = {
|
||||
style = "beam";
|
||||
blink = "no";
|
||||
};
|
||||
|
||||
mouse = {
|
||||
hide-when-typing = "yes"; # not really needed since we already enable this in Hyprland.
|
||||
alternate-scroll-mode = "yes";
|
||||
};
|
||||
csd.preferred = "server";
|
||||
key-bindings = {
|
||||
scrollback-up-half-page = "Control+k";
|
||||
scrollback-up-page = "Control+Shift+k";
|
||||
scrollback-down-half-page = "Control+j";
|
||||
scrollback-down-page = "Control+Shift+j";
|
||||
};
|
||||
mouse-bindings = {
|
||||
selection-override-modifiers = "Shift";
|
||||
primary-paste = "BTN_MIDDLE";
|
||||
select-begin = "BTN_LEFT";
|
||||
select-begin-block = "Control+BTN_LEFT";
|
||||
select-extend = "BTN_RIGHT";
|
||||
select-extend-character-wise = "Control+BTN_RIGHT";
|
||||
select-word = "BTN_LEFT-2";
|
||||
select-word-whitespace = "Control+BTN_LEFT-2";
|
||||
};
|
||||
|
||||
colors = {
|
||||
foreground = theme-colors.base05; # Text
|
||||
background = theme-colors.base00; # Base
|
||||
regular0 = theme-colors.base03; # Surface 1
|
||||
regular1 = theme-colors.base08; # red
|
||||
regular2 = theme-colors.base0B; # green
|
||||
regular3 = theme-colors.base0A; # yellow
|
||||
regular4 = theme-colors.base0D; # blue
|
||||
regular5 = "f5c2e7"; # pink
|
||||
regular6 = "94e2d5"; # teal
|
||||
regular7 = "bac2de"; # Subtext 1
|
||||
|
||||
bright0 = theme-colors.base04; # Surface 2
|
||||
bright1 = theme-colors.base08; # red
|
||||
bright2 = theme-colors.base0B; # green
|
||||
bright3 = theme-colors.base0A; # yellow
|
||||
bright4 = "89b4fa"; # blue
|
||||
bright5 = "f5c2e7"; # pink
|
||||
bright6 = "94e2d5"; # teal
|
||||
bright7 = "a6adc8"; # Subtext 0
|
||||
|
||||
selection-foreground = "cdd6f4";
|
||||
selection-background = "414356";
|
||||
|
||||
search-box-no-match = "11111b f38ba8";
|
||||
search-box-match = "cdd6f4 313244";
|
||||
|
||||
jump-labels = "11111b fab387";
|
||||
urls = "89b4fa";
|
||||
|
||||
alpha = 0.9;
|
||||
};
|
||||
});
|
||||
foot-wrapped = pkgs.symlinkJoin {
|
||||
name = "foot-wrapped";
|
||||
paths = [pkgs.foot];
|
||||
nativeBuildInputs = [pkgs.makeWrapper];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/foot --add-flags "--config=${foot-config} --working-directory=/home/${username}"
|
||||
'';
|
||||
};
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [foot-wrapped];
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue