blob: e9e56e52e626664bcba0793798789bd5f43cdb86 (
plain) (
tree)
|
|
{config, ...}: {
programs.alacritty = {
enable = true;
settings = {
env = {
TERM = "alacritty";
};
window = {
dimensionns = {
columns = 0;
lines = 0;
};
positinon = {
#x = 0;
#y = 0;
};
padding = {
x = 5;
y = 5;
};
dynamic_padding = false;
decorations = "None";
opacity = 0.9;
startup_mode = "Windowed";
title = "Alacritty";
dynamic_title = true;
class = {
instance = "Alacritty";
general = "Alacritty";
};
docorations_theme_variant = "None";
};
scrolling = {
history = 10000;
multiplier = 3;
};
font = {
normal = {
family = "Source Code Pro";
style = "Regular";
};
bold = {
family = "Source Code Pro";
style = "Bold";
};
italic = {
family = "Source Code Pro";
style = "Italic";
};
bold_italic = {
family = "Source Code Pro";
style = "Bold Italic";
};
size = 12.0;
offset = {
x = -1;
y = -1;
};
glyph_offset = {
x = -1;
y = -1;
};
builtin_box_drawing = true;
};
draw_bold_text_with_bright_colors = false;
colors = {
primary = {
background = "#191919";
foreground = "#d8dee9";
#dim_foreground= "#828482";
#bright_foreground= "#eaeaea";
cursor = {
text = "#191919";
cursor = "#d8dee9";
};
vi_mode_cursor = {
text = "CellBackground";
cursor = "CellForeground";
};
search = {
matches = {
foreground = "#000000";
background = "#ffffff";
};
focused_match = {
foreground = "#ffffff";
background = "#000000";
};
};
hints = {
start = {
foreground = "#1d1f21";
background = "#e9ff5e";
};
end = {
foreground = "#e9ff5e";
background = "#1d1f21";
};
line_indicator = {
#foreground= "None";
#background= "None";
};
footer_bar = {
background = "#c5c8c6";
foreground = "#1d1f21";
};
selection = {
text = "#191919";
background = "#d8dee9";
};
normal = {
black = "#191919";
red = "#b02626";
green = "#40a62f";
yellow = "#f2e635";
blue = "#314ad0";
magenta = "#b30ad0";
cyan = "#32d0fc";
white = "#acadb1";
};
bright = {
black = "#36393d";
red = "#ce2727";
green = "#47c930";
yellow = "#fff138";
blue = "#2e4bea";
magenta = "#cc15ed";
cyan = "#54d9ff";
white = "#dbdbdb";
};
dim = {
black = "#676f78";
red = "#b55454";
green = "#78a670";
yellow = "#faf380";
blue = "#707fd0";
magenta = "#c583d0";
cyan = "#8adaf1";
white = "#e0e3e7";
};
#indexed_colors = [
# {index = 16; color = "#ff00ff";}
# ];
transparent_background_colors = false; # TODO
};
};
bell = {
animation = "EaseOutExpo";
duration = 0;
color = "#ffffff";
command = "None";
};
selection = {
semantic_escape_chars = ",│`|:\"' ()[]{}<>\t";
save_to_clipboard = false;
};
cursor = {
style = {
shape = "Beam";
blinking = "On";
};
vi_mode_style = "None";
blink_interval = 750;
blink_timeout = 5;
unfocused_hollow = true;
thickness = 0.15;
};
live_config_reload = true;
#shell = {
# program = "/bin/sh";
# args = ["--login"];
#}
working_directory = "None";
ipc_socket = true; # TODO
mouse = {
hide_when_typing = false;
double_click.threshold = 300;
triple_click.threshold = 300;
};
hints = {
alphabet = "jfkdls;ahgurieowpq";
enabled = [
{
regex = "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
[^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+";
hyperlinks = true;
command = "xdg-open";
post_processing = true;
mouse = {
enabled = true;
mods = "None";
};
binding = {
key = "U";
mods = "Control|Shift";
};
}
{
# multi regex for different purposes:
# 2. UUIDs
# 3. hex (for example signatures)
# 4. IP addresses
regex = "([[:alnum:]_$%&+=/@-]+)|([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})|([0-9a-f]{12,128})|([[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3})";
action = "Copy";
post_processing = false;
binding = {
key = "U";
mods = "Control|Shift";
};
}
];
mouse_bindings = [
# { mouse = "Right"; action = "ExpandSelection" ;}
# { mouse = "Right"; mods = "Control"; action = "ExpandSelection" ;}
# { mouse = "Middle"; mode = "~Vi"; action = "PasteSelection" ;}
{
mouse = "Middle";
action = "Copy";
}
];
key_bindings = [
# (Windows, Linux, and BSD only)
{
key = "P";
mods = "Control";
action = "Paste";
}
{
key = "Insert";
mods = "Shift";
action = "Paste";
}
{
key = "Slash";
mods = "Control";
chars = "gc";
}
{
key = "Y";
mods = "Control";
action = "Copy";
}
{
key = "Key0";
mods = "Control";
action = "ResetFontSize";
}
{
key = "Equals";
mods = "Control";
action = "IncreaseFontSize";
}
{
key = "Plus";
mods = "Control";
action = "IncreaseFontSize";
}
{
key = "Minus";
mods = "Control";
action = "DecreaseFontSize";
}
# Vi Mode
{
key = "Space";
mods = "Control";
action = "ToggleViMode";
}
{
key = "Space";
mods = "Control";
mode = "Vi";
action = "ScrollToBottom";
}
{
key = "I";
mode = "Vi";
action = "ScrollToBottom";
}
{
key = "I";
mode = "Vi";
action = "ToggleViMode";
}
{
key = "C";
mods = "Control";
mode = "Vi";
action = "ScrollToBottom";
}
{
key = "C";
mods = "Control";
mode = "Vi";
action = "ToggleViMode";
}
{
key = "Escape";
mode = "Vi";
action = "ClearSelection";
}
{
key = "Y";
mods = "Control";
mode = "Vi";
action = "ScrollLineUp";
}
{
key = "E";
mods = "Control";
mode = "Vi";
action = "ScrollLineDown";
}
{
key = "G";
mode = "Vi";
action = "ScrollToTop";
}
{
key = "G";
mods = "Shift";
mode = "Vi";
action = "ScrollToBottom";
}
{
key = "B";
mods = "Control";
mode = "Vi";
action = "ScrollPageUp";
}
{
key = "F";
mods = "Control";
mode = "Vi";
action = "ScrollPageDown";
}
{
key = "U";
mods = "Control";
mode = "Vi";
action = "ScrollHalfPageUp";
}
{
key = "D";
mods = "Control";
mode = "Vi";
action = "ScrollHalfPageDown";
}
{
key = "Y";
mode = "Vi";
action = "Copy";
}
{
key = "Y";
mode = "Vi";
action = "ClearSelection";
}
{
key = "V";
mode = "Vi";
action = "ToggleNormalSelection";
}
{
key = "V";
mods = "Shift";
mode = "Vi";
action = "ToggleLineSelection";
}
{
key = "V";
mods = "Control";
mode = "Vi";
action = "ToggleBlockSelection";
}
{
key = "V";
mods = "Alt";
mode = "Vi";
action = "ToggleSemanticSelection";
}
{
key = "Return";
mode = "Vi";
action = "Open";
}
{
key = "K";
mode = "Vi";
action = "Up";
}
{
key = "J";
mode = "Vi";
action = "Down";
}
{
key = "H";
mode = "Vi";
action = "Left";
}
{
key = "L";
mode = "Vi";
action = "Right";
}
{
key = "Up";
mode = "Vi";
action = "Up";
}
{
key = "Down";
mode = "Vi";
action = "Down";
}
{
key = "Left";
mode = "Vi";
action = "Left";
}
{
key = "Right";
mode = "Vi";
action = "Right";
}
{
key = "Key0";
mode = "Vi";
action = "First";
}
{
key = "Key4";
mode = "Vi";
action = "Last";
}
{
key = "Key6";
mods = "Shift";
mode = "Vi";
action = "FirstOccupied";
}
{
key = "H";
mods = "Shift";
mode = "Vi";
action = "High";
}
{
key = "M";
mods = "Shift";
mode = "Vi";
action = "Middle";
}
{
key = "L";
mods = "Shift";
mode = "Vi";
action = "Low";
}
{
key = "B";
mode = "Vi";
action = "SemanticLeft";
}
{
key = "W";
mode = "Vi";
action = "SemanticRight";
}
{
key = "E";
mode = "Vi";
action = "SemanticRightEnd";
}
{
key = "B";
mods = "Shift";
mode = "Vi";
action = "WordLeft";
}
{
key = "W";
mods = "Shift";
mode = "Vi";
action = "WordRight";
}
{
key = "E";
mods = "Shift";
mode = "Vi";
action = "WordRightEnd";
}
{
key = "Key5";
mods = "Shift";
mode = "Vi";
action = "Bracket";
}
{
key = "Slash";
mode = "Vi";
action = "SearchForward";
}
{
key = "Slash";
mods = "Shift";
mode = "Vi";
action = "SearchBackward";
}
{
key = "N";
mode = "Vi";
action = "SearchNext";
}
{
key = "N";
mods = "Shift";
mode = "Vi";
action = "SearchPrevious";
}
];
};
};
#debug:
# Display the time it takes to redraw each frame.
#render_timer: false
# Keep the log file after quitting Alacritty.
#persistent_logging: false
# Log level
#
# Values for `log_level`:
# - Off
# - Error
# - Warn
# - Info
# - Debug
# - Trace
#log_level: Warn
# Renderer override.
# - glsl3
# - gles2
# - gles2_pure
#renderer: None
# Print all received window events.
#print_events: false
# Highlight window damage information.
#highlight_damage: false
};
};
}
|