From ab3c88b0714d071d94b56b1783ee447b5d8ec730 Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Tue, 12 Nov 2024 21:59:37 +0800 Subject: [PATCH] feat: add foot terminal --- .typos.toml | 21 ++++++++++- home/base/gui/terminal/foot.nix | 62 +++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 home/base/gui/terminal/foot.nix diff --git a/.typos.toml b/.typos.toml index c14600ac..01266068 100644 --- a/.typos.toml +++ b/.typos.toml @@ -9,7 +9,26 @@ binary = false extend-ignore-re = [ "iterm2", "iHgEIBYKACAWIQSizQe9ljFEyyclWmtVhZllwnQrSwUCZZ1T9wIdAAAKCRBVhZll", # crypto keys - "noice", # noice.nvim + "noice", # noice.nvim "crypted-nixos", "daed", + + # catppuccin theme colors + "11111b", + "1e1e2e", + "313244", + "414356", + "45475a", + "585b70", + "89b4fa", + "94e2d5", + "a6adc8", + "a6e3a1", + "bac2de", + "cdd6f4", + "f38ba8", + "f5c2e7", + "f5e0dc", + "f9e2af", + "fab387", ] diff --git a/home/base/gui/terminal/foot.nix b/home/base/gui/terminal/foot.nix new file mode 100644 index 00000000..edc9d471 --- /dev/null +++ b/home/base/gui/terminal/foot.nix @@ -0,0 +1,62 @@ +{pkgs, ...}: { + programs.foot = { + # foot is designed only for Linux + enable = pkgs.stdenv.isLinux; + # https://man.archlinux.org/man/foot.ini.5 + settings = { + main = { + term = "foot"; # or "xterm-256color" for maximum compatibility + font = "JetBrainsMono Nerd Font:size=13"; + dpi-aware = "yes"; + + # Spawn a nushell in login mode via `bash` + shell = "${pkgs.bash}/bin/bash --login -c 'nu --login --interactive'"; + }; + + mouse = { + hide-when-typing = "yes"; + }; + + # https://github.com/catppuccin/foot/blob/main/themes/catppuccin-mocha.ini + cursor = { + color = "11111b f5e0dc"; + }; + colors = { + alpha = "0.93"; # background opacity + + foreground = "cdd6f4"; + background = "1e1e2e"; + + regular0 = "45475a"; + regular1 = "f38ba8"; + regular2 = "a6e3a1"; + regular3 = "f9e2af"; + regular4 = "89b4fa"; + regular5 = "f5c2e7"; + regular6 = "94e2d5"; + regular7 = "bac2de"; + + bright0 = "585b70"; + bright1 = "f38ba8"; + bright2 = "a6e3a1"; + bright3 = "f9e2af"; + bright4 = "89b4fa"; + bright5 = "f5c2e7"; + bright6 = "94e2d5"; + bright7 = "a6adc8"; + + "16" = "fab387"; + "17" = "f5e0dc"; + + "selection-foreground" = "cdd6f4"; + "selection-background" = "414356"; + + "search-box-no-match" = "11111b f38ba8"; + "search-box-match" = "cdd6f4 313244"; + + "jump-labels" = "11111b fab387"; + urls = "89b4fa"; + }; + }; + }; +}