diff --git a/user/alacritty.nix b/user/alacritty.nix new file mode 100644 index 0000000..35ab087 --- /dev/null +++ b/user/alacritty.nix @@ -0,0 +1,136 @@ +{ config, pkgs, lib, ... }: +let inherit (import ./variables.nix) key theme color accent font; +in { + config = { + programs.alacritty = { + enable = true; + settings = { + font = { + size = font.size.small; + normal = { family = font.mono; }; + }; + colors = { + primary = { + background = "${color.bg}"; + foreground = "${color.txt}"; + }; + cursor = { + text = "#000000"; + cursor = "${accent.color}"; + }; + normal = { + black = "${color.normal.black}"; + red = "${color.normal.red}"; + green = "${color.normal.green}"; + yellow = "${color.normal.yellow}"; + blue = "${color.normal.blue}"; + magenta = "${color.normal.magenta}"; + cyan = "${color.normal.cyan}"; + white = "${color.normal.white}"; + }; + }; + draw_bold_text_with_bright_colors = false; + window = { + opacity = theme.opacity / 100.0; + dynamic_padding = true; + }; + + hints = { + alphabet = key.hints; + enabled = [{ + regex = let + mimes = + "(mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)"; + # I fucking hate regex, look at this bullshit + delimiters = ''^\\u0000-\\u001F\\u007F-\\u009F<>"\\s{-}\\^⟨⟩`''; + in "${mimes}[${delimiters}]+"; + command = "xdg-open"; + post_processing = true; + mouse = { + enabled = true; + mods = "None"; + }; + binding = { + key = "U"; + mods = "Control|Shift"; + }; + }]; + }; + mouse = { hide_when_typing = true; }; + key_bindings = [ + { + key = lib.toUpper key.up; + mode = "Vi|~Search"; + action = "Up"; + } + { + key = lib.toUpper key.down; + mode = "Vi|~Search"; + action = "Down"; + } + { + key = lib.toUpper key.left; + mode = "Vi|~Search"; + action = "Left"; + } + { + key = lib.toUpper key.right; + mode = "Vi|~Search"; + action = "Right"; + } + { + key = lib.toUpper key.insertMode; + mode = "Vi|~Search"; + action = "ScrollToBottom"; + } + { + key = lib.toUpper key.insertMode; + mode = "Vi|~Search"; + action = "ToggleViMode"; + } + { + key = lib.toUpper key.next; + mode = "Vi|~Search"; + action = "SearchNext"; + } + { + key = "Up"; + mods = "Control|Shift"; + mode = "~Alt"; + action = "ScrollLineUp"; + } + { + key = "Down"; + mods = "Control|Shift"; + mode = "~Alt"; + action = "ScrollLineDown"; + } + { + key = "PageUp"; + mods = "Control|Shift"; + mode = "~Alt"; + action = "ScrollHalfPageUp"; + } + { + key = "PageDown"; + mods = "Control|Shift"; + mode = "~Alt"; + action = "ScrollHalfPageDown"; + } + { + key = "N"; + mods = "Control|Shift"; + action = "SpawnNewInstance"; + } + # {%@@ if key.layout == "colemak" @@%} + { + key = "T"; + mode = "Vi|~Search"; + action = "SemanticRightEnd"; + } + # {%@@ endif @@%} + ]; + }; + }; + }; +} diff --git a/user/home.nix b/user/home.nix index 007b893..a144f55 100644 --- a/user/home.nix +++ b/user/home.nix @@ -9,6 +9,7 @@ in { ./fish.nix ./sway.nix ./hyprland.nix + ./alacritty.nix ./git.nix ./qutebrowser ./gpg.nix @@ -48,7 +49,8 @@ in { translate-shell # desktop kanshi - xfce.thunar + # xfce.thunar + gnome.nautilus pass wpass _gpg-unlock @@ -97,136 +99,6 @@ in { gcc nixfmt ]; - programs.alacritty = { - enable = true; - settings = { - font = { - size = font.size.small; - normal = { family = font.mono; }; - }; - colors = { - primary = { - background = "${color.bg}"; - foreground = "${color.txt}"; - }; - cursor = { - text = "#000000"; - cursor = "${accent.color}"; - }; - normal = { - black = "${color.normal.black}"; - red = "${color.normal.red}"; - green = "${color.normal.green}"; - yellow = "${color.normal.yellow}"; - blue = "${color.normal.blue}"; - magenta = "${color.normal.magenta}"; - cyan = "${color.normal.cyan}"; - white = "${color.normal.white}"; - }; - }; - draw_bold_text_with_bright_colors = false; - window = { - opacity = theme.opacity / 100.0; - dynamic_padding = true; - }; - - hints = { - alphabet = key.hints; - enabled = [{ - regex = let - mimes = - "(mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)"; - # I fucking hate regex, look at this bullshit - delimiters = ''^\\u0000-\\u001F\\u007F-\\u009F<>"\\s{-}\\^⟨⟩`''; - in "${mimes}[${delimiters}]+"; - command = "xdg-open"; - post_processing = true; - mouse = { - enabled = true; - mods = "None"; - }; - binding = { - key = "U"; - mods = "Control|Shift"; - }; - }]; - }; - mouse = { hide_when_typing = true; }; - key_bindings = [ - { - key = lib.toUpper key.up; - mode = "Vi|~Search"; - action = "Up"; - } - { - key = lib.toUpper key.down; - mode = "Vi|~Search"; - action = "Down"; - } - { - key = lib.toUpper key.left; - mode = "Vi|~Search"; - action = "Left"; - } - { - key = lib.toUpper key.right; - mode = "Vi|~Search"; - action = "Right"; - } - { - key = lib.toUpper key.insertMode; - mode = "Vi|~Search"; - action = "ScrollToBottom"; - } - { - key = lib.toUpper key.insertMode; - mode = "Vi|~Search"; - action = "ToggleViMode"; - } - { - key = lib.toUpper key.next; - mode = "Vi|~Search"; - action = "SearchNext"; - } - { - key = "Up"; - mods = "Control|Shift"; - mode = "~Alt"; - action = "ScrollLineUp"; - } - { - key = "Down"; - mods = "Control|Shift"; - mode = "~Alt"; - action = "ScrollLineDown"; - } - { - key = "PageUp"; - mods = "Control|Shift"; - mode = "~Alt"; - action = "ScrollHalfPageUp"; - } - { - key = "PageDown"; - mods = "Control|Shift"; - mode = "~Alt"; - action = "ScrollHalfPageDown"; - } - { - key = "N"; - mods = "Control|Shift"; - action = "SpawnNewInstance"; - } - # {%@@ if key.layout == "colemak" @@%} - { - key = "T"; - mode = "Vi|~Search"; - action = "SemanticRightEnd"; - } - # {%@@ endif @@%} - ]; - }; - }; home.sessionVariables = { MOZ_ENABLE_WAYLAND = "1";