about summary refs log tree commit diff
path: root/home/terminal
diff options
context:
space:
mode:
Diffstat (limited to 'home/terminal')
-rw-r--r--home/terminal/alacritty/default.nix21
-rw-r--r--home/terminal/default.nix17
2 files changed, 38 insertions, 0 deletions
diff --git a/home/terminal/alacritty/default.nix b/home/terminal/alacritty/default.nix
new file mode 100644
index 0000000..72a6d33
--- /dev/null
+++ b/home/terminal/alacritty/default.nix
@@ -0,0 +1,21 @@
+{ config, lib, pkgs, ... }:
+let cfg = config.my.home.terminal;
+in {
+  config = lib.mkIf (cfg.program == "alacritty") {
+    programs.alacritty = {
+      enable = true;
+
+      settings = {
+        env = { TERM = "xterm-256color"; };
+        live_config_reload = true;
+        draw_bold_text_with_bright_colors = true;
+        selection = { save_to_clipboard = true; };
+        font = { size = 12; };
+        cursor = {
+          style.blinking = "Never";
+          unfocused_hollow = true;
+        };
+      };
+    };
+  };
+}
diff --git a/home/terminal/default.nix b/home/terminal/default.nix
new file mode 100644
index 0000000..e1ff0d7
--- /dev/null
+++ b/home/terminal/default.nix
@@ -0,0 +1,17 @@
+{ config, lib, ... }:
+let cfg = config.my.home.terminal;
+in {
+  imports = [ ./alacritty ];
+  options.my.home = with lib; {
+    terminal = {
+      program = mkOption {
+        type = with types; nullOr (enum [ "alacritty" ]);
+        default = null;
+        example = "alacritty";
+        description = "Which terminal to use for home session";
+      };
+    };
+  };
+  config.home.sessionVariables =
+    lib.mkIf (cfg.program != null) { TERMINAL = cfg.program; };
+}