replace zsh with fish (only interactively)
This commit is contained in:
parent
39aff6e6a0
commit
34aca08f9e
17 changed files with 448 additions and 125 deletions
|
@ -18,13 +18,17 @@ You could install it on any Linux distribution that you want, but I recommend Ar
|
||||||
* Theme
|
* Theme
|
||||||
I use [[https://github.com/catppuccin/catppuccin][catppuccin]] as my theme (the mocha variant). I love the soothing pastel colors. The GTK theme and the Qt5 theme are also configured to be used with supported applications.
|
I use [[https://github.com/catppuccin/catppuccin][catppuccin]] as my theme (the mocha variant). I love the soothing pastel colors. The GTK theme and the Qt5 theme are also configured to be used with supported applications.
|
||||||
|
|
||||||
|
* Shell setup
|
||||||
|
I use [[https://github.com/fish-shell/fish-shell][fish]] as my interactive shell, but I still keep [[https://www.gnu.org/software/bash/][bash]] as my non-interactive shell for compatibility purposes, as some pieces of software that I use require the user to have a POSIX compliant shell. This is why I have a bash module, where I setup everything that I want to have non-interactively and interactively and if running interactively, have it start a fish session.
|
||||||
|
|
||||||
|
It also keeps variables set in .profile, since we're starting fish from bash.
|
||||||
* Software used
|
* Software used
|
||||||
- Operating system: [[https://archlinux.org/][Arch Linux]]
|
- Operating system: [[https://archlinux.org/][Arch Linux]]
|
||||||
- Window manager: [[https://hyprland.org][Hyprland]]
|
- Window manager: [[https://hyprland.org][Hyprland]]
|
||||||
- Status bar: [[https://github.com/Alexays/Waybar][Waybar]]
|
- Status bar: [[https://github.com/Alexays/Waybar][Waybar]]
|
||||||
- Application launcher: [[https://sr.ht/~scoopta/wofi/][wofi]]
|
- Application launcher: [[https://sr.ht/~scoopta/wofi/][wofi]]
|
||||||
- Terminal emulator: [[https://github.com/kovidgoyal/kitty][kitty]]
|
- Terminal emulator: [[https://github.com/kovidgoyal/kitty][kitty]]
|
||||||
- Shell: [[https://www.zsh.org/][zsh]]
|
- Shell: [[https://github.com/fish-shell/fish-shell][fish]]
|
||||||
- Text editor: [[https://www.gnu.org/software/emacs/][Emacs]]
|
- Text editor: [[https://www.gnu.org/software/emacs/][Emacs]]
|
||||||
- Notification daemon: [[https://github.com/dunst-project/dunst][dunst]]
|
- Notification daemon: [[https://github.com/dunst-project/dunst][dunst]]
|
||||||
- Password manager: [[https://www.passwordstore.org/][pass]]
|
- Password manager: [[https://www.passwordstore.org/][pass]]
|
||||||
|
|
6
bash/.bash_profile
Normal file
6
bash/.bash_profile
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#
|
||||||
|
# ~/.bash_profile
|
||||||
|
#
|
||||||
|
|
||||||
|
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
||||||
|
. "$HOME/.cargo/env"
|
13
bash/.bashrc
Normal file
13
bash/.bashrc
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#
|
||||||
|
# ~/.bashrc
|
||||||
|
#
|
||||||
|
|
||||||
|
# make sure ssh related variables are available in non-interactive sessions (useful for emacs' exec-path-from-shell)
|
||||||
|
[[ -f "$HOME/.keychain/$HOSTNAME-sh" ]] && source "$HOME/.keychain/$HOSTNAME-sh"
|
||||||
|
|
||||||
|
# if running interactively, run fish
|
||||||
|
if [[ $(ps --no-header --pid=$PPID --format=comm) != "fish" && -z ${BASH_EXECUTION_STRING} ]]
|
||||||
|
then
|
||||||
|
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=''
|
||||||
|
exec fish $LOGIN_OPTION
|
||||||
|
fi
|
7
fish/.config/fish/completions/fisher.fish
Normal file
7
fish/.config/fish/completions/fisher.fish
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
complete --command fisher --exclusive --long help --description "Print help"
|
||||||
|
complete --command fisher --exclusive --long version --description "Print version"
|
||||||
|
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins"
|
||||||
|
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins"
|
||||||
|
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins"
|
||||||
|
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex"
|
||||||
|
complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)"
|
7
fish/.config/fish/config.fish
Normal file
7
fish/.config/fish/config.fish
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
if status is-interactive
|
||||||
|
keychain --quiet -Q id_ed25519
|
||||||
|
end
|
||||||
|
|
||||||
|
if test -f ~/.keychain/$hostname-fish
|
||||||
|
source ~/.keychain/$hostname-fish
|
||||||
|
end
|
2
fish/.config/fish/fish_plugins
Normal file
2
fish/.config/fish/fish_plugins
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
jorgebucaran/fisher
|
||||||
|
catppuccin/fish
|
48
fish/.config/fish/fish_variables
Normal file
48
fish/.config/fish/fish_variables
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
# This file contains fish universal variable definitions.
|
||||||
|
# VERSION: 3.0
|
||||||
|
SETUVAR --export SSH_AGENT_PID:1735
|
||||||
|
SETUVAR --export SSH_AUTH_SOCK:/tmp/ssh\x2dXXXXXXDOnz2M/agent\x2e1734
|
||||||
|
SETUVAR __fish_initialized:3400
|
||||||
|
SETUVAR _fisher_catppuccin_2F_fish_files:\x7e/\x2econfig/fish/themes/Catppuccin\x20Frappe\x2etheme\x1e\x7e/\x2econfig/fish/themes/Catppuccin\x20Latte\x2etheme\x1e\x7e/\x2econfig/fish/themes/Catppuccin\x20Macchiato\x2etheme\x1e\x7e/\x2econfig/fish/themes/Catppuccin\x20Mocha\x2etheme
|
||||||
|
SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish
|
||||||
|
SETUVAR _fisher_plugins:jorgebucaran/fisher\x1ecatppuccin/fish
|
||||||
|
SETUVAR _fisher_upgraded_to_4_4:\x1d
|
||||||
|
SETUVAR fish_color_autosuggestion:6c7086
|
||||||
|
SETUVAR fish_color_cancel:f38ba8
|
||||||
|
SETUVAR fish_color_command:89b4fa
|
||||||
|
SETUVAR fish_color_comment:7f849c
|
||||||
|
SETUVAR fish_color_cwd:f9e2af
|
||||||
|
SETUVAR fish_color_cwd_root:red
|
||||||
|
SETUVAR fish_color_end:fab387
|
||||||
|
SETUVAR fish_color_error:f38ba8
|
||||||
|
SETUVAR fish_color_escape:eba0ac
|
||||||
|
SETUVAR fish_color_gray:6c7086
|
||||||
|
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||||
|
SETUVAR fish_color_host:89b4fa
|
||||||
|
SETUVAR fish_color_host_remote:a6e3a1
|
||||||
|
SETUVAR fish_color_keyword:f38ba8
|
||||||
|
SETUVAR fish_color_normal:cdd6f4
|
||||||
|
SETUVAR fish_color_operator:f5c2e7
|
||||||
|
SETUVAR fish_color_option:a6e3a1
|
||||||
|
SETUVAR fish_color_param:f2cdcd
|
||||||
|
SETUVAR fish_color_quote:a6e3a1
|
||||||
|
SETUVAR fish_color_redirection:f5c2e7
|
||||||
|
SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d313244
|
||||||
|
SETUVAR fish_color_selection:\x2d\x2dbackground\x3d313244
|
||||||
|
SETUVAR fish_color_status:f38ba8
|
||||||
|
SETUVAR fish_color_user:94e2d5
|
||||||
|
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||||
|
SETUVAR fish_key_bindings:fish_default_key_bindings
|
||||||
|
SETUVAR fish_pager_color_background:\x1d
|
||||||
|
SETUVAR fish_pager_color_completion:cdd6f4
|
||||||
|
SETUVAR fish_pager_color_description:6c7086
|
||||||
|
SETUVAR fish_pager_color_prefix:f5c2e7
|
||||||
|
SETUVAR fish_pager_color_progress:6c7086
|
||||||
|
SETUVAR fish_pager_color_secondary_background:\x1d
|
||||||
|
SETUVAR fish_pager_color_secondary_completion:\x1d
|
||||||
|
SETUVAR fish_pager_color_secondary_description:\x1d
|
||||||
|
SETUVAR fish_pager_color_secondary_prefix:\x1d
|
||||||
|
SETUVAR fish_pager_color_selected_background:\x1d
|
||||||
|
SETUVAR fish_pager_color_selected_completion:\x1d
|
||||||
|
SETUVAR fish_pager_color_selected_description:\x1d
|
||||||
|
SETUVAR fish_pager_color_selected_prefix:\x1d
|
240
fish/.config/fish/functions/fisher.fish
Normal file
240
fish/.config/fish/functions/fisher.fish
Normal file
|
@ -0,0 +1,240 @@
|
||||||
|
function fisher --argument-names cmd --description "A plugin manager for Fish"
|
||||||
|
set --query fisher_path || set --local fisher_path $__fish_config_dir
|
||||||
|
set --local fisher_version 4.4.3
|
||||||
|
set --local fish_plugins $__fish_config_dir/fish_plugins
|
||||||
|
|
||||||
|
switch "$cmd"
|
||||||
|
case -v --version
|
||||||
|
echo "fisher, version $fisher_version"
|
||||||
|
case "" -h --help
|
||||||
|
echo "Usage: fisher install <plugins...> Install plugins"
|
||||||
|
echo " fisher remove <plugins...> Remove installed plugins"
|
||||||
|
echo " fisher update <plugins...> Update installed plugins"
|
||||||
|
echo " fisher update Update all installed plugins"
|
||||||
|
echo " fisher list [<regex>] List installed plugins matching regex"
|
||||||
|
echo "Options:"
|
||||||
|
echo " -v, --version Print version"
|
||||||
|
echo " -h, --help Print this help message"
|
||||||
|
echo "Variables:"
|
||||||
|
echo " \$fisher_path Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~
|
||||||
|
case ls list
|
||||||
|
string match --entire --regex -- "$argv[2]" $_fisher_plugins
|
||||||
|
case install update remove
|
||||||
|
isatty || read --local --null --array stdin && set --append argv $stdin
|
||||||
|
|
||||||
|
set --local install_plugins
|
||||||
|
set --local update_plugins
|
||||||
|
set --local remove_plugins
|
||||||
|
set --local arg_plugins $argv[2..-1]
|
||||||
|
set --local old_plugins $_fisher_plugins
|
||||||
|
set --local new_plugins
|
||||||
|
|
||||||
|
test -e $fish_plugins && set --local file_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins)
|
||||||
|
|
||||||
|
if ! set --query argv[2]
|
||||||
|
if test "$cmd" != update
|
||||||
|
echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1
|
||||||
|
else if ! set --query file_plugins
|
||||||
|
echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1
|
||||||
|
end
|
||||||
|
set arg_plugins $file_plugins
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $arg_plugins
|
||||||
|
set plugin (test -e "$plugin" && realpath $plugin || string lower -- $plugin)
|
||||||
|
contains -- "$plugin" $new_plugins || set --append new_plugins $plugin
|
||||||
|
end
|
||||||
|
|
||||||
|
if set --query argv[2]
|
||||||
|
for plugin in $new_plugins
|
||||||
|
if contains -- "$plugin" $old_plugins
|
||||||
|
test "$cmd" = remove &&
|
||||||
|
set --append remove_plugins $plugin ||
|
||||||
|
set --append update_plugins $plugin
|
||||||
|
else if test "$cmd" = install
|
||||||
|
set --append install_plugins $plugin
|
||||||
|
else
|
||||||
|
echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
for plugin in $new_plugins
|
||||||
|
contains -- "$plugin" $old_plugins &&
|
||||||
|
set --append update_plugins $plugin ||
|
||||||
|
set --append install_plugins $plugin
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $old_plugins
|
||||||
|
contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
set --local pid_list
|
||||||
|
set --local source_plugins
|
||||||
|
set --local fetch_plugins $update_plugins $install_plugins
|
||||||
|
set --local fish_path (status fish-path)
|
||||||
|
|
||||||
|
echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal)
|
||||||
|
|
||||||
|
for plugin in $fetch_plugins
|
||||||
|
set --local source (command mktemp -d)
|
||||||
|
set --append source_plugins $source
|
||||||
|
|
||||||
|
command mkdir -p $source/{completions,conf.d,themes,functions}
|
||||||
|
|
||||||
|
$fish_path --command "
|
||||||
|
if test -e $plugin
|
||||||
|
command cp -Rf $plugin/* $source
|
||||||
|
else
|
||||||
|
set temp (command mktemp -d)
|
||||||
|
set repo (string split -- \@ $plugin) || set repo[2] HEAD
|
||||||
|
|
||||||
|
if set path (string replace --regex -- '^(https://)?gitlab.com/' '' \$repo[1])
|
||||||
|
set name (string split -- / \$path)[-1]
|
||||||
|
set url https://gitlab.com/\$path/-/archive/\$repo[2]/\$name-\$repo[2].tar.gz
|
||||||
|
else
|
||||||
|
set url https://api.github.com/repos/\$repo[1]/tarball/\$repo[2]
|
||||||
|
end
|
||||||
|
|
||||||
|
echo Fetching (set_color --underline)\$url(set_color normal)
|
||||||
|
|
||||||
|
if curl --silent -L \$url | tar -xzC \$temp -f - 2>/dev/null
|
||||||
|
command cp -Rf \$temp/*/* $source
|
||||||
|
else
|
||||||
|
echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
|
||||||
|
command rm -rf $source
|
||||||
|
end
|
||||||
|
|
||||||
|
command rm -rf \$temp
|
||||||
|
end
|
||||||
|
|
||||||
|
set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files
|
||||||
|
" &
|
||||||
|
|
||||||
|
set --append pid_list (jobs --last --pid)
|
||||||
|
end
|
||||||
|
|
||||||
|
wait $pid_list 2>/dev/null
|
||||||
|
|
||||||
|
for plugin in $fetch_plugins
|
||||||
|
if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
|
||||||
|
if set --local index (contains --index -- "$plugin" $install_plugins)
|
||||||
|
set --erase install_plugins[$index]
|
||||||
|
else
|
||||||
|
set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $update_plugins $remove_plugins
|
||||||
|
if set --local index (contains --index -- "$plugin" $_fisher_plugins)
|
||||||
|
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
|
||||||
|
|
||||||
|
if contains -- "$plugin" $remove_plugins
|
||||||
|
for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||||
|
emit {$name}_uninstall
|
||||||
|
end
|
||||||
|
printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
|
||||||
|
set --erase _fisher_plugins[$index]
|
||||||
|
end
|
||||||
|
|
||||||
|
command rm -rf (string replace -- \~ ~ $$plugin_files_var)
|
||||||
|
|
||||||
|
functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||||
|
|
||||||
|
for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||||
|
complete --erase --command $name
|
||||||
|
end
|
||||||
|
|
||||||
|
set --erase $plugin_files_var
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if set --query update_plugins[1] || set --query install_plugins[1]
|
||||||
|
command mkdir -p $fisher_path/{functions,themes,conf.d,completions}
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $update_plugins $install_plugins
|
||||||
|
set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
|
||||||
|
set --local files $source/{functions,themes,conf.d,completions}/*
|
||||||
|
|
||||||
|
if set --local index (contains --index -- $plugin $install_plugins)
|
||||||
|
set --local user_files $fisher_path/{functions,themes,conf.d,completions}/*
|
||||||
|
set --local conflict_files
|
||||||
|
|
||||||
|
for file in (string replace -- $source/ $fisher_path/ $files)
|
||||||
|
contains -- $file $user_files && set --append conflict_files $file
|
||||||
|
end
|
||||||
|
|
||||||
|
if set --query conflict_files[1] && set --erase install_plugins[$index]
|
||||||
|
echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n" "$conflict_files >&2
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for file in (string replace -- $source/ "" $files)
|
||||||
|
command cp -RLf $source/$file $fisher_path/$file
|
||||||
|
end
|
||||||
|
|
||||||
|
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
|
||||||
|
|
||||||
|
set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files | string replace -- ~ \~)
|
||||||
|
|
||||||
|
contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin
|
||||||
|
contains -- $plugin $install_plugins && set --local event install || set --local event update
|
||||||
|
|
||||||
|
printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
|
||||||
|
|
||||||
|
for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var | string replace -- \~ ~)
|
||||||
|
source $file
|
||||||
|
if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file)
|
||||||
|
emit {$name}_$event
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
command rm -rf $source_plugins
|
||||||
|
|
||||||
|
if set --query _fisher_plugins[1]
|
||||||
|
set --local commit_plugins
|
||||||
|
|
||||||
|
for plugin in $file_plugins
|
||||||
|
contains -- (string lower -- $plugin) (string lower -- $_fisher_plugins) && set --append commit_plugins $plugin
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $_fisher_plugins
|
||||||
|
contains -- (string lower -- $plugin) (string lower -- $commit_plugins) || set --append commit_plugins $plugin
|
||||||
|
end
|
||||||
|
|
||||||
|
printf "%s\n" $commit_plugins >$fish_plugins
|
||||||
|
else
|
||||||
|
set --erase _fisher_plugins
|
||||||
|
command rm -f $fish_plugins
|
||||||
|
end
|
||||||
|
|
||||||
|
set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
|
||||||
|
|
||||||
|
test "$total" != "0 0 0" && echo (string join ", " (
|
||||||
|
test $total[1] = 0 || echo "Installed $total[1]") (
|
||||||
|
test $total[2] = 0 || echo "Updated $total[2]") (
|
||||||
|
test $total[3] = 0 || echo "Removed $total[3]")
|
||||||
|
) plugin/s
|
||||||
|
case \*
|
||||||
|
echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if ! set --query _fisher_upgraded_to_4_4
|
||||||
|
set --universal _fisher_upgraded_to_4_4
|
||||||
|
if functions --query _fisher_list
|
||||||
|
set --query XDG_DATA_HOME[1] || set --local XDG_DATA_HOME ~/.local/share
|
||||||
|
command rm -rf $XDG_DATA_HOME/fisher
|
||||||
|
functions --erase _fisher_{list,plugin_parse}
|
||||||
|
fisher update >/dev/null 2>/dev/null
|
||||||
|
else
|
||||||
|
for var in (set --names | string match --entire --regex '^_fisher_.+_files$')
|
||||||
|
set $var (string replace -- ~ \~ $$var)
|
||||||
|
end
|
||||||
|
functions --erase _fisher_fish_postexec
|
||||||
|
end
|
||||||
|
end
|
30
fish/.config/fish/themes/Catppuccin Frappe.theme
Normal file
30
fish/.config/fish/themes/Catppuccin Frappe.theme
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# name: 'Catppuccin frappe'
|
||||||
|
# url: 'https://github.com/catppuccin/fish'
|
||||||
|
# preferred_background: 303446
|
||||||
|
|
||||||
|
fish_color_normal c6d0f5
|
||||||
|
fish_color_command 8caaee
|
||||||
|
fish_color_param eebebe
|
||||||
|
fish_color_keyword e78284
|
||||||
|
fish_color_quote a6d189
|
||||||
|
fish_color_redirection f4b8e4
|
||||||
|
fish_color_end ef9f76
|
||||||
|
fish_color_comment 838ba7
|
||||||
|
fish_color_error e78284
|
||||||
|
fish_color_gray 737994
|
||||||
|
fish_color_selection --background=414559
|
||||||
|
fish_color_search_match --background=414559
|
||||||
|
fish_color_option a6d189
|
||||||
|
fish_color_operator f4b8e4
|
||||||
|
fish_color_escape ea999c
|
||||||
|
fish_color_autosuggestion 737994
|
||||||
|
fish_color_cancel e78284
|
||||||
|
fish_color_cwd e5c890
|
||||||
|
fish_color_user 81c8be
|
||||||
|
fish_color_host 8caaee
|
||||||
|
fish_color_host_remote a6d189
|
||||||
|
fish_color_status e78284
|
||||||
|
fish_pager_color_progress 737994
|
||||||
|
fish_pager_color_prefix f4b8e4
|
||||||
|
fish_pager_color_completion c6d0f5
|
||||||
|
fish_pager_color_description 737994
|
30
fish/.config/fish/themes/Catppuccin Latte.theme
Normal file
30
fish/.config/fish/themes/Catppuccin Latte.theme
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# name: 'Catppuccin latte'
|
||||||
|
# url: 'https://github.com/catppuccin/fish'
|
||||||
|
# preferred_background: eff1f5
|
||||||
|
|
||||||
|
fish_color_normal 4c4f69
|
||||||
|
fish_color_command 1e66f5
|
||||||
|
fish_color_param dd7878
|
||||||
|
fish_color_keyword d20f39
|
||||||
|
fish_color_quote 40a02b
|
||||||
|
fish_color_redirection ea76cb
|
||||||
|
fish_color_end fe640b
|
||||||
|
fish_color_comment 8c8fa1
|
||||||
|
fish_color_error d20f39
|
||||||
|
fish_color_gray 9ca0b0
|
||||||
|
fish_color_selection --background=ccd0da
|
||||||
|
fish_color_search_match --background=ccd0da
|
||||||
|
fish_color_option 40a02b
|
||||||
|
fish_color_operator ea76cb
|
||||||
|
fish_color_escape e64553
|
||||||
|
fish_color_autosuggestion 9ca0b0
|
||||||
|
fish_color_cancel d20f39
|
||||||
|
fish_color_cwd df8e1d
|
||||||
|
fish_color_user 179299
|
||||||
|
fish_color_host_remote 40a02b
|
||||||
|
fish_color_host 1e66f5
|
||||||
|
fish_color_status d20f39
|
||||||
|
fish_pager_color_progress 9ca0b0
|
||||||
|
fish_pager_color_prefix ea76cb
|
||||||
|
fish_pager_color_completion 4c4f69
|
||||||
|
fish_pager_color_description 9ca0b0
|
30
fish/.config/fish/themes/Catppuccin Macchiato.theme
Normal file
30
fish/.config/fish/themes/Catppuccin Macchiato.theme
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# name: 'Catppuccin macchiato'
|
||||||
|
# url: 'https://github.com/catppuccin/fish'
|
||||||
|
# preferred_background: 24273a
|
||||||
|
|
||||||
|
fish_color_normal cad3f5
|
||||||
|
fish_color_command 8aadf4
|
||||||
|
fish_color_param f0c6c6
|
||||||
|
fish_color_keyword ed8796
|
||||||
|
fish_color_quote a6da95
|
||||||
|
fish_color_redirection f5bde6
|
||||||
|
fish_color_end f5a97f
|
||||||
|
fish_color_comment 8087a2
|
||||||
|
fish_color_error ed8796
|
||||||
|
fish_color_gray 6e738d
|
||||||
|
fish_color_selection --background=363a4f
|
||||||
|
fish_color_search_match --background=363a4f
|
||||||
|
fish_color_option a6da95
|
||||||
|
fish_color_operator f5bde6
|
||||||
|
fish_color_escape ee99a0
|
||||||
|
fish_color_autosuggestion 6e738d
|
||||||
|
fish_color_cancel ed8796
|
||||||
|
fish_color_cwd eed49f
|
||||||
|
fish_color_user 8bd5ca
|
||||||
|
fish_color_host 8aadf4
|
||||||
|
fish_color_host_remote a6da95
|
||||||
|
fish_color_status ed8796
|
||||||
|
fish_pager_color_progress 6e738d
|
||||||
|
fish_pager_color_prefix f5bde6
|
||||||
|
fish_pager_color_completion cad3f5
|
||||||
|
fish_pager_color_description 6e738d
|
30
fish/.config/fish/themes/Catppuccin Mocha.theme
Normal file
30
fish/.config/fish/themes/Catppuccin Mocha.theme
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# name: 'Catppuccin mocha'
|
||||||
|
# url: 'https://github.com/catppuccin/fish'
|
||||||
|
# preferred_background: 1e1e2e
|
||||||
|
|
||||||
|
fish_color_normal cdd6f4
|
||||||
|
fish_color_command 89b4fa
|
||||||
|
fish_color_param f2cdcd
|
||||||
|
fish_color_keyword f38ba8
|
||||||
|
fish_color_quote a6e3a1
|
||||||
|
fish_color_redirection f5c2e7
|
||||||
|
fish_color_end fab387
|
||||||
|
fish_color_comment 7f849c
|
||||||
|
fish_color_error f38ba8
|
||||||
|
fish_color_gray 6c7086
|
||||||
|
fish_color_selection --background=313244
|
||||||
|
fish_color_search_match --background=313244
|
||||||
|
fish_color_option a6e3a1
|
||||||
|
fish_color_operator f5c2e7
|
||||||
|
fish_color_escape eba0ac
|
||||||
|
fish_color_autosuggestion 6c7086
|
||||||
|
fish_color_cancel f38ba8
|
||||||
|
fish_color_cwd f9e2af
|
||||||
|
fish_color_user 94e2d5
|
||||||
|
fish_color_host 89b4fa
|
||||||
|
fish_color_host_remote a6e3a1
|
||||||
|
fish_color_status f38ba8
|
||||||
|
fish_pager_color_progress 6c7086
|
||||||
|
fish_pager_color_prefix f5c2e7
|
||||||
|
fish_pager_color_completion cdd6f4
|
||||||
|
fish_pager_color_description 6c7086
|
|
@ -1 +0,0 @@
|
||||||
.profile
|
|
|
@ -1,74 +0,0 @@
|
||||||
# Catppuccin Mocha Theme (for zsh-syntax-highlighting)
|
|
||||||
#
|
|
||||||
# Paste this files contents inside your ~/.zshrc before you activate zsh-syntax-highlighting
|
|
||||||
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main cursor)
|
|
||||||
typeset -gA ZSH_HIGHLIGHT_STYLES
|
|
||||||
|
|
||||||
# Main highlighter styling: https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/main.md
|
|
||||||
#
|
|
||||||
## General
|
|
||||||
### Diffs
|
|
||||||
### Markup
|
|
||||||
## Classes
|
|
||||||
## Comments
|
|
||||||
ZSH_HIGHLIGHT_STYLES[comment]='fg=#585b70'
|
|
||||||
## Constants
|
|
||||||
## Entitites
|
|
||||||
## Functions/methods
|
|
||||||
ZSH_HIGHLIGHT_STYLES[alias]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[global-alias]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[function]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[precommand]='fg=#a6e3a1,italic'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[autodirectory]='fg=#fab387,italic'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=#fab387'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=#fab387'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=#cba6f7'
|
|
||||||
## Keywords
|
|
||||||
## Built ins
|
|
||||||
ZSH_HIGHLIGHT_STYLES[builtin]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=#a6e3a1'
|
|
||||||
## Punctuation
|
|
||||||
ZSH_HIGHLIGHT_STYLES[commandseparator]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-unquoted]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]='fg=#f38ba8'
|
|
||||||
## Serializable / Configuration Languages
|
|
||||||
## Storage
|
|
||||||
## Strings
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command-substitution-quoted]='fg=#f9e2af'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-quoted]='fg=#f9e2af'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=#f9e2af'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[single-quoted-argument-unclosed]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=#f9e2af'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[double-quoted-argument-unclosed]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[rc-quote]='fg=#f9e2af'
|
|
||||||
## Variables
|
|
||||||
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument-unclosed]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[assign]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[named-fd]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[numeric-fd]='fg=#cdd6f4'
|
|
||||||
## No category relevant in spec
|
|
||||||
ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path]='fg=#cdd6f4,underline'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path_pathseparator]='fg=#f38ba8,underline'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=#cdd6f4,underline'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]='fg=#f38ba8,underline'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[globbing]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[history-expansion]='fg=#cba6f7'
|
|
||||||
#ZSH_HIGHLIGHT_STYLES[command-substitution]='fg=?'
|
|
||||||
#ZSH_HIGHLIGHT_STYLES[command-substitution-unquoted]='fg=?'
|
|
||||||
#ZSH_HIGHLIGHT_STYLES[process-substitution]='fg=?'
|
|
||||||
#ZSH_HIGHLIGHT_STYLES[arithmetic-expansion]='fg=?'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-unclosed]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[redirection]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[arg0]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[default]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[cursor]='fg=#cdd6f4'
|
|
|
@ -1,4 +0,0 @@
|
||||||
sindresorhus/pure
|
|
||||||
lukechilds/zsh-nvm
|
|
||||||
zsh-users/zsh-autosuggestions
|
|
||||||
zsh-users/zsh-syntax-highlighting
|
|
45
zsh/.zshrc
45
zsh/.zshrc
|
@ -1,45 +0,0 @@
|
||||||
# Lines configured by zsh-newuser-install
|
|
||||||
HISTFILE=~/.histfile
|
|
||||||
HISTSIZE=1000
|
|
||||||
SAVEHIST=1000
|
|
||||||
setopt autocd extendedglob nomatch
|
|
||||||
unsetopt beep
|
|
||||||
bindkey -e
|
|
||||||
# End of lines configured by zsh-newuser-install
|
|
||||||
# The following lines were added by compinstall
|
|
||||||
zstyle :compinstall filename '/home/nezia/.zshrc'
|
|
||||||
|
|
||||||
autoload -U promptinit; promptinit
|
|
||||||
autoload -Uz compinit
|
|
||||||
|
|
||||||
compinit
|
|
||||||
# End of lines added by compinstall
|
|
||||||
autoload -Uz vcs_info
|
|
||||||
precmd() { vcs_info }
|
|
||||||
|
|
||||||
zstyle ':vcs_info:git:*' formats '%b '
|
|
||||||
|
|
||||||
setopt PROMPT_SUBST
|
|
||||||
PROMPT='%F{green}%n%f@%F{green}%m%f %F{blue}%~%f %F{red}${vcs_info_msg_0_}%f$ '
|
|
||||||
|
|
||||||
# aliases
|
|
||||||
alias ls="ls --color=auto"
|
|
||||||
alias ll="ls -al"
|
|
||||||
|
|
||||||
|
|
||||||
# Lazy-load antidote and generate the static load file only when needed
|
|
||||||
zsh_plugins=${ZDOTDIR:-$HOME}/.zsh_plugins
|
|
||||||
if [[ ! ${zsh_plugins}.zsh -nt ${zsh_plugins}.txt ]]; then
|
|
||||||
(
|
|
||||||
source /usr/share/zsh-antidote/antidote.zsh
|
|
||||||
antidote bundle <${zsh_plugins}.txt >${zsh_plugins}.zsh
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
source ${zsh_plugins}.zsh
|
|
||||||
|
|
||||||
eval $(keychain --eval --quiet id_ed25519)
|
|
||||||
|
|
||||||
# fzf integration
|
|
||||||
source /usr/share/fzf/key-bindings.zsh
|
|
||||||
source /usr/share/fzf/completion.zsh
|
|
||||||
|
|
Loading…
Reference in a new issue