summaryrefslogtreecommitdiff
path: root/home/ebisu/fortune/system/terminal
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-08-29 21:31:09 -0700
committerFuwn <[email protected]>2024-08-29 21:31:09 -0700
commit653f81eec07eb3e33c380810676a7feb45e1df43 (patch)
tree00d43c8f1b2cb2cf8ebaf1b7c1a4c026718033bb /home/ebisu/fortune/system/terminal
parentsome stuff (diff)
downloadnixos-config-653f81eec07eb3e33c380810676a7feb45e1df43.tar.xz
nixos-config-653f81eec07eb3e33c380810676a7feb45e1df43.zip
some stuff
Diffstat (limited to 'home/ebisu/fortune/system/terminal')
-rw-r--r--home/ebisu/fortune/system/terminal/default.nix11
-rw-r--r--home/ebisu/fortune/system/terminal/foot/default.nix49
-rw-r--r--home/ebisu/fortune/system/terminal/kitty/default.nix113
3 files changed, 173 insertions, 0 deletions
diff --git a/home/ebisu/fortune/system/terminal/default.nix b/home/ebisu/fortune/system/terminal/default.nix
new file mode 100644
index 0000000..6375e0a
--- /dev/null
+++ b/home/ebisu/fortune/system/terminal/default.nix
@@ -0,0 +1,11 @@
+{ pkgs, ... }: {
+ imports = [
+ ./kitty
+ ./foot
+ ];
+
+ home.packages = with pkgs; [
+ cool-retro-term
+ # warp-terminal
+ ];
+}
diff --git a/home/ebisu/fortune/system/terminal/foot/default.nix b/home/ebisu/fortune/system/terminal/foot/default.nix
new file mode 100644
index 0000000..ed0820b
--- /dev/null
+++ b/home/ebisu/fortune/system/terminal/foot/default.nix
@@ -0,0 +1,49 @@
+{ pkgs, ... }: {
+ programs.foot = {
+ enable = true;
+
+ settings = {
+ main = {
+ font = "SF Mono:size=12";
+ font-bold = "SF Mono:size=12:weight=medium";
+ font-italic = "SF Mono:size=12:slant=italic";
+ font-bold-italic = "SF Mono:size=12:slant=italic:weight=medium";
+
+ # Font Fine-tuning
+ # vertical-letter-offset = -1;
+ # line-height = 13;
+ # underline-thickness = 0.6;
+ # underline-offset = 2;
+
+ # Styling
+ bold-text-in-bright = "palette-based";
+ pad = "15x15"; # "24x24"
+
+ # Misc.
+ resize-delay-ms = "0";
+ term = "xterm";
+ # locked-title = "yes";
+ selection-target = "both";
+ # workers = "0";
+ # utmp-helper = "none";
+ };
+
+ url.osc8-underline = "always";
+ bell.urgent = "yes";
+ # scrollback.lines = "1000";
+ mouse.hide-when-typing = "yes";
+ key-bindings.clipboard-paste = "Control+v Control+Shift+v";
+
+ tweak = {
+ scaling-filter = "none";
+ # font-monospace-warn = "no";
+ # grapheme-width-method = "wcswidth";
+ # grapheme-shaping = "no";
+ };
+
+ colors = {
+ alpha = "0.8";
+ };
+ };
+ };
+}
diff --git a/home/ebisu/fortune/system/terminal/kitty/default.nix b/home/ebisu/fortune/system/terminal/kitty/default.nix
new file mode 100644
index 0000000..4346e8d
--- /dev/null
+++ b/home/ebisu/fortune/system/terminal/kitty/default.nix
@@ -0,0 +1,113 @@
+{ pkgs, config, ... }:
+{
+ programs.kitty = {
+ enable = true;
+
+ settings = {
+ # Font
+ # MesloLGS NF
+ font_family = "SF Mono Light";
+ bold_font = "SF Mono Medium";
+ italic_font = "SF Mono Light Italic";
+ bold_italic_font = "SF Mono Medium Italic";
+ font_size = 12; # 13.5
+
+ # Optimisation
+ resize_debounce_time = 0;
+ sync_to_monitor = true;
+ repaint_delay = 0;
+ input_delay = 0;
+
+ # Style
+ background_opacity = "0.8";
+ window_border_width = 0;
+ window_margin_width = 15;
+ hide_window_decorations = "titlebar-only";
+ include = "~/.cache/wal/colors-kitty.conf";
+
+ # Cursor
+ cursor_blink_interval = 0; # 0.5
+ cursor_stop_blinking_after = 0; # 15
+
+ # Other
+ scrollback_pager = "less +G -R";
+ wheel_scroll_multiplier = 5;
+ click_interval = "0.5";
+ select_by_word_characters = ":@-./_~?&=%+#";
+ mouse_hide_wait = 0;
+ enabled_layouts = "*";
+ remember_window_size = false;
+ macos_option_as_alt = false;
+ allow_remote_control = true;
+ confirm_os_window_close = 0;
+ term = "xterm-kitty";
+
+ # Bell
+ visual_bell_duration = 0;
+ enable_audio_bell = false;
+
+ # URL Handling
+ open_url_modifiers = "ctrl+shift";
+ open_url_with = "default";
+ };
+
+ extraConfig = ''
+ # Clipboard
+ map super+v paste_from_clipboard
+ map ctrl+shift+s paste_from_selection
+ map super+c copy_to_clipboard
+ map shift+insert paste_from_selection
+
+ # Scrolling
+ map ctrl+shift+up scroll_line_up
+ map ctrl+shift+down scroll_line_down
+ map ctrl+shift+k scroll_line_up
+ map ctrl+shift+j scroll_line_down
+ map ctrl+shift+page_up scroll_page_up
+ map ctrl+shift+page_down scroll_page_down
+ map ctrl+shift+home scroll_home
+ map ctrl+shift+end scroll_end
+ map ctrl+shift+h show_scrollback
+
+ # Window management
+ map super+n new_os_window
+ map super+w close_window
+ map ctrl+shift+enter new_window
+ map ctrl+shift+] next_window
+ map ctrl+shift+[ previous_window
+ map ctrl+shift+f move_window_forward
+ map ctrl+shift+b move_window_backward
+ map ctrl+shift+` move_window_to_top
+ map ctrl+shift+1 first_window
+ map ctrl+shift+2 second_window
+ map ctrl+shift+3 third_window
+ map ctrl+shift+4 fourth_window
+ map ctrl+shift+5 fifth_window
+ map ctrl+shift+6 sixth_window
+ map ctrl+shift+7 seventh_window
+ map ctrl+shift+8 eighth_window
+ map ctrl+shift+9 ninth_window
+ map ctrl+shift+0 tenth_window
+
+ # Tab management
+ map ctrl+shift+right next_tab
+ map ctrl+shift+left previous_tab
+ map ctrl+shift+t new_tab
+ map ctrl+shift+q close_tab
+ map ctrl+shift+l next_layout
+ map ctrl+shift+. move_tab_forward
+ map ctrl+shift+, move_tab_backward
+
+ # Miscellaneous
+ map ctrl+shift+up increase_font_size
+ map ctrl+shift+down decrease_font_size
+ map ctrl+shift+backspace restore_font_size
+
+ map ctrl+/ launch --allow-remote-control kitty +kitten kitty_search/search.py @active-kitty-window-id
+ '';
+ };
+
+ # read the file, but remove the line with shell_integration
+ # xdg.configFile."kitty/kitty.conf".text =
+ # builtins.map (line: if builtins.match "shell_integration" line then "" else line) (builtins.split "\n" (builtins.readFile ~/.config/kitty/kitty.conf));
+}