From 636416fdbea83f41b7e0db5b5a29f848b550763b Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 24 Jan 2025 21:48:52 +0100 Subject: [PATCH] Adds fish config as home manager module --- home/modules/fish/default.nix | 45 +++++++++++++++++++ home/modules/fish/themes/Rosé Pine Dawn.theme | 41 +++++++++++++++++ home/modules/fish/themes/Rosé Pine Moon.theme | 41 +++++++++++++++++ home/modules/fish/themes/Rosé Pine.theme | 41 +++++++++++++++++ 4 files changed, 168 insertions(+) create mode 100644 home/modules/fish/default.nix create mode 100644 home/modules/fish/themes/Rosé Pine Dawn.theme create mode 100644 home/modules/fish/themes/Rosé Pine Moon.theme create mode 100644 home/modules/fish/themes/Rosé Pine.theme diff --git a/home/modules/fish/default.nix b/home/modules/fish/default.nix new file mode 100644 index 0000000..7231aba --- /dev/null +++ b/home/modules/fish/default.nix @@ -0,0 +1,45 @@ +{ + programs.fish = { + enable = true; + + functions = { + ff = '' + set RG_PREFIX "rg --column --line-number --no-heading --color=always --smart-case " + set INITIAL_QUERY "$argv" + fzf --ansi --disabled --query "$INITIAL_QUERY" \ + --bind "start:reload:$RG_PREFIX {q}" \ + --bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \ + --delimiter : \ + --preview 'bat --color=always {1} --highlight-line {2}' \ + --preview-window 'up,60%,border-bottom,+{2}+3/3,~3' \ + --bind 'enter:become(nvim {1} +{2})' + ''; + fish_greeting = "fortune -a"; + }; + + interactiveShellInit = '' + fish_config theme choose "Rosé Pine" + + set hn (prompt_hostname) + set fish_cursor_default block blink + set fish_cursor_insert line blink + set fish_cursor_replace_one underscore blink + set fish_cursor_visual block + set fish_vi_force_cursor 1 + fish_vi_key_bindings + + fish_add_path /run/current-system/sw/bin + fish_add_path /opt/homebrew/bin + + fnm env --use-on-cd --shell fish | source + ''; + + shellAbbrs = { + lg = "lazygit"; + g = "git"; + frc = "source ~/.config/fish/**/*.fish"; + }; + }; + + home.file.".config/fish/themes".source = ./themes; +} diff --git a/home/modules/fish/themes/Rosé Pine Dawn.theme b/home/modules/fish/themes/Rosé Pine Dawn.theme new file mode 100644 index 0000000..48194f7 --- /dev/null +++ b/home/modules/fish/themes/Rosé Pine Dawn.theme @@ -0,0 +1,41 @@ +# syntax highlighting variables +# https://fishshell.com/docs/current/interactive.html#syntax-highlighting-variables +fish_color_normal 575279 +fish_color_command 907aa9 +fish_color_keyword 56949f +fish_color_quote ea9d34 +fish_color_redirection 286983 +fish_color_end 797593 +fish_color_error b4637a +fish_color_param d7827e +fish_color_comment 797593 +# fish_color_match --background=brblue +fish_color_selection --reverse +# fish_color_history_current --bold +fish_color_operator 575279 +fish_color_escape 286983 +fish_color_autosuggestion 797593 +fish_color_cwd d7827e +# fish_color_cwd_root red +fish_color_user ea9d34 +fish_color_host 56949f +fish_color_host_remote 907aa9 +fish_color_cancel 575279 +fish_color_search_match --background=faf4ed +fish_color_valid_path + +# pager color variables +# https://fishshell.com/docs/current/interactive.html#pager-color-variables +fish_pager_color_progress d7827e +fish_pager_color_background --background=fffaf3 +fish_pager_color_prefix 56949f +fish_pager_color_completion 797593 +fish_pager_color_description 797593 +fish_pager_color_secondary_background +fish_pager_color_secondary_prefix +fish_pager_color_secondary_completion +fish_pager_color_secondary_description +fish_pager_color_selected_background --background=f2e9e1 +fish_pager_color_selected_prefix 56949f +fish_pager_color_selected_completion 575279 +fish_pager_color_selected_description 575279 diff --git a/home/modules/fish/themes/Rosé Pine Moon.theme b/home/modules/fish/themes/Rosé Pine Moon.theme new file mode 100644 index 0000000..a67773e --- /dev/null +++ b/home/modules/fish/themes/Rosé Pine Moon.theme @@ -0,0 +1,41 @@ +# syntax highlighting variables +# https://fishshell.com/docs/current/interactive.html#syntax-highlighting-variables +fish_color_normal e0def4 +fish_color_command c4a7e7 +fish_color_keyword 9ccfd8 +fish_color_quote f6c177 +fish_color_redirection 3e8fb0 +fish_color_end 908caa +fish_color_error eb6f92 +fish_color_param ea9a97 +fish_color_comment 908caa +# fish_color_match --background=brblue +fish_color_selection --reverse +# fish_color_history_current --bold +fish_color_operator e0def4 +fish_color_escape 3e8fb0 +fish_color_autosuggestion 908caa +fish_color_cwd ea9a97 +# fish_color_cwd_root red +fish_color_user f6c177 +fish_color_host 9ccfd8 +fish_color_host_remote c4a7e7 +fish_color_cancel e0def4 +fish_color_search_match --background=232136 +fish_color_valid_path + +# pager color variables +# https://fishshell.com/docs/current/interactive.html#pager-color-variables +fish_pager_color_progress ea9a97 +fish_pager_color_background --background=2a273f +fish_pager_color_prefix 9ccfd8 +fish_pager_color_completion 908caa +fish_pager_color_description 908caa +fish_pager_color_secondary_background +fish_pager_color_secondary_prefix +fish_pager_color_secondary_completion +fish_pager_color_secondary_description +fish_pager_color_selected_background --background=393552 +fish_pager_color_selected_prefix 9ccfd8 +fish_pager_color_selected_completion e0def4 +fish_pager_color_selected_description e0def4 diff --git a/home/modules/fish/themes/Rosé Pine.theme b/home/modules/fish/themes/Rosé Pine.theme new file mode 100644 index 0000000..446f6b5 --- /dev/null +++ b/home/modules/fish/themes/Rosé Pine.theme @@ -0,0 +1,41 @@ +# syntax highlighting variables +# https://fishshell.com/docs/current/interactive.html#syntax-highlighting-variables +fish_color_normal e0def4 +fish_color_command c4a7e7 +fish_color_keyword 9ccfd8 +fish_color_quote f6c177 +fish_color_redirection 31748f +fish_color_end 908caa +fish_color_error eb6f92 +fish_color_param ebbcba +fish_color_comment 908caa +# fish_color_match --background=brblue +fish_color_selection --reverse +# fish_color_history_current --bold +fish_color_operator e0def4 +fish_color_escape 31748f +fish_color_autosuggestion 908caa +fish_color_cwd ebbcba +# fish_color_cwd_root red +fish_color_user f6c177 +fish_color_host 9ccfd8 +fish_color_host_remote c4a7e7 +fish_color_cancel e0def4 +fish_color_search_match --background=191724 +fish_color_valid_path + +# pager color variables +# https://fishshell.com/docs/current/interactive.html#pager-color-variables +fish_pager_color_progress ebbcba +fish_pager_color_background --background=1f1d2e +fish_pager_color_prefix 9ccfd8 +fish_pager_color_completion 908caa +fish_pager_color_description 908caa +fish_pager_color_secondary_background +fish_pager_color_secondary_prefix +fish_pager_color_secondary_completion +fish_pager_color_secondary_description +fish_pager_color_selected_background --background=26233a +fish_pager_color_selected_prefix 9ccfd8 +fish_pager_color_selected_completion e0def4 +fish_pager_color_selected_description e0def4