Add jj/kitty/nvim/opencode/paru/fish/yazi/jjui
This commit is contained in:
152
fish/files/config.fish
Normal file
152
fish/files/config.fish
Normal file
@@ -0,0 +1,152 @@
|
||||
# Only execute this file once per shell.
|
||||
set -q __fish_home_manager_config_sourced; and exit
|
||||
set -g __fish_home_manager_config_sourced 1
|
||||
|
||||
|
||||
# Add ROCm bin directory to PATH
|
||||
set -gx PATH "/opt/rocm/bin" $PATH
|
||||
|
||||
|
||||
set --export VOLTA_HOME "$HOME/.volta"
|
||||
set --export PATH "$VOLTA_HOME/bin" $PATH
|
||||
|
||||
set --export EDITOR "nvim"
|
||||
|
||||
|
||||
status is-login; and begin
|
||||
|
||||
# Login shell initialisation
|
||||
|
||||
|
||||
end
|
||||
|
||||
status is-interactive; and begin
|
||||
|
||||
# Abbreviations
|
||||
|
||||
|
||||
# Aliases
|
||||
alias che chezmoi
|
||||
alias gb 'git branch'
|
||||
alias gca 'git commit --amend'
|
||||
alias gchd 'git checkout develop'
|
||||
alias gchm 'git checkout main'
|
||||
alias gcho 'git checkout'
|
||||
alias gcnv 'git commit --no-verify'
|
||||
alias gd 'git diff'
|
||||
alias gdc 'git diff --cached'
|
||||
alias gdt 'git diff-tree --no-commit-id --name-only -r'
|
||||
alias gf 'git fetch'
|
||||
alias gl 'git pull'
|
||||
alias gm 'git merge'
|
||||
alias gp 'git push'
|
||||
alias gpuoh 'git push --set-upstream origin HEAD'
|
||||
alias gr 'git remote'
|
||||
alias gra 'git remote add'
|
||||
alias grr 'git remote remove'
|
||||
alias grv 'git remote -v'
|
||||
alias gs 'git status'
|
||||
alias nv nvim
|
||||
# alias yay paru
|
||||
alias wo 'pomodoro work'
|
||||
alias br 'pomodoro break'
|
||||
|
||||
# Interactive shell initialisation
|
||||
fish_config theme choose rose-pine-moon
|
||||
set fish_greeting # Disable greeting
|
||||
test -f /run/current-system/sw/share/autojump/autojump.fish; and source /run/current-system/sw/share/autojump/autojump.fish
|
||||
[ -f /opt/homebrew/share/autojump/autojump.fish ]; and source /opt/homebrew/share/autojump/autojump.fish
|
||||
|
||||
test -f ~/.env; and source ~/.env
|
||||
test -f ~/.config/myvars; and source ~/.config/myvars
|
||||
|
||||
nerdfetch
|
||||
|
||||
if test "$TERM" != dumb
|
||||
eval (starship init fish)
|
||||
fzf --fish | source
|
||||
end
|
||||
|
||||
# add completions generated by Home Manager to $fish_complete_path
|
||||
begin
|
||||
set -l joined (string join " " $fish_complete_path)
|
||||
set -l prev_joined (string replace --regex "[^\s]*generated_completions.*" "" $joined)
|
||||
set -l post_joined (string replace $prev_joined "" $joined)
|
||||
set -l prev (string split " " (string trim $prev_joined))
|
||||
set -l post (string split " " (string trim $post_joined))
|
||||
set fish_complete_path $prev "/home/thomasgl/.local/share/fish/home-manager_generated_completions" $post
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
# pnpm
|
||||
switch (uname)
|
||||
case Linux
|
||||
set -gx PNPM_HOME "/home/thomasgl/.local/share/pnpm"
|
||||
case Darwin
|
||||
set -gx PNPM_HOME "/Users/thomasglopes/.local/share/pnpm"
|
||||
end
|
||||
|
||||
if not string match -q -- $PNPM_HOME $PATH
|
||||
set -gx PATH "$PNPM_HOME" $PATH
|
||||
end
|
||||
# pnpm end
|
||||
|
||||
set -Ux ENV ~/.config/fish/config.fish
|
||||
|
||||
if not set -q SSH_AUTH_SOCK
|
||||
# Check if ssh-agent is already running and accessible
|
||||
set -l agent_pid (pgrep ssh-agent | head -n 1)
|
||||
|
||||
if test -n "$agent_pid"
|
||||
# Try to find existing socket
|
||||
set -l sock_path (find /tmp -name "ssh-*" -type d 2>/dev/null | \
|
||||
xargs -I {} find {} -name "agent.*" 2>/dev/null | head -n 1)
|
||||
|
||||
if test -n "$sock_path"
|
||||
set -gx SSH_AUTH_SOCK "$sock_path"
|
||||
set -gx SSH_AGENT_PID "$agent_pid"
|
||||
|
||||
# Test if agent is responsive
|
||||
if ssh-add -l >/dev/null 2>&1
|
||||
# echo "Connected to existing ssh-agent (PID: $agent_pid)"
|
||||
return 0
|
||||
else
|
||||
# Clean up stale variables
|
||||
set -e SSH_AUTH_SOCK SSH_AGENT_PID
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Start new ssh-agent
|
||||
# echo "Starting new ssh-agent..."
|
||||
set -l agent_output (ssh-agent -c)
|
||||
|
||||
# Parse output and set variables
|
||||
for line in $agent_output
|
||||
if string match -qr '^setenv SSH_AUTH_SOCK' "$line"
|
||||
set -gx SSH_AUTH_SOCK (string replace -r '^setenv SSH_AUTH_SOCK (.+);$' '$1' "$line" | string trim -c '"')
|
||||
else if string match -qr '^setenv SSH_AGENT_PID' "$line"
|
||||
set -gx SSH_AGENT_PID (string replace -r '^setenv SSH_AGENT_PID (.+);$' '$1' "$line" | string trim -c '"')
|
||||
end
|
||||
end
|
||||
|
||||
# Verify agent started successfully
|
||||
if test -z "$SSH_AUTH_SOCK" -o -z "$SSH_AGENT_PID"
|
||||
# echo "Error: Failed to start ssh-agent" >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
# echo "ssh-agent started (PID: $SSH_AGENT_PID)"
|
||||
end
|
||||
|
||||
|
||||
# bun
|
||||
set --export BUN_INSTALL "$HOME/.bun"
|
||||
set --export PATH $BUN_INSTALL/bin $PATH
|
||||
|
||||
# opencode
|
||||
fish_add_path /home/thomasgl/.opencode/bin
|
||||
|
||||
source ~/.safe-chain/scripts/init-fish.fish # Safe-chain Fish initialization script
|
||||
Reference in New Issue
Block a user