From f89e10fdca81564754f3007015282d7d807d49a2 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Sun, 12 Feb 2023 16:46:49 +0000 Subject: [PATCH] home: terminal: add alacritty --- home/terminal/alacritty/default.nix | 57 +++++++++++++++++++++++++++++ home/terminal/default.nix | 3 +- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 home/terminal/alacritty/default.nix diff --git a/home/terminal/alacritty/default.nix b/home/terminal/alacritty/default.nix new file mode 100644 index 0000000..a729d79 --- /dev/null +++ b/home/terminal/alacritty/default.nix @@ -0,0 +1,57 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.my.home.terminal; +in +{ + config = lib.mkIf (cfg.program == "alacritty") { + programs.alacritty = { + enable = true; + + settings = { + env = { + # DPI scaling means the font is way too big otherwise + WINIT_X11_SCALE_FACTOR = "1.0"; + }; + + font = { + size = 9; + }; + + colors = { + primary = { + background = cfg.colors.background; + foreground = cfg.colors.foreground; + + bright_foreground = cfg.colors.foregroundBold; + }; + + cursor = { + cursor = cfg.colors.cursor; + }; + + normal = { + black = cfg.colors.black; + red = cfg.colors.red; + green = cfg.colors.green; + yellow = cfg.colors.yellow; + blue = cfg.colors.blue; + magenta = cfg.colors.magenta; + cyan = cfg.colors.cyan; + white = cfg.colors.white; + }; + + bright = { + black = cfg.colors.blackBold; + red = cfg.colors.redBold; + green = cfg.colors.greenBold; + yellow = cfg.colors.yellowBold; + blue = cfg.colors.blueBold; + magenta = cfg.colors.magentaBold; + cyan = cfg.colors.cyanBold; + white = cfg.colors.whiteBold; + }; + }; + }; + }; + }; +} diff --git a/home/terminal/default.nix b/home/terminal/default.nix index 68ff44e..20f36b5 100644 --- a/home/terminal/default.nix +++ b/home/terminal/default.nix @@ -10,13 +10,14 @@ let in { imports = [ + ./alacritty ./termite ]; options.my.home = with lib; { terminal = { program = mkOption { - type = with types; nullOr (enum [ "termite" ]); + type = with types; nullOr (enum [ "alacritty" "termite" ]); default = null; example = "termite"; description = "Which terminal to use for home session";