summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2024-02-29 14:26:50 +0100
committerRaymaekers Luca <raymaekers.luca@gmail.com>2024-02-29 14:26:50 +0100
commitc16799693cb6d780f258833689a6d312506093bb (patch)
treef11e3ba72e632269160275f1c3c36d170fb81a62
parentda998b5c857aef8903bf791b4e41966cf230562c (diff)
parent8ab76a9ebf8414c720f13bd0aaaa2e6452ff753b (diff)
Merge branch 'main' of debuc.com:dotfiles
-rwxr-xr-xbin/common/sshpass6
-rwxr-xr-xbin/common/ytlink2
-rwxr-xr-xbin/extra/aivpn17
-rwxr-xr-xbin/extra/p.sh657
-rwxr-xr-xbin/guiscripts/sturl2
-rwxr-xr-xbin/menuscripts/mpower4
-rw-r--r--config/X/dunst/dunstrc2
-rw-r--r--config/X/picom/picom.conf3
-rw-r--r--config/essentials/shell/aliases.sh22
-rw-r--r--config/essentials/shell/functions.sh41
-rw-r--r--config/essentials/zsh/.zshrc19
-rw-r--r--config/essentials/zsh/widgets.zsh9
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
+