dotfiles-fish/config.fish
2025-01-20 11:35:56 +05:00

113 lines
2.6 KiB
Fish

set fish_greeting ""
function y
set tmp (mktemp -t "yazi-cwd.XXXXXX")
yazi $argv --cwd-file="$tmp"
if set cwd (command cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
builtin cd -- "$cwd"
end
rm -f -- "$tmp"
end
function filesize
for file in $argv
if [ -f "$file" ]
echo "$file: $(stat -c %s "$file" | numfmt --to=iec)"
else
echo "$file: not found"
end
end
end
function _fetch
if [ $(tput lines) -le 10 ]
return
end
if which ufetch > /dev/null 2>&1 && [ "$VSCODE_INJECTION" != "1" ]
ufetch
end
end
function _set_env
set -gx VIRTUAL_ENV_DISABLE_PROMPT
set -gx PF_INFO "ascii title os host kernel uptime memory de"
set -gx FZF_DEFAULT_OPTS "\
--color=bg+:#1e1e2e,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \
--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \
--color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 \
--color=selected-bg:#45475a \
--multi"
set -gx BAT_THEME "Catppuccin Mocha"
end
function _set_aliases
if [ "$TERM" = "foot" ] || [ "$TERM" = "xterm-kitty" ]
if which ssh > /dev/null 2>&1
alias ssh="TERM=xterm-256color $(which ssh)"
end
which gg > /dev/null 2>&1 && alias gg="TERM=xterm-256color $(which gg)"
end
if which ssh > /dev/null 2>&1
alias homessh="ssh -p 48001 tx0.su"
end
if which eza > /dev/null 2>&1
alias ls="eza --icons=auto"
else if which exa > /dev/null 2>&1
alias ls="exa --icons=auto"
end
if which bat > /dev/null 2>&1
alias cat="bat"
else if which batcat > /dev/null 2>&1
alias cat="batcat"
end
if which python > /dev/null 2>&1
alias py="python"
end
if which distrobox-enter > /dev/null 2>&1
alias denter=distrobox-enter
end
if which nvim > /dev/null 2>&1
alias v "nvim"
alias V "sudoedit"
set -gx EDITOR nvim
end
alias cdt "cd (mktemp -d)"
alias ":q" exit
end
function arm64cc-env
set -gx ARCH arm64
set -gx hardeningDisable all
set -gx CROSS_COMPILE aarch64-linux-gnu-
end
if which pyenv > /dev/null 2>&1
pyenv init - | source
end
if status is-interactive
bind \cl 'clear; _fetch; commandline -f repaint'
bind \cb btop
bind \cs 'source ~/.config/fish/config.fish'
if which zoxide > /dev/null 2>&1
zoxide init --cmd cd fish | source
end
if not set -q _fish_reloaded
_fetch
else
printf "%s\n" "config reloaded"
fish_prompt
end
set _fish_reloaded
_set_aliases
end
_set_env