From 1a6fe0ca68183447847d3f76f386983cc285e5f2 Mon Sep 17 00:00:00 2001 From: Uyanide Date: Mon, 29 Sep 2025 15:19:53 +0200 Subject: [PATCH] better shell --- .memo/hyprland-ricing.txt | 13 +++++++---- .scripts/ssh-init | 10 ++++++++ fish/config.fish | 14 ----------- fish/post.d/fetch.fish | 2 +- fish/prev.d/.gitignore | 3 +-- fish/prev.d/alias.fish | 49 +++++++++++++++++++++++++++++++++++++++ fish/prev.d/env.fish | 4 ++++ fish/prev.d/programs.fish | 18 -------------- 8 files changed, 73 insertions(+), 40 deletions(-) create mode 100644 .scripts/ssh-init create mode 100644 fish/prev.d/alias.fish delete mode 100644 fish/prev.d/programs.fish diff --git a/.memo/hyprland-ricing.txt b/.memo/hyprland-ricing.txt index 56dd756..4c762c6 100644 --- a/.memo/hyprland-ricing.txt +++ b/.memo/hyprland-ricing.txt @@ -1,12 +1,12 @@ things I have installed: -full KDE Plasma 6 setup # not essential for sure +full KDE Plasma 6 setup # non-essential for sure which can provide: SDDM theme # Breeze is enough kcalc/kalc # calculator(s), what's the difference? kcolorchooser # or hyprpicker pipewire & friends - ... # including other things I (may) have forgotten to list below + ... # hypr* hyprland @@ -15,8 +15,8 @@ hypridle hyprlock hyprshot hyprpicker -plugin hyprexpo # scale workspaces and put them in a grid -plugin xtra-dispatchers # for "plugin:xtd:bringallfrom" dispatcher +plugin hyprexpo # workspaces overview +plugin hyprorganize # https://github.com/Uyanide/hyprplug # xdg-desktop-portal* xdg-desktop-portal @@ -38,6 +38,9 @@ wf-recorder # screen recorder brightnessctl playerctl pamixer +zoxide # better cd +eza # better ls +bat # better cat # GUI waybar @@ -48,7 +51,7 @@ mpv network-manager-applet # nm-applet blueman # bluetooth GUI & applet pavucontrol -gnome-text-editor # or kwrite, just notepad replacement +gnome-text-editor # or kwrite, notepad replacement btop # system monitor activate-linux # :/ polkit-gnome # polkit authentication agent diff --git a/.scripts/ssh-init b/.scripts/ssh-init new file mode 100644 index 0000000..e2ce567 --- /dev/null +++ b/.scripts/ssh-init @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +if [ -z "$SSH_AUTH_SOCK" ]; then + eval "$(ssh-agent -s)" >/dev/null 2>&1 + for key in "$HOME/.ssh/keys/"*; do + if [ -f "$key" ]; then + ssh-add "$key" >/dev/null 2>&1 + fi + done +fi \ No newline at end of file diff --git a/fish/config.fish b/fish/config.fish index dc23120..7093af4 100755 --- a/fish/config.fish +++ b/fish/config.fish @@ -5,20 +5,6 @@ end # no greeting set fish_greeting -# ls alias -alias ls="ls --hyperlink=auto --color=auto" -alias ll="ls -lh" -alias la="ls -lha" - -# grep alias -alias grep="grep --color=auto" - -# nvim -if type -q nvim - set -x EDITOR nvim - set -x VISUAL nvim -end - if test -d $HOME/.config/fish/prev.d for file in $HOME/.config/fish/prev.d/*.fish if test -f $file diff --git a/fish/post.d/fetch.fish b/fish/post.d/fetch.fish index 63c9f1e..fadc235 100644 --- a/fish/post.d/fetch.fish +++ b/fish/post.d/fetch.fish @@ -30,7 +30,7 @@ if type -q fastfetch end end -# add 'set -g no_fetch' somewhere other than post.d to disable fetching +# add 'set -g no_fetch' somewhere in prev.d to disable auto-fetch if not set -q no_fetch if type -q ff-brief ff-brief diff --git a/fish/prev.d/.gitignore b/fish/prev.d/.gitignore index 7b940c1..67ff216 100644 --- a/fish/prev.d/.gitignore +++ b/fish/prev.d/.gitignore @@ -1,7 +1,6 @@ * !.gitignore !prompt.fish -!ssh-agent.fish !theme.fish -!programs.fish +!alias.fish !env.fish diff --git a/fish/prev.d/alias.fish b/fish/prev.d/alias.fish new file mode 100644 index 0000000..575afd7 --- /dev/null +++ b/fish/prev.d/alias.fish @@ -0,0 +1,49 @@ +# fzf +if type -q fzf + fzf --fish | source + + if type -q wl-copy + function fzc + fzf $argv | string collect | wl-copy + end + end + + if type -q bat + alias fz="fzf --preview 'bat --style=numbers --color=always {}'" + end +end + +# cd +if type -q zoxide + zoxide init fish | source + alias cd=z +end + +# rm +if type -q trash + alias rm="echo \"use 'trash' instead :)\" && sh -c \"exit 42\" && echo why do you see this line :O" +end + +# ls +if type -q eza + alias ll="eza -lh --group-directories-first --icons=auto" + alias la="eza -lh --group-directories-first --icons=auto --all" + alias lt="eza --tree --level=2 --long --icons --git" +else + alias ll="ls -lh --group-directories-first --color=auto" + alias la="ls -lah --group-directories-first --color=auto" +end + +# directories +alias ..='cd ..' +alias ...='cd ../..' +alias ....='cd ../../..' + +# grep +alias grep="grep --color=auto" + +# nvim +if type -q nvim + set -x EDITOR nvim + set -x VISUAL nvim +end \ No newline at end of file diff --git a/fish/prev.d/env.fish b/fish/prev.d/env.fish index e69de29..97ca31e 100644 --- a/fish/prev.d/env.fish +++ b/fish/prev.d/env.fish @@ -0,0 +1,4 @@ +fish_add_path $HOME/.local/bin +fish_add_path $HOME/.cargo/bin +fish_add_path $HOME/go/bin +fish_add_path $HOME/.scripts \ No newline at end of file diff --git a/fish/prev.d/programs.fish b/fish/prev.d/programs.fish deleted file mode 100644 index 1640b46..0000000 --- a/fish/prev.d/programs.fish +++ /dev/null @@ -1,18 +0,0 @@ -if type -q fzf - fzf --fish | source - - if type -q wl-copy - function fzc - fzf $argv | string collect | wl-copy - end - end -end - -if type -q zoxide - zoxide init fish | source - alias cd=z -end - -if type -q trash - alias rm="echo \"use 'trash' instead :)\" && sh -c \"exit 42\" && echo why do you see this line :O" -end