2022-04-04 16:20:15 +00:00
|
|
|
{ config, lib, pkgs, ... }: let
|
|
|
|
|
|
|
|
alacritty-cfg = extrVals: builtins.toJSON ({
|
2022-11-21 23:14:31 +00:00
|
|
|
font = let
|
|
|
|
family = "Iosevka";
|
|
|
|
in {
|
2022-04-04 16:20:15 +00:00
|
|
|
normal = {
|
2022-11-21 23:14:31 +00:00
|
|
|
family = family;
|
2022-04-04 16:20:15 +00:00
|
|
|
style = "Regular";
|
|
|
|
};
|
|
|
|
bold = {
|
2022-11-21 23:14:31 +00:00
|
|
|
family = family;
|
2022-04-04 16:20:15 +00:00
|
|
|
style = "Bold";
|
|
|
|
};
|
|
|
|
italic = {
|
2022-11-21 23:14:31 +00:00
|
|
|
family = family;
|
2022-04-04 16:20:15 +00:00
|
|
|
style = "Italic";
|
|
|
|
};
|
|
|
|
bold_italic = {
|
2022-11-21 23:14:31 +00:00
|
|
|
family = family;
|
2022-04-04 16:20:15 +00:00
|
|
|
style = "Bold Italic";
|
|
|
|
};
|
|
|
|
size = 8;
|
|
|
|
};
|
|
|
|
live_config_reload = true;
|
|
|
|
window.dimensions = {
|
|
|
|
columns = 80;
|
|
|
|
lines = 20;
|
|
|
|
};
|
|
|
|
# window.opacity = 0;
|
|
|
|
hints.enabled = [
|
|
|
|
{
|
|
|
|
regex = ''(mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)[^\u0000-\u001F\u007F-\u009F<>"\s{-}\^⟨⟩`]+'';
|
|
|
|
command = "/run/current-system/sw/bin/xdg-open";
|
|
|
|
post_processing = true;
|
|
|
|
mouse.enabled = true;
|
|
|
|
binding = {
|
|
|
|
key = "U";
|
|
|
|
mods = "Alt";
|
|
|
|
};
|
|
|
|
}
|
|
|
|
];
|
|
|
|
} // extrVals);
|
|
|
|
|
|
|
|
alacritty = pkgs.symlinkJoin {
|
|
|
|
name = "alacritty";
|
|
|
|
paths = [
|
|
|
|
(pkgs.writeDashBin "alacritty" ''
|
2022-11-21 23:15:09 +00:00
|
|
|
${pkgs.alacritty}/bin/alacritty --config-file /var/theme/config/alacritty.yaml msg create-window "$@" ||
|
2022-04-04 16:20:15 +00:00
|
|
|
${pkgs.alacritty}/bin/alacritty --config-file /var/theme/config/alacritty.yaml "$@"
|
|
|
|
'')
|
|
|
|
pkgs.alacritty
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
in {
|
|
|
|
environment.etc = {
|
|
|
|
"themes/light/alacritty.yaml".text = alacritty-cfg {
|
|
|
|
colors = {
|
|
|
|
# Default colors
|
|
|
|
primary = {
|
|
|
|
# hard contrast: background = '#f9f5d7'
|
|
|
|
# background = "#fbf1c7";
|
|
|
|
background = "#f9f5d7";
|
|
|
|
# soft contrast: background = '#f2e5bc'
|
|
|
|
foreground = "#3c3836";
|
|
|
|
};
|
|
|
|
|
|
|
|
# Normal colors
|
|
|
|
normal = {
|
|
|
|
black = "#fbf1c7";
|
|
|
|
red = "#cc241d";
|
|
|
|
green = "#98971a";
|
|
|
|
yellow = "#d79921";
|
|
|
|
blue = "#458588";
|
|
|
|
magenta = "#b16286";
|
|
|
|
cyan = "#689d6a";
|
|
|
|
white = "#7c6f64";
|
|
|
|
};
|
|
|
|
|
|
|
|
# Bright colors
|
|
|
|
bright = {
|
|
|
|
black = "#928374";
|
|
|
|
red = "#9d0006";
|
|
|
|
green = "#79740e";
|
|
|
|
yellow = "#b57614";
|
|
|
|
blue = "#076678";
|
|
|
|
magenta = "#8f3f71";
|
|
|
|
cyan = "#427b58";
|
|
|
|
white = "#3c3836";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
"themes/dark/alacritty.yaml".text = alacritty-cfg {
|
2022-05-29 17:44:30 +00:00
|
|
|
colors = {
|
|
|
|
# Default colors
|
|
|
|
primary = {
|
|
|
|
background = "0x000000";
|
|
|
|
foreground = "0xffffff";
|
|
|
|
};
|
|
|
|
cursor = {
|
|
|
|
text = "0xF81CE5";
|
|
|
|
cursor = "0xffffff";
|
|
|
|
};
|
|
|
|
|
|
|
|
# Normal colors
|
|
|
|
normal = {
|
|
|
|
black = "0x000000";
|
|
|
|
red = "0xfe0100";
|
|
|
|
green = "0x33ff00";
|
|
|
|
yellow = "0xfeff00";
|
|
|
|
blue = "0x0066ff";
|
|
|
|
magenta = "0xcc00ff";
|
|
|
|
cyan = "0x00ffff";
|
|
|
|
white = "0xd0d0d0";
|
|
|
|
};
|
|
|
|
|
|
|
|
# Bright colors
|
|
|
|
bright = {
|
|
|
|
black = "0x808080";
|
|
|
|
red = "0xfe0100";
|
|
|
|
green = "0x33ff00";
|
|
|
|
yellow = "0xfeff00";
|
|
|
|
blue = "0x0066ff";
|
|
|
|
magenta = "0xcc00ff";
|
|
|
|
cyan = "0x00ffff";
|
|
|
|
white = "0xFFFFFF";
|
|
|
|
};
|
2022-04-04 16:20:15 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
environment.systemPackages = [ alacritty ];
|
|
|
|
}
|