aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorene <ene@sils.li>2023-02-07 09:00:54 +0100
committerene <ene@sils.li>2023-02-07 09:00:54 +0100
commit22fb1296f089278199830d331b5483e3142878f4 (patch)
tree5397338800ea064eaceba5f3532b7191bf12679d
parentFix(Zsh): Use -R with less (diff)
downloadnixos-config-22fb1296f089278199830d331b5483e3142878f4.zip
Feat(home-manager): Add alacritty support
-rw-r--r--home-manger/alacritty/default.nix583
1 files changed, 583 insertions, 0 deletions
diff --git a/home-manger/alacritty/default.nix b/home-manger/alacritty/default.nix
new file mode 100644
index 00000000..1bb6afac
--- /dev/null
+++ b/home-manger/alacritty/default.nix
@@ -0,0 +1,583 @@
+{config, ...}: {
+ home-manager.users.soispha.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
+ };
+ };
+}