diff options
-rwxr-xr-x | bin/common/sshpass | 6 | ||||
-rwxr-xr-x | bin/common/ytlink | 2 | ||||
-rwxr-xr-x | bin/extra/aivpn | 17 | ||||
-rwxr-xr-x | bin/extra/p.sh | 657 | ||||
-rwxr-xr-x | bin/guiscripts/sturl | 2 | ||||
-rwxr-xr-x | bin/menuscripts/mpower | 4 | ||||
-rw-r--r-- | config/X/dunst/dunstrc | 2 | ||||
-rw-r--r-- | config/X/picom/picom.conf | 3 | ||||
-rw-r--r-- | config/essentials/shell/aliases.sh | 22 | ||||
-rw-r--r-- | config/essentials/shell/functions.sh | 41 | ||||
-rw-r--r-- | config/essentials/zsh/.zshrc | 19 | ||||
-rw-r--r-- | config/essentials/zsh/widgets.zsh | 9 |
12 files changed, 727 insertions, 57 deletions
diff --git a/bin/common/sshpass b/bin/common/sshpass new file mode 100755 index 0000000..71f8e93 --- /dev/null +++ b/bin/common/sshpass @@ -0,0 +1,6 @@ +#!/bin/sh +if [ "$PASSWORD" ] +then + pass show "$PASSWORD" && exit + exit 1 +fi diff --git a/bin/common/ytlink b/bin/common/ytlink index a5e9bf0..48be9cf 100755 --- a/bin/common/ytlink +++ b/bin/common/ytlink @@ -8,6 +8,8 @@ inp="$1" [ "${inp:=$(clipo)}" ] || inp="$(cat /dev/stdin)" +# if link is http://127.0.0.1:9010/https://www.youtube.com/watch?v=7KpxsqwNF0o +inp="${inp#*/https://}" # remove util scheme inp="${inp#*//}" inp="https://youtube.com/${inp#*/}" diff --git a/bin/extra/aivpn b/bin/extra/aivpn index 3c87ce8..aab90a8 100755 --- a/bin/extra/aivpn +++ b/bin/extra/aivpn @@ -4,27 +4,18 @@ logn() { printf "%s\n" "$@"; } if [ "$1" = "-k" ] then - pgrep -f -- "ssh.*-L.*vm" | - xargs kill + pgrep -f -- "ssh.*-L.*vm" | xargs kill exit fi -# For when script calls itself -if [ "$PASSWORD" ] -then - pass show "$PASSWORD" && - exit - exit 1 -fi - keyadd ehb/ai -export SSH_ASKPASS="$0" +export SSH_ASKPASS="sshpass" export SSH_ASKPASS_REQUIRE="prefer" -export PASSWORD=zot/qemu +export PASSWORD="zot/qemu" logn "I: Waiting for connectivity..." -while ! ssh -o ConnectTimeout=1 -o BatchMode=yes vm 2>&1 | grep -q "Permission denied" +while ! ssh -o ConnectTimeout=1 -o BatchMode=yes vm 2>&1 | grep "Permission denied" > /dev/null do sleep 1 done diff --git a/bin/extra/p.sh b/bin/extra/p.sh index 010ae0c..98f8ede 100755 --- a/bin/extra/p.sh +++ b/bin/extra/p.sh @@ -1,6 +1,661 @@ #!/bin/sh -ask_pokemon() { commander -xc < ./pokemon_bw.txt; } +list_pokemon() +{ + cat <<EOF +Bulbasaur +Ivysaur +Venusaur +Charmander +Charmeleon +Charizard +Squirtle +Wartortle +Blastoise +Caterpie +Metapod +Butterfree +Weedle +Kakuna +Beedrill +Pidgey +Pidgeotto +Pidgeot +Rattata +Raticate +Spearow +Fearow +Ekans +Arbok +Pikachu +Raichu +Sandshrew +Sandslash +Nidoran♀ +Nidorina +Nidoqueen +Nidoran♂ +Nidorino +Nidoking +Clefairy +Clefable +Vulpix +Ninetales +Jigglypuff +Wigglytuff +Zubat +Golbat +Oddish +Gloom +Vileplume +Paras +Parasect +Venonat +Venomoth +Diglett +Dugtrio +Meowth +Persian +Psyduck +Golduck +Mankey +Primeape +Growlithe +Arcanine +Poliwag +Poliwhirl +Poliwrath +Abra +Kadabra +Alakazam +Machop +Machoke +Machamp +Bellsprout +Weepinbell +Victreebel +Tentacool +Tentacruel +Geodude +Graveler +Golem +Ponyta +Rapidash +Slowpoke +Slowbro +Magnemite +Magneton +Farfetch'd +Doduo +Dodrio +Seel +Dewgong +Grimer +Muk +Shellder +Cloyster +Gastly +Haunter +Gengar +Onix +Drowzee +Hypno +Krabby +Kingler +Voltorb +Electrode +Exeggcute +Exeggutor +Cubone +Marowak +Hitmonlee +Hitmonchan +Lickitung +Koffing +Weezing +Rhyhorn +Rhydon +Chansey +Tangela +Kangaskhan +Horsea +Seadra +Goldeen +Seaking +Staryu +Starmie +Mr. Mime +Scyther +Jynx +Electabuzz +Magmar +Pinsir +Tauros +Magikarp +Gyarados +Lapras +Ditto +Eevee +Vaporeon +Jolteon +Flareon +Porygon +Omanyte +Omastar +Kabuto +Kabutops +Aerodactyl +Snorlax +Articuno +Zapdos +Moltres +Dratini +Dragonair +Dragonite +Mewtwo +Mew +Chikorita +Bayleef +Meganium +Cyndaquil +Quilava +Typhlosion +Totodile +Croconaw +Feraligatr +Sentret +Furret +Hoothoot +Noctowl +Ledyba +Ledian +Spinarak +Ariados +Crobat +Chinchou +Lanturn +Pichu +Cleffa +Igglybuff +Togepi +Togetic +Natu +Xatu +Mareep +Flaaffy +Ampharos +Bellossom +Marill +Azumarill +Sudowoodo +Politoed +Hoppip +Skiploom +Jumpluff +Aipom +Sunkern +Sunflora +Yanma +Wooper +Quagsire +Espeon +Umbreon +Murkrow +Slowking +Misdreavus +Unown +Wobbuffet +Girafarig +Pineco +Forretress +Dunsparce +Gligar +Steelix +Snubbull +Granbull +Qwilfish +Scizor +Shuckle +Heracross +Sneasel +Teddiursa +Ursaring +Slugma +Magcargo +Swinub +Piloswine +Corsola +Remoraid +Octillery +Delibird +Mantine +Skarmory +Houndour +Houndoom +Kingdra +Phanpy +Donphan +Porygon2 +Stantler +Smeargle +Tyrogue +Hitmontop +Smoochum +Elekid +Magby +Miltank +Blissey +Raikou +Entei +Suicune +Larvitar +Pupitar +Tyranitar +Lugia +Ho-Oh +Celebi +Treecko +Grovyle +Sceptile +Torchic +Combusken +Blaziken +Mudkip +Marshtomp +Swampert +Poochyena +Mightyena +Zigzagoon +Linoone +Wurmple +Silcoon +Beautifly +Cascoon +Dustox +Lotad +Lombre +Ludicolo +Seedot +Nuzleaf +Shiftry +Taillow +Swellow +Wingull +Pelipper +Ralts +Kirlia +Gardevoir +Surskit +Masquerain +Shroomish +Breloom +Slakoth +Vigoroth +Slaking +Nincada +Ninjask +Shedinja +Whismur +Loudred +Exploud +Makuhita +Hariyama +Azurill +Nosepass +Skitty +Delcatty +Sableye +Mawile +Aron +Lairon +Aggron +Meditite +Medicham +Electrike +Manectric +Plusle +Minun +Volbeat +Illumise +Roselia +Gulpin +Swalot +Carvanha +Sharpedo +Wailmer +Wailord +Numel +Camerupt +Torkoal +Spoink +Grumpig +Spinda +Trapinch +Vibrava +Flygon +Cacnea +Cacturne +Swablu +Altaria +Zangoose +Seviper +Lunatone +Solrock +Barboach +Whiscash +Corphish +Crawdaunt +Baltoy +Claydol +Lileep +Cradily +Anorith +Armaldo +Feebas +Milotic +Castform +Kecleon +Shuppet +Banette +Duskull +Dusclops +Tropius +Chimecho +Absol +Wynaut +Snorunt +Glalie +Spheal +Sealeo +Walrein +Clamperl +Huntail +Gorebyss +Relicanth +Luvdisc +Bagon +Shelgon +Salamence +Beldum +Metang +Metagross +Regirock +Regice +Registeel +Latias +Latios +Kyogre +Groudon +Rayquaza +Jirachi +Deoxys +Turtwig +Grotle +Torterra +Chimchar +Monferno +Infernape +Piplup +Prinplup +Empoleon +Starly +Staravia +Staraptor +Bidoof +Bibarel +Kricketot +Kricketune +Shinx +Luxio +Luxray +Budew +Roserade +Cranidos +Rampardos +Shieldon +Bastiodon +Burmy +Wormadam +Mothim +Combee +Vespiquen +Pachirisu +Buizel +Floatzel +Cherubi +Cherrim +Shellos +Gastrodon +Ambipom +Drifloon +Drifblim +Buneary +Lopunny +Mismagius +Honchkrow +Glameow +Purugly +Chingling +Stunky +Skuntank +Bronzor +Bronzong +Bonsly +Mime Jr. +Happiny +Chatot +Spiritomb +Gible +Gabite +Garchomp +Munchlax +Riolu +Lucario +Hippopotas +Hippowdon +Skorupi +Drapion +Croagunk +Toxicroak +Carnivine +Finneon +Lumineon +Mantyke +Snover +Abomasnow +Weavile +Magnezone +Lickilicky +Rhyperior +Tangrowth +Electivire +Magmortar +Togekiss +Yanmega +Leafeon +Glaceon +Gliscor +Mamoswine +Porygon-Z +Gallade +Probopass +Dusknoir +Froslass +Rotom +Uxie +Mesprit +Azelf +Dialga +Palkia +Heatran +Regigigas +Giratina +Cresselia +Phione +Manaphy +Darkrai +Shaymin +Arceus +Victini +Snivy +Servine +Serperior +Tepig +Pignite +Emboar +Oshawott +Dewott +Samurott +Patrat +Watchog +Lillipup +Herdier +Stoutland +Purrloin +Liepard +Pansage +Simisage +Pansear +Simisear +Panpour +Simipour +Munna +Musharna +Pidove +Tranquill +Unfezant +Blitzle +Zebstrika +Roggenrola +Boldore +Gigalith +Woobat +Swoobat +Drilbur +Excadrill +Audino +Timburr +Gurdurr +Conkeldurr +Tympole +Palpitoad +Seismitoad +Throh +Sawk +Sewaddle +Swadloon +Leavanny +Venipede +Whirlipede +Scolipede +Cottonee +Whimsicott +Petilil +Lilligant +Basculin +Sandile +Krokorok +Krookodile +Darumaka +Darmanitan +Maractus +Dwebble +Crustle +Scraggy +Scrafty +Sigilyph +Yamask +Cofagrigus +Tirtouga +Carracosta +Archen +Archeops +Trubbish +Garbodor +Zorua +Zoroark +Minccino +Cinccino +Gothita +Gothorita +Gothitelle +Solosis +Duosion +Reuniclus +Ducklett +Swanna +Vanillite +Vanillish +Vanilluxe +Deerling +Sawsbuck +Emolga +Karrablast +Escavalier +Foongus +Amoonguss +Frillish +Jellicent +Alomomola +Joltik +Galvantula +Ferroseed +Ferrothorn +Klink +Klang +Klinklang +Tynamo +Eelektrik +Eelektross +Elgyem +Beheeyem +Litwick +Lampent +Chandelure +Axew +Fraxure +Haxorus +Cubchoo +Beartic +Cryogonal +Shelmet +Accelgor +Stunfisk +Mienfoo +Mienshao +Druddigon +Golett +Golurk +Pawniard +Bisharp +Bouffalant +Rufflet +Braviary +Vullaby +Mandibuzz +Heatmor +Durant +Deino +Zweilous +Hydreigon +Larvesta +Volcarona +Cobalion +Terrakion +Virizion +Tornadus +Thundurus +Reshiram +Zekrom +Landorus +Kyurem +Keldeo +Meloetta +Genesect +EOF +} + +ask_pokemon() { list_pokemon | commander -xc; } html="/tmp/pk_tmp.html" [ "$pokemon" ] || pokemon="$(ask_pokemon)" diff --git a/bin/guiscripts/sturl b/bin/guiscripts/sturl index d261e32..27a8f47 100755 --- a/bin/guiscripts/sturl +++ b/bin/guiscripts/sturl @@ -1,7 +1,7 @@ #!/bin/sh regex='(((file|https?|gopher|gemini|ftps?|git)://|www\.)[a-zA-Z0-9.]*[:;!a-zA-Z0-9./+@$&%?$\#=_~-]*)|(magnet:\?xt=urn:btih:[a-zA-Z0-9]*)' -url="$(tr -d '\n' | grep -Eo "$regex" | commander -cl)" +url="$(tr -d '\n' | grep -Eo "$regex" | commander -xcl)" [ -z "$url" ] && exit 1 case $1 in diff --git a/bin/menuscripts/mpower b/bin/menuscripts/mpower index f8f7654..8c1a886 100755 --- a/bin/menuscripts/mpower +++ b/bin/menuscripts/mpower @@ -1,11 +1,13 @@ #!/bin/sh choice="$( -cat <<EOF | commander -c -w 1 -y 4 +cat <<EOF | commander -c -w 1 -y 5 poweroff suspend hibernate reboot +firmware EOF )" +[ "$choice" = "firmware" ] && systemctl reboot --firmware-setup [ "$choice" ] && systemctl "$choice" diff --git a/config/X/dunst/dunstrc b/config/X/dunst/dunstrc index a83f45f..31fbae0 100644 --- a/config/X/dunst/dunstrc +++ b/config/X/dunst/dunstrc @@ -30,7 +30,7 @@ height = 80 # Position the notification in the top right corner - origin = top-right + origin = top-center # Offset from the origin offset = 10x10 diff --git a/config/X/picom/picom.conf b/config/X/picom/picom.conf index 3e15abf..48d6e20 100644 --- a/config/X/picom/picom.conf +++ b/config/X/picom/picom.conf @@ -3,7 +3,8 @@ ################################# corner-radius = 5.0; rounded-corners-exclude = [ - "class_g = 'Dunst'" + "class_g = 'Dunst'", + "class_g = 'dwm'" ]; round-borders = 1; diff --git a/config/essentials/shell/aliases.sh b/config/essentials/shell/aliases.sh index 57c33fd..2d08e74 100644 --- a/config/essentials/shell/aliases.sh +++ b/config/essentials/shell/aliases.sh @@ -77,8 +77,8 @@ alias lst1='ls --tree -L1' alias lst2='ls --tree -L2' alias lst3='ls --tree -L3' alias ls.='ls -dl .*' -which exa >/dev/null 2>&1 && - alias ls='exa --sort extension --group-directories-first --no-time --git' || +which eza >/dev/null 2>&1 && + alias ls='eza --sort extension --group-directories-first --no-time --git' || alias ls='ls --color --group-directories-first --sort=extension' # pacman aliases @@ -156,7 +156,7 @@ alias airpods='bluetoothctl connect 60:93:16:24:00:10' alias hotpsot='nmcli dev wifi hotspot ifname wlan0 ssid wiefie password "peepeepoopoo"' alias wtip='wt ip -c -brief addr' alias fusephone='sshfs myphone: /media/phone' -alias ttyper='ttyper -l english1000 -w 100' +alias ttyper='ttyper -l english1000' alias wgup='doas wg-quick up wg0' alias wgdown='doas wg-quick down wg0' @@ -184,7 +184,7 @@ alias gdate='date +%y_%m_%d-%T' alias tpid='tail -f /dev/null --pid' alias pwdcp='pwd | clipp' alias gw="grep -ri" -alias srcsupd='echo ~/src/{installdrier,dotfiles,password-store} ~/.config/emacs | supd' +alias srcsupd='echo ~/src/{installdrier,dotfiles,password-store} ~/proj/suckless/*/ ~/proj/personal/scripts/*/ ~/.config/emacs | supd' # systemctl aliases alias smc='systemctl' @@ -225,7 +225,7 @@ alias vb='vbm startvm' # quick config alias ez='vi ${ZDOTDIR:-~}/.zshrc' -alias eza='vi $HOME/.config/shell/aliases.sh' +alias ezal='vi $HOME/.config/shell/aliases.sh' alias ezf='vi $HOME/.config/shell/functions.sh' alias eto='vi ~/sync/TODO' alias edw='vi ~/proj/suckless/dwm/config.def.h' @@ -313,7 +313,17 @@ alias dbinf='ssh db dlinfo' alias sshdb='ssh -t db "tmux a || tmux"' alias dbsmu='rsync -rlpP db:/media/basilisk/music/ /media/kilimanjaro/music' -# oh-my-zsh git aliases +# git alias config='GIT_WORK_TREE=~/src/dotfiles/ GIT_DIR=~/src/dotfiles/.git' alias cfg='vi ~/src/dotfiles/"$(config git ls-files | fzf || exit)"' alias gmod='git status --short | sed '\''/^\s*M/!d;s/^\s*M\s*//'\'' | fzf | xargs vi' +alias gclc='git clone "$(clipo)"' + +# docker +alias dorm='docker container rm $(docker container ls -a | tail -n +2 | fzf -m | awk '\''{print $1}'\'')' +alias dostop='docker container stop $(docker container ls -a | tail -n +2 | fzf -m | awk '\''{print $1}'\'')' +alias doirm='docker image rm $(docker image ls | tail -n +2 | fzf -m | awk '\''{print $3}'\'')' + +alias -g skip='tail -n +2' +alias ddeps='pactree -r -d 1' +alias update-mirrors='reflector -p https | rankmirrors -n 10 -p -w - | doas tee /etc/pacman.d/mirrorlist' diff --git a/config/essentials/shell/functions.sh b/config/essentials/shell/functions.sh index 38fae34..22064e4 100644 --- a/config/essentials/shell/functions.sh +++ b/config/essentials/shell/functions.sh @@ -68,6 +68,14 @@ sms() { ssh -t phone sendmsg "$1" "'$2'"; } trcp() { scp "$1" db:/media/basilisk/downloads/transmission/torrents/; } rln() { ln -s "$(readlink -f "$1")" "$2"; } getgit() { git clone git@db:"$1"; } +esc() { eval "$EDITOR '$(which $1)'"; } +delfile() { curl "${2:-https://upfast.cronyakatsuki.xyz/delete/$1}"; } +upfile() { curl -F "file=@\"$1\"" "${2:-https://0x0.st}"; } +to_webm() { ffmpeg -y -i "$1" -vcodec libvpx -cpu-used -12 -deadline realtime "${1%.*}".webm; } +ngenable() { ln -sf /etc/nginx/sites-available/$1 /etc/nginx/sites-enabled/; } +remove_audio() { ffmpeg -i "$1" -cpu-used -$(nproc) -deadline realtime -c copy -an "${2:-out.mp4}"; } +nasg() { smbclient //192.168.178.24/Public/ -D ENFANTS/Luca/tmp -N -c "get $1"; } +trll() { printf "%s\n" "$1" | trl 2>/dev/null; } ipc() { @@ -105,22 +113,6 @@ unzipp() { rm -- "$1" } -# fix long waiting time -__git_files() { - _wanted files expl 'local files' _files -} - -esc() { - eval "$EDITOR '$(which $1)'" -} - -delfile() { - curl "${2:-https://upfast.cronyakatsuki.xyz/delete/$1}" -} -upfile() { - curl -F "file=@\"$1\"" ${2:-https://0x0.st} -} - # git sgd() { d="$PWD" @@ -141,6 +133,9 @@ sgd() { unset d } +# fix long waiting time +__git_files() { _wanted files expl 'local files' _files; } + ginit() { [ "$1" ] || return 1 @@ -207,11 +202,6 @@ gpg_import() shred -uz public.asc private.asc trust.asc } -ngenable() -{ - ln -sf /etc/nginx/sites-available/$1 /etc/nginx/sites-enabled/ -} - vbsr() { vboxmanage snapshot "$1" restore "$2" && @@ -300,12 +290,3 @@ edit_in_dir() { [ -f "$file" ] || return 1 $EDITOR "$file" } - -to_webm() -{ - ffmpeg -y -i "$1" -vcodec libvpx -cpu-used -12 -deadline realtime "${1%.*}".webm -} -remove_audio() { ffmpeg -i "$1" -cpu-used -$(nproc) -deadline realtime -c copy -an "${2:-out.mp4}"; } -nasg() { smbclient //192.168.178.24/Public/ -D ENFANTS/Luca/tmp -N -c "get $1"; } -trll() { printf "%s -" "$1" | trl 2>/dev/null; } diff --git a/config/essentials/zsh/.zshrc b/config/essentials/zsh/.zshrc index 9b105e6..56b7c0d 100644 --- a/config/essentials/zsh/.zshrc +++ b/config/essentials/zsh/.zshrc @@ -1,5 +1,7 @@ #!/bin/zsh +# zmodload zsh/zprof + if [ "$(id -u)" -ne 0 ] then [ "${TTY%%tty*}" = '/dev/' ] && clear @@ -23,6 +25,7 @@ zle -N change-surround surround . $XDG_CONFIG_HOME/shell/functions.sh . $XDG_CONFIG_HOME/shell/aliases.sh . $XDG_CONFIG_HOME/zsh/comp.zsh +. $XDG_CONFIG_HOME/zsh/widgets.zsh # . $XDG_CONFIG_HOME/zsh/prompt.zsh # . $XDG_CONFIG_HOME/zsh/plugins.zsh @@ -32,15 +35,22 @@ eval "$(zoxide init zsh)" ### Plugins [ -f "$HOME/.local/share/zap/zap.zsh" ] && source "$HOME/.local/share/zap/zap.zsh" +plug "MichaelAquilina/zsh-you-should-use" +plug "chivalryq/git-alias" plug "kutsan/zsh-system-clipboard" +# plug "marlonrichert/zsh-autocomplete" plug "xPMo/zsh-toggle-command-prefix" +plug "zap-zsh/fzf" plug "zap-zsh/vim" +plug "zdharma-continuum/fast-syntax-highlighting" plug "zsh-users/zsh-autosuggestions" plug "zsh-users/zsh-completions" -plug "zap-zsh/fzf" -plug "zdharma-continuum/fast-syntax-highlighting" plug "zsh-users/zsh-history-substring-search" -plug "MichaelAquilina/zsh-you-should-use" + +plug "MichaelAquilina/zsh-auto-notify" +export AUTO_NOTIFY_TITLE="zsh" +export AUTO_NOTIFY_BODY="<b>%command</b> [%exit_code]" +AUTO_NOTIFY_IGNORE+=("gurk" "ttyper" "pulsemixer") # Substring search settings export HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND="bg=blue,fg=black,bold" @@ -92,6 +102,7 @@ bindkey "^Xa" _expand_alias bindkey "^Xe" edit-command-line bindkey "^[." insert-last-word bindkey "^['" quote-line +bindkey '\ea' autosuggest-toggle ## Move around using h j k l in completion menu zmodload zsh/complist bindkey -M menuselect 'h' vi-backward-char @@ -133,3 +144,5 @@ setopt histreduceblanks setopt interactivecomments setopt notify setopt cdablevars + +# zprof diff --git a/config/essentials/zsh/widgets.zsh b/config/essentials/zsh/widgets.zsh new file mode 100644 index 0000000..e0cbf98 --- /dev/null +++ b/config/essentials/zsh/widgets.zsh @@ -0,0 +1,9 @@ +# surround line in variable +surround_in_var() +{ + BUFFER=" \$($BUFFER)" + zle beginning-of-line +} +zle -N surround_in_var +bindkey '\ev' surround_in_var + |