Compare commits
10 Commits
cb0c0e6e6e
...
f68a8d4158
| Author | SHA1 | Date | |
|---|---|---|---|
| f68a8d4158 | |||
| 4e02228264 | |||
| cafb3f1ecb | |||
| 876194e91b | |||
| 878aee5690 | |||
| 5ad8af0275 | |||
| 00b2ca0bb8 | |||
| 785c8af659 | |||
| 7b9c7f118c | |||
| 9b167944ae |
@@ -0,0 +1,3 @@
|
||||
if type -q atuin
|
||||
atuin init fish | source
|
||||
end
|
||||
@@ -0,0 +1,14 @@
|
||||
# This file was created by fish when upgrading to version 4.3, to migrate
|
||||
# the 'fish_key_bindings' variable from its old default scope (universal)
|
||||
# to its new default scope (global). We recommend you delete this file
|
||||
# and configure key bindings in ~/.config/fish/config.fish if needed.
|
||||
|
||||
set --global fish_key_bindings fish_vi_key_bindings
|
||||
|
||||
# Prior to version 4.3, fish shipped an event handler that runs
|
||||
# `set --universal fish_key_bindings fish_default_key_bindings`
|
||||
# whenever the fish_key_bindings variable is erased.
|
||||
# This means that as long as any fish < 4.3 is still running on this system,
|
||||
# we cannot complete the migration.
|
||||
# As a workaround, erase the universal variable at every shell startup.
|
||||
set --erase --universal fish_key_bindings
|
||||
@@ -0,0 +1 @@
|
||||
eval "$(fnm env)"
|
||||
+16
-14
@@ -1,18 +1,20 @@
|
||||
#abbr -a -- cd z
|
||||
abbr -a -- opc opencode
|
||||
abbr -a -- opcc opencode -c
|
||||
abbr -a -- cl clear
|
||||
abbr -a -- tm tmux
|
||||
abbr -a -- docker podman
|
||||
abbr -a -- g git
|
||||
abbr -a -- l ezals
|
||||
abbr -a -- ll 'ezals -TL2'
|
||||
abbr -a -- ls ezals
|
||||
abbr -a -- l lls
|
||||
abbr -a -- ls lls
|
||||
abbr -a -- ll 'lls -TL2'
|
||||
abbr -a -- q exit
|
||||
abbr -a -- v nvim
|
||||
abbr -a --position anywhere --command git -- a add
|
||||
abbr -a --position anywhere --command git -- b branch
|
||||
abbr -a --position anywhere --command git -- c commit
|
||||
abbr -a --position anywhere --command git -- co checkout
|
||||
abbr -a --position anywhere --command git -- d diff
|
||||
abbr -a --position anywhere --command git -- s status
|
||||
abbr -a --position anywhere --command tmux -- r rename
|
||||
abbr -a --position anywhere --command tmux -- rw renamew
|
||||
|
||||
abbr -a -- vs nvim --server /tmp/nvim-server.sock
|
||||
abbr -a -- vo nvim --server /tmp/nvim-server.sock --remote-tab
|
||||
abbr -a -- kc kubectl --context
|
||||
abbr -a -- kcc kubectl ctx
|
||||
abbr -a -- zj zellij
|
||||
abbr -a -- sysc systemctl
|
||||
abbr -a -- syscu systemctl --user
|
||||
abbr -a -- diswn disown \(jobs -p\)
|
||||
abbr -a -- rg rg --hyperlink-format kitty
|
||||
abbr -a -- sreboot systemctl soft-reboot
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# Path to Oh My Fish install.
|
||||
set -q XDG_DATA_HOME
|
||||
and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
|
||||
or set -gx OMF_PATH "$HOME/.local/share/omf"
|
||||
|
||||
# Load Oh My Fish configuration.
|
||||
source $OMF_PATH/init.fish
|
||||
@@ -0,0 +1,16 @@
|
||||
while set pyenv_index (contains -i -- "/home/df/.pyenv/shims" $PATH)
|
||||
set -eg PATH[$pyenv_index]; end; set -e pyenv_index
|
||||
set -gx PATH '/home/df/.pyenv/shims' $PATH
|
||||
set -gx PYENV_SHELL fish
|
||||
command pyenv rehash
|
||||
function pyenv
|
||||
set command $argv[1]
|
||||
set -e argv[1]
|
||||
|
||||
switch "$command"
|
||||
case rehash shell
|
||||
source (pyenv "sh-$command" $argv|psub)
|
||||
case "*"
|
||||
command pyenv "$command" $argv
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,106 @@
|
||||
# =============================================================================
|
||||
#
|
||||
# Utility functions for zoxide.
|
||||
#
|
||||
|
||||
# pwd based on the value of _ZO_RESOLVE_SYMLINKS.
|
||||
function __zoxide_pwd
|
||||
builtin pwd -L
|
||||
end
|
||||
|
||||
# A copy of fish's internal cd function. This makes it possible to use
|
||||
# `alias cd=z` without causing an infinite loop.
|
||||
if ! builtin functions --query __zoxide_cd_internal
|
||||
if status list-files functions/cd.fish &>/dev/null
|
||||
status get-file functions/cd.fish | string replace --regex -- '^function cd\s' 'function __zoxide_cd_internal ' | source
|
||||
else
|
||||
string replace --regex -- '^function cd\s' 'function __zoxide_cd_internal ' <$__fish_data_dir/functions/cd.fish | source
|
||||
end
|
||||
end
|
||||
|
||||
# cd + custom logic based on the value of _ZO_ECHO.
|
||||
function __zoxide_cd
|
||||
if set -q __zoxide_loop
|
||||
builtin echo "zoxide: infinite loop detected"
|
||||
builtin echo "Avoid aliasing `cd` to `z` directly, use `zoxide init --cmd=cd fish` instead"
|
||||
return 1
|
||||
end
|
||||
__zoxide_loop=1 __zoxide_cd_internal $argv
|
||||
end
|
||||
|
||||
# =============================================================================
|
||||
#
|
||||
# Hook configuration for zoxide.
|
||||
#
|
||||
|
||||
# Initialize hook to add new entries to the database.
|
||||
function __zoxide_hook --on-variable PWD
|
||||
test -z "$fish_private_mode"
|
||||
and command zoxide add -- (__zoxide_pwd)
|
||||
end
|
||||
|
||||
# =============================================================================
|
||||
#
|
||||
# When using zoxide with --no-cmd, alias these internal functions as desired.
|
||||
#
|
||||
|
||||
# Jump to a directory using only keywords.
|
||||
function __zoxide_z
|
||||
set -l argc (builtin count $argv)
|
||||
if test $argc -eq 0
|
||||
__zoxide_cd $HOME
|
||||
else if test "$argv" = -
|
||||
__zoxide_cd -
|
||||
else if test $argc -eq 1 -a -d $argv[1]
|
||||
__zoxide_cd $argv[1]
|
||||
else if test $argc -eq 2 -a $argv[1] = --
|
||||
__zoxide_cd -- $argv[2]
|
||||
else
|
||||
set -l result (command zoxide query --exclude (__zoxide_pwd) -- $argv)
|
||||
and __zoxide_cd $result
|
||||
end
|
||||
end
|
||||
|
||||
# Completions.
|
||||
function __zoxide_z_complete
|
||||
set -l tokens (builtin commandline --current-process --tokenize)
|
||||
set -l curr_tokens (builtin commandline --cut-at-cursor --current-process --tokenize)
|
||||
|
||||
if test (builtin count $tokens) -le 2 -a (builtin count $curr_tokens) -eq 1
|
||||
# If there are < 2 arguments, use `cd` completions.
|
||||
complete --do-complete "'' "(builtin commandline --cut-at-cursor --current-token) | string match --regex -- '.*/$'
|
||||
else if test (builtin count $tokens) -eq (builtin count $curr_tokens)
|
||||
# If the last argument is empty, use interactive selection.
|
||||
set -l query $tokens[2..-1]
|
||||
set -l result (command zoxide query --exclude (__zoxide_pwd) --interactive -- $query)
|
||||
and __zoxide_cd $result
|
||||
and builtin commandline --function cancel-commandline repaint
|
||||
end
|
||||
end
|
||||
complete --command __zoxide_z --no-files --arguments '(__zoxide_z_complete)'
|
||||
|
||||
# Jump to a directory using interactive search.
|
||||
function __zoxide_zi
|
||||
set -l result (command zoxide query --interactive -- $argv)
|
||||
and __zoxide_cd $result
|
||||
end
|
||||
|
||||
# =============================================================================
|
||||
#
|
||||
# Commands for zoxide. Disable these using --no-cmd.
|
||||
#
|
||||
|
||||
abbr --erase cd &>/dev/null
|
||||
complete --erase --command cd
|
||||
alias cd=__zoxide_z
|
||||
|
||||
abbr --erase cdi &>/dev/null
|
||||
complete --erase --command cdi
|
||||
alias cdi=__zoxide_zi
|
||||
|
||||
# =============================================================================
|
||||
#
|
||||
# To initialize zoxide, add this to your configuration (usually
|
||||
# ~/.config/fish/config.fish):
|
||||
#
|
||||
# zoxide init fish | source
|
||||
+38
-18
@@ -1,26 +1,46 @@
|
||||
set -g fish_greeting "Hi Dadd"
|
||||
|
||||
# set nvim editor
|
||||
set -g EDITOR nvim
|
||||
# Set editor
|
||||
set -gx EDITOR nvim
|
||||
set -gx KUBE_EDITOR nvim
|
||||
set -g TERM xterm-256color
|
||||
|
||||
# For enable nvim server, first instance become the listener
|
||||
#set -gx NVIM_LISTEN_ADDRESS /tmp/nvim-server.sock
|
||||
|
||||
if status is-interactive
|
||||
# Commands to run in interactive sessions can go here
|
||||
fish_vi_key_bindings
|
||||
# Commands to run in interactive sessions can go here
|
||||
fish_vi_key_bindings
|
||||
|
||||
set -g fish_sequence_key_delay_ms 200
|
||||
bind -M insert -m default j,k cancel repaint-mode
|
||||
|
||||
set -g fish_sequence_key_delay_ms 200
|
||||
bind -M insert -m default j,k cancel repaint-mode
|
||||
bind -M insert \cn \\t
|
||||
# \c Ctrl, \e Alt
|
||||
bind -M insert \cy 'y; commandline -f repaint'
|
||||
bind -M insert \cv 'nvim; commandline -f repaint'
|
||||
set -q KREW_ROOT; and set -gx PATH $PATH $KREW_ROOT/.krew/bin; or set -gx PATH $PATH $HOME/.krew/bin
|
||||
|
||||
fzf_configure_bindings --git_status=\cg --history=\cr --variables= --processes=
|
||||
# Check max tmux window in the Home session and open the Home session in a new tmux window
|
||||
# Find max window number in the Home session
|
||||
set tmux_max_windows_in_home (tmux list-windows -t Home | awk '{print $1}' | sed 's/[^0-9]*//g' | sort -n | tail -n 1)
|
||||
if test -z "$TMUX"
|
||||
if test -n "$SSH_CONNECTION"
|
||||
tmux new-session -A -s Home
|
||||
else
|
||||
tmux new-session -A -s Home
|
||||
end
|
||||
end
|
||||
set -U autovenv_enable yes
|
||||
set -U autovenv_announce yes
|
||||
set -U autovenv_dir .venv
|
||||
|
||||
git-refresh
|
||||
end
|
||||
|
||||
fish_add_path /home/df/.opencode/bin
|
||||
|
||||
# Added by LM Studio CLI (lms)
|
||||
set -gx PATH $PATH /home/df/.lmstudio/bin
|
||||
# End of LM Studio CLI section
|
||||
|
||||
# bun
|
||||
set --export BUN_INSTALL "$HOME/.bun"
|
||||
set --export PATH $BUN_INSTALL/bin $PATH
|
||||
|
||||
# Go
|
||||
fish_add_path $HOME/go/bin
|
||||
|
||||
# Cargo (Rust)
|
||||
fish_add_path $HOME/.cargo/bin
|
||||
|
||||
alias claude 'claude --allow-dangerously-skip-permissions'
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
function duh --description "Disk usage utility"
|
||||
if test (count $argv) -eq 0
|
||||
#echo "duh: missing operand" >&2
|
||||
#return 1
|
||||
set fold '.'
|
||||
else
|
||||
set fold $argv
|
||||
end
|
||||
|
||||
|
||||
du -hd1 $fold | sort -h
|
||||
end
|
||||
@@ -1,3 +0,0 @@
|
||||
function ezals --wraps='eza --icons --git --no-user --octal-permissions --no-permissions -s name -lah' --description 'Base exa'
|
||||
eza --icons --git --no-user --octal-permissions --no-permissions -s name -lah $argv
|
||||
end
|
||||
@@ -0,0 +1,3 @@
|
||||
function fish_preexec --on-event fish_preexec
|
||||
set -g __fish_prompt_command_ran 1
|
||||
end
|
||||
+154
-2
@@ -1,3 +1,155 @@
|
||||
function fish_prompt --description Hydro
|
||||
echo -e "$_hydro_color_start$hydro_symbol_start$hydro_color_normal$_hydro_color_pwd$_hydro_pwd$hydro_color_normal $_hydro_color_git$$_hydro_git$hydro_color_normal$_hydro_color_duration$_hydro_cmd_duration$hydro_color_normal$_hydro_status$hydro_color_normal "
|
||||
function fish_prompt --description 'Write out the prompt'
|
||||
set -l last_pipestatus $pipestatus
|
||||
set -lx __fish_last_status $status # Export for __fish_print_pipestatus.
|
||||
|
||||
# Blank line before prompt only after a command was executed
|
||||
if set -q __fish_prompt_command_ran
|
||||
echo
|
||||
set -e __fish_prompt_command_ran
|
||||
end
|
||||
|
||||
if not set -q __fish_git_prompt_show_informative_status
|
||||
set -g __fish_git_prompt_show_informative_status 1
|
||||
end
|
||||
if not set -q __fish_git_prompt_hide_untrackedfiles
|
||||
set -g __fish_git_prompt_hide_untrackedfiles 1
|
||||
end
|
||||
if not set -q __fish_git_prompt_color_branch
|
||||
set -g __fish_git_prompt_color_branch magenta --bold
|
||||
end
|
||||
if not set -q __fish_git_prompt_showupstream
|
||||
set -g __fish_git_prompt_showupstream informative
|
||||
end
|
||||
if not set -q __fish_git_prompt_color_dirtystate
|
||||
set -g __fish_git_prompt_color_dirtystate blue
|
||||
end
|
||||
if not set -q __fish_git_prompt_color_stagedstate
|
||||
set -g __fish_git_prompt_color_stagedstate yellow
|
||||
end
|
||||
if not set -q __fish_git_prompt_color_invalidstate
|
||||
set -g __fish_git_prompt_color_invalidstate red
|
||||
end
|
||||
if not set -q __fish_git_prompt_color_untrackedfiles
|
||||
set -g __fish_git_prompt_color_untrackedfiles $fish_color_normal
|
||||
end
|
||||
if not set -q __fish_git_prompt_color_cleanstate
|
||||
set -g __fish_git_prompt_color_cleanstate green --bold
|
||||
end
|
||||
|
||||
set -l color_cwd
|
||||
if functions -q fish_is_root_user; and fish_is_root_user
|
||||
if set -q fish_color_cwd_root
|
||||
set color_cwd $fish_color_cwd_root
|
||||
else
|
||||
set color_cwd $fish_color_cwd
|
||||
end
|
||||
else
|
||||
set color_cwd $fish_color_cwd
|
||||
end
|
||||
|
||||
# Vim mode indicator
|
||||
set -l vim_mode
|
||||
switch $fish_bind_mode
|
||||
case default
|
||||
set vim_mode (set_color brwhite --bold)"N"(set_color normal)
|
||||
case insert
|
||||
set vim_mode (set_color green --bold)"I"(set_color normal)
|
||||
case visual
|
||||
set vim_mode (set_color yellow --bold)"V"(set_color normal)
|
||||
case replace
|
||||
set vim_mode (set_color red --bold)"R"(set_color normal)
|
||||
end
|
||||
echo -n $vim_mode" "
|
||||
|
||||
# Time
|
||||
set_color brblack
|
||||
echo -n (date '+%H:%M:%S')
|
||||
set_color normal
|
||||
echo -n ' '
|
||||
|
||||
# Last command duration
|
||||
if test -n "$CMD_DURATION" -a "$CMD_DURATION" -gt 0
|
||||
set -l secs (math --scale=0 "$CMD_DURATION / 1000")
|
||||
if test $secs -gt 0
|
||||
set_color yellow
|
||||
if test $secs -ge 60
|
||||
set -l mins (math --scale=0 "$secs / 60")
|
||||
set -l rem (math --scale=0 "$secs % 60")
|
||||
echo -n $mins"m"$rem"s "
|
||||
else
|
||||
echo -n $secs"s "
|
||||
end
|
||||
set_color normal
|
||||
end
|
||||
end
|
||||
|
||||
# User@host
|
||||
set_color brgreen
|
||||
echo -n $USER
|
||||
set_color normal
|
||||
echo -n @
|
||||
set_color brblue
|
||||
echo -n (prompt_hostname)
|
||||
set_color normal
|
||||
echo -n ' '
|
||||
|
||||
# Dirh position: {back}< />{fwd} {back}<>{fwd}
|
||||
set -l back (count $dirprev)
|
||||
set -l fwd (count $dirnext)
|
||||
if test $back -gt 0 -o $fwd -gt 0
|
||||
set_color brblack
|
||||
if test $back -gt 0
|
||||
echo -n $back
|
||||
end
|
||||
if test $back -gt 0 -a $fwd -gt 0
|
||||
echo -n "<>"
|
||||
else if test $back -gt 0
|
||||
echo -n "<"
|
||||
else
|
||||
echo -n ">"
|
||||
end
|
||||
if test $fwd -gt 0
|
||||
echo -n $fwd
|
||||
end
|
||||
set_color normal
|
||||
echo -n ' '
|
||||
end
|
||||
|
||||
# PWD
|
||||
set_color $color_cwd
|
||||
echo -n (prompt_pwd)
|
||||
set_color normal
|
||||
|
||||
# Git + Kubernetes cluster
|
||||
set -l vcs (fish_vcs_prompt)
|
||||
if test -n "$vcs"
|
||||
printf '%s' $vcs
|
||||
# Kubernetes context
|
||||
if command -sq kubectl
|
||||
set -l kctx (kubectl config current-context 2>/dev/null)
|
||||
if test -n "$kctx"
|
||||
set_color brblack
|
||||
echo -n " [$kctx]"
|
||||
set_color normal
|
||||
end
|
||||
end
|
||||
end
|
||||
echo -n ' '
|
||||
|
||||
set -l status_color (set_color $fish_color_status)
|
||||
set -l statusb_color (set_color --bold $fish_color_status)
|
||||
set -l prompt_status (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus)
|
||||
echo -n $prompt_status
|
||||
set_color normal
|
||||
|
||||
# Background jobs counter
|
||||
set -l jobs_count (count (jobs -p))
|
||||
if test $jobs_count -gt 0
|
||||
set_color yellow
|
||||
echo -n "[$jobs_count] "
|
||||
set_color normal
|
||||
end
|
||||
|
||||
# Prompt on new line
|
||||
echo
|
||||
end
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
function fish_right_prompt
|
||||
end
|
||||
@@ -0,0 +1,6 @@
|
||||
function fish_user_key_bindings
|
||||
# Bind k to Atuin search in vim normal mode
|
||||
if type -q atuin
|
||||
bind -M default k _atuin_bind_up
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,25 @@
|
||||
# git-refresh initialization hook
|
||||
#
|
||||
# You can use the following variables in this file:
|
||||
# * $package package name
|
||||
# * $path package path
|
||||
# * $dependencies package dependencies
|
||||
|
||||
# Timeout in seconds before allowing another git pull (default: 60 minutes)
|
||||
set -q GIT_REFRESH_TIMEOUT; or set -g GIT_REFRESH_TIMEOUT 3600
|
||||
|
||||
function git-refresh --on-variable PWD \
|
||||
--description "git pull automatically wherever inside a git repository"
|
||||
test -d .git; or return
|
||||
|
||||
set --local fetch_head .git/FETCH_HEAD
|
||||
if test -f $fetch_head
|
||||
set --local age (math (date +%s) - (stat -c %Y $fetch_head 2>/dev/null; or stat -f %m $fetch_head))
|
||||
if test $age -lt $GIT_REFRESH_TIMEOUT
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
echo -e "\e[1m(git-refresh) - GIT repo detected\e[0m"
|
||||
git pull --all --verbose
|
||||
end
|
||||
@@ -0,0 +1,3 @@
|
||||
function hn --description "Registra e trascrive voce in testo (Hns wrapper)"
|
||||
HNS_LANG=it HNS_WHISPER_MODEL=medium hns
|
||||
end
|
||||
@@ -0,0 +1,3 @@
|
||||
function lls --wraps='eza --icons --git --no-user --octal-permissions --no-permissions --group-directories-first -s name -lah' --description 'Base exa'
|
||||
eza --icons --git --no-user --octal-permissions --no-permissions --group-directories-first -s name --hyperlink -lah $argv
|
||||
end
|
||||
@@ -0,0 +1,32 @@
|
||||
function mkd --description 'Create directory(ies) and cd into the first one'
|
||||
if test (count $argv) -eq 0
|
||||
echo "mkd: missing operand" >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
# Parse options and directories
|
||||
set -l options
|
||||
set -l directories
|
||||
set -l first_dir
|
||||
|
||||
for arg in $argv
|
||||
if string match -q -- '-*' $arg
|
||||
set -a options $arg
|
||||
else
|
||||
set -a directories $arg
|
||||
# Store the first directory
|
||||
if test -z "$first_dir"
|
||||
set first_dir $arg
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Create directories with all options
|
||||
if test (count $directories) -gt 0
|
||||
mkdir $options $directories
|
||||
and cd $first_dir
|
||||
else
|
||||
echo "mkd: no directory specified" >&2
|
||||
return 1
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,62 @@
|
||||
|
||||
function mysql-reverse --description "Crea un tunnel SSH reverse per connettersi a MySQL" --argument-names ssh_host mysql_host password local_port
|
||||
# Verifica che tutti gli argomenti siano forniti
|
||||
if test (count $argv) -lt 3
|
||||
echo "Uso: mysql-reverse <ssh_host> <mysql_host> <password> [local_port]"
|
||||
echo ""
|
||||
echo "Argomenti:"
|
||||
echo " ssh_host - Host SSH per il tunnel (es: user@ssh.example.com)"
|
||||
echo " mysql_host - Host MySQL di destinazione (es: mysql1.example.com)"
|
||||
echo " password - Password per MySQL"
|
||||
echo " local_port - Porta locale per il tunnel (default: 3307)"
|
||||
return 1
|
||||
end
|
||||
|
||||
# Imposta la porta locale di default se non specificata
|
||||
set -l local_port $argv[4]
|
||||
if test -z "$local_port"
|
||||
set local_port 3307
|
||||
end
|
||||
|
||||
# Cerca una porta libera nel range di 10 porte
|
||||
set -l max_attempts 10
|
||||
set -l port_found 0
|
||||
set -l attempted_port $local_port
|
||||
|
||||
for i in (seq 0 (math $max_attempts - 1))
|
||||
set attempted_port (math $local_port + $i)
|
||||
|
||||
# Verifica se la porta è occupata usando netstat o ss
|
||||
if command -v ss >/dev/null
|
||||
ss -tuln | grep -q ":$attempted_port "
|
||||
set port_in_use $status
|
||||
else if command -v netstat >/dev/null
|
||||
netstat -tuln | grep -q ":$attempted_port "
|
||||
set port_in_use $status
|
||||
else
|
||||
# Se non ci sono strumenti disponibili, prova direttamente
|
||||
set port_in_use 1
|
||||
end
|
||||
|
||||
if test $port_in_use -ne 0
|
||||
# Porta libera trovata
|
||||
set port_found 1
|
||||
set local_port $attempted_port
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if test $port_found -eq 0
|
||||
echo "Errore: nessuna porta libera trovata"
|
||||
return 1
|
||||
end
|
||||
|
||||
echo "Usando porta locale: $local_port"
|
||||
|
||||
# Crea il tunnel SSH in background
|
||||
ssh -f $ssh_host -L $local_port:$mysql_host:3306 -N
|
||||
|
||||
# Connetti a MySQL attraverso il tunnel
|
||||
mysql -h 127.0.0.1 -P $local_port -p$password
|
||||
echo "Mysql reverse proxy on port $local_port"
|
||||
end
|
||||
@@ -0,0 +1,6 @@
|
||||
function omo -d "Lancia opencode con la configurazione omo"
|
||||
set -lx OPENCODE_CONFIG ~/.config/omo/opencode.jsonc
|
||||
set -lx OPENCODE_TUI_CONFIG ~/.config/omo/tui.json
|
||||
set -lx XDG_DATA_HOME ~/.local/share/omo
|
||||
opencode $argv
|
||||
end
|
||||
@@ -0,0 +1,15 @@
|
||||
# worktrunk shell integration for fish
|
||||
# Sources full integration from binary on first use.
|
||||
# Docs: https://worktrunk.dev/config/#shell-integration
|
||||
# Check: wt config show | Uninstall: wt config shell uninstall
|
||||
|
||||
function wt
|
||||
command wt config shell init fish | source
|
||||
# Check both command exit code ($pipestatus[1]) and source exit code ($pipestatus[2])
|
||||
# If source fails, the function isn't replaced and we'd infinite-loop calling ourselves
|
||||
set -l wt_status $pipestatus[1]
|
||||
set -l source_status $pipestatus[2]
|
||||
test $wt_status -eq 0; or return $wt_status
|
||||
test $source_status -eq 0; or return $source_status
|
||||
wt $argv
|
||||
end
|
||||
@@ -0,0 +1,10 @@
|
||||
function y
|
||||
set tmp (mktemp -t "yazi-cwd.XXXXXX")
|
||||
yazi $argv --cwd-file="$tmp"
|
||||
if read -z cwd <"$tmp"; and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
|
||||
builtin cd -- "$cwd"
|
||||
end
|
||||
rm -f -- "$tmp"
|
||||
clear
|
||||
lls
|
||||
end
|
||||
@@ -0,0 +1,8 @@
|
||||
function zjs -d "Avvia zellij in una nuova finestra TERM"
|
||||
if test (count $argv) -eq 0
|
||||
$TERM -e zellij &
|
||||
else
|
||||
$TERM -e zellij attach -c $argv[1] &
|
||||
end
|
||||
disown
|
||||
end
|
||||
Reference in New Issue
Block a user