about summary refs log tree commit diff
path: root/users/glittershark/system/home/modules/alacritty.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/glittershark/system/home/modules/alacritty.nix')
-rw-r--r--users/glittershark/system/home/modules/alacritty.nix29
1 files changed, 25 insertions, 4 deletions
diff --git a/users/glittershark/system/home/modules/alacritty.nix b/users/glittershark/system/home/modules/alacritty.nix
index 34ccf47f18..1633fb1e63 100644
--- a/users/glittershark/system/home/modules/alacritty.nix
+++ b/users/glittershark/system/home/modules/alacritty.nix
@@ -1,17 +1,36 @@
 { config, lib, pkgs, ... }:
-{
-  home.packages = with pkgs; [
-    alacritty 
-  ];
 
+let
+
+  # TODO(grfn): Find a way to extract this to third_party without too much
+  # effort
+  alacrittyNixpkgs = import (pkgs.fetchFromGitHub {
+    owner = "NixOS";
+    repo = "nixpkgs";
+    rev = "cd9286194a5597e28b8bfb747418dd6af1567eb3";
+    sha256 = "0rwhq7cy4xy25gg2in6vah55psdizz7r187zy7z4c2a7pj2hs7ak";
+  }) {};
+
+in
+
+{
   programs.alacritty = {
     enable = true;
+    package = alacrittyNixpkgs.alacritty;
     settings = {
       font.size = 6;
       font.normal.family = "Meslo LGSDZ Nerd Font";
 
       draw_bold_text_with_bright_colors = false;
 
+      key_bindings = [
+        {
+          key = "Escape";
+          mods = "Control";
+          action = "ToggleViMode";
+        }
+      ];
+
       colors = with import ../common/solarized.nix; rec {
         # Default colors
         primary = {
@@ -43,6 +62,8 @@
           cyan = base1;
           white = base3;
         };
+
+        vi_mode_cursor.cursor = red;
       };
     };
   };