1
0
mirror of https://github.com/tiyn/dotfiles.git synced 2026-03-09 18:54:47 +01:00

Compare commits

...

12 Commits

Author SHA1 Message Date
1734b04841 nvim: updated dictionaries 2026-03-05 06:35:40 +01:00
727f9265bb Merge branch 'master' of ghthub:tiyn/dotfiles 2026-03-04 05:02:19 +01:00
cfd37d97f2 nvim: updated dictionaries 2026-03-04 05:02:10 +01:00
7dc566ff93 nvim: updated dictionaries 2026-03-04 00:57:06 +01:00
a5b238c3ae Merge branch 'master' of github:tiyn/dotfiles 2026-03-04 00:48:56 +01:00
27ac63f781 zsh: eval opam 2026-03-04 00:48:41 +01:00
3c5691e879 nvim: updated dictionaries 2026-03-04 00:44:41 +01:00
17697e2f8f vifm/eza: improved styling for kepub files 2026-03-03 03:58:22 +01:00
f2c8b6d8e5 git: added (mostly) safe force push alias 2026-03-01 10:40:20 +01:00
f33b4e49f0 git: added amend as alias 2026-03-01 09:21:12 +01:00
87e4a1966e zsh: add auto-venv and remote git push support 2026-03-01 07:57:10 +01:00
8c4b6d593d zsh: enable smart search back- and forwards 2026-03-01 06:05:46 +01:00
6 changed files with 105 additions and 41 deletions

View File

@@ -75,10 +75,10 @@ alias contacts="khard"
alias paint="kolourpaint" alias paint="kolourpaint"
# ls(d) # ls(d)
alias l="exa --group-directories-first" alias l="exa --group-directories-first --icons"
alias la="exa -la --group-directories-first" alias la="exa -la --group-directories-first --icons --git"
alias ll="exa -l --group-directories-first" alias ll="exa -l --group-directories-first --icons --git"
alias tree="exa --tree --group-directories-first" alias tree="exa --tree --group-directories-first --icons"
# mkdir # mkdir
alias mkdir="mkdir -p" alias mkdir="mkdir -p"

3
.config/eza/theme.yml Normal file
View File

@@ -0,0 +1,3 @@
extensions:
kepub:
icon: { glyph:  }

View File

@@ -1,4 +1,5 @@
APV APV
Accuracy
Akallabêth Akallabêth
Altisaur Altisaur
An An
@@ -11,6 +12,7 @@ Aule
Aules Aules
Barros Barros
Beek Beek
Bela
Betterov Betterov
Boarding Boarding
Boelsen Boelsen
@@ -83,14 +85,15 @@ Mentos
Metzener Metzener
MiiMii MiiMii
Mint Mint
NIM
Nate Nate
NeoVIM NeoVIM
NextCloud NextCloud
Nim
Númenor Númenor
OFFIS OFFIS
Oberweseler Oberweseler
Odysee Odysee
Opam
OpenCloud OpenCloud
Overwatch Overwatch
Pane Pane
@@ -102,10 +105,13 @@ PfingstAka
PfingstAkademie PfingstAkademie
Pluribus Pluribus
PopOS PopOS
Precision
Precon Precon
Precons Precons
PyEnv PyEnv
Rebowl
Reeves Reeves
Rocq
Ruschenbaum Ruschenbaum
SPM SPM
Sagehorn Sagehorn
@@ -125,6 +131,8 @@ TCAV
Thinkpad Thinkpad
Tjark Tjark
Tornow Tornow
TrackPoint
UDEV
VIM VIM
Weizman Weizman
Willenborg Willenborg
@@ -133,6 +141,9 @@ WinterAkademie
Writhing Writhing
Ziegeleiweg Ziegeleiweg
Zimin Zimin
eKiwi
flac flac
inf inf
liquidctl
npy npy
zedbraxmen

View File

@@ -208,11 +208,11 @@ fileviewer *.djvu
\ %pc \ %pc
\ vifmimg clear \ vifmimg clear
" epub " (k)epub
filextype *.epub filextype *.epub,*.kepub
\ {View in zathura} \ {View in zathura}
\ zathura ./%f, \ zathura ./%f,
fileviewer *.epub fileviewer *.epub,*.kepub
\ vifmimg epub %px %py %pw %ph %c \ vifmimg epub %px %py %pw %ph %c
\ %pc \ %pc
\ vifmimg clear \ vifmimg clear
@@ -434,7 +434,7 @@ set vifminfo=dhistory,savedirs,chistory,state,tui,shistory,
" file types " file types
set classify=' :dir:/, :exe:, :reg:, :link:' set classify=' :dir:/, :exe:, :reg:, :link:'
" various file names " various file names
set classify+=' ::../::, ::*.sh::, ::*.[hc]pp::, ::*.[hc]::, ::/^copying|license$/::, ::.git/,,*.git/::, ::*.epub,,*.fb2,,*.djvu::, ::*.pdf::, ::*.htm,,*.html,,**.[sx]html,,*.xml::' set classify+=' ::../::, ::*.sh::, ::*.[hc]pp::, ::*.[hc]::, ::/^copying|license$/::, ::.git/,,*.git/::, ::*.epub,,*.kepub,,*.fb2,,*.djvu::, ::*.pdf::, ::*.htm,,*.html,,**.[sx]html,,*.xml::'
" archives " archives
set classify+=' ::*.7z,,*.ace,,*.arj,,*.bz2,,*.cpio,,*.deb,,*.dz,,*.gz,,*.jar,,*.lzh,,*.lzma,,*.rar,,*.rpm,,*.rz,,*.tar,,*.taz,,*.tb2,,*.tbz,,*.tbz2,,*.tgz,,*.tlz,,*.trz,,*.txz,,*.tz,,*.tz2,,*.xz,,*.z,,*.zip,,*.zoo::' set classify+=' ::*.7z,,*.ace,,*.arj,,*.bz2,,*.cpio,,*.deb,,*.dz,,*.gz,,*.jar,,*.lzh,,*.lzma,,*.rar,,*.rpm,,*.rz,,*.tar,,*.taz,,*.tb2,,*.tbz,,*.tbz2,,*.tgz,,*.tlz,,*.trz,,*.txz,,*.tz,,*.tz2,,*.xz,,*.z,,*.zip,,*.zoo::'
" images " images

View File

@@ -85,7 +85,49 @@ function +vi-git-stash() {
# CUSTOM WIDGETS # # CUSTOM WIDGETS #
################## ##################
_git_intercept() { _find_venv_upwards() {
local dir="$PWD"
while [[ "$dir" != "/" ]]; do
if [[ -f "$dir/pyvenv.cfg" ]]; then
echo "$dir"
return
fi
dir=$(dirname "$dir")
done
}
_auto_venv() {
local venv_dir
venv_dir=$(_find_venv_upwards)
if [[ -n "$VIRTUAL_ENV" && "$VIRTUAL_ENV" != "$venv_dir" ]]; then
deactivate 2>/dev/null
fi
if [[ -n "$venv_dir" && "$VIRTUAL_ENV" != "$venv_dir" ]]; then
source "$venv_dir/bin/activate"
fi
}
autoload -U add-zsh-hook
add-zsh-hook chpwd _auto_venv
_auto_venv
_accept_line() {
# automatically push to remote
if [[ "$BUFFER" == "git push" ]]; then
local branch
branch=$(git symbolic-ref --short HEAD 2>/dev/null)
if [[ -n "$branch" ]]; then
git rev-parse --abbrev-ref --symbolic-full-name @{u} &>/dev/null
if [[ $? -ne 0 ]]; then
BUFFER="git push -u origin $branch"
fi
fi
fi
# use keifu instead of git log --graph # use keifu instead of git log --graph
if [[ "$BUFFER" =~ ^([a-zA-Z0-9_-]+)[[:space:]]+([a-zA-Z0-9_-]+)(.*)$ ]]; then if [[ "$BUFFER" =~ ^([a-zA-Z0-9_-]+)[[:space:]]+([a-zA-Z0-9_-]+)(.*)$ ]]; then
@@ -159,69 +201,73 @@ _git_intercept() {
zle accept-line zle accept-line
} }
zle -N _git_intercept zle -N _accept_line
bindkey "^M" _git_intercept bindkey "^M" _accept_line
######### #########
# STYLE # # STYLE #
######### #########
# Set style for version control # set style for version control
zstyle ':vcs_info:*' enable git zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:git*:*' get-revision true zstyle ':vcs_info:git*:*' get-revision true
zstyle ':vcs_info:git*:*' check-for-changes true zstyle ':vcs_info:git*:*' check-for-changes true
zstyle ':vcs_info:git*' formats "(%s) %c%u %b%m" zstyle ':vcs_info:git*' formats "(%s) %c%u %b%m"
zstyle ':vcs_info:git*' actionformats "(%s|%a) %12.12i %c%u %b%m" zstyle ':vcs_info:git*' actionformats "(%s|%a) %12.12i %c%u %b%m"
# Show remote ref name and number of commits ahead-of or behind # show remote ref name and number of commits ahead-of or behind
# Show count of stashed changes # show count of stashed changes
zstyle ':vcs_info:git*+set-message:*' hooks git-st git-stash zstyle ':vcs_info:git*+set-message:*' hooks git-st git-stash
# Set style for completion options # set style for completion options
zstyle ':completion:*' menu select zstyle ':completion:*' menu select
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' # Case insensitive completion zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' # Case insensitive completion
zmodload zsh/complist zmodload zsh/complist
_comp_options+=(globdots) _comp_options+=(globdots)
# Disable sort when completing `git checkout` # disable sort when completing `git checkout`
zstyle ':completion:*:git-checkout:*' sort false zstyle ':completion:*:git-checkout:*' sort false
# Set descriptions format to enable group support # set descriptions format to enable group support
zstyle ':completion:*:descriptions' format '[%d]' zstyle ':completion:*:descriptions' format '[%d]'
# Set list-colors to enable filename colorizing # set list-colors to enable filename colorizing
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
# Preview directory's content with eza when completing cd # preview directory's content with eza when completing cd
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath' zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath'
# Switch group using `,` and `.` # switch group using `,` and `.`
zstyle ':fzf-tab:*' switch-group ',' '.' zstyle ':fzf-tab:*' switch-group ',' '.'
# Set default Vim Cursor shape # set default Vim Cursor shape
zle -N zle-keymap-select zle -N zle-keymap-select
zle -N zle-line-init zle -N zle-line-init
echo -ne '\e[5 q' echo -ne '\e[5 q'
# Set default prompt # set default prompt
PS1='%B%{$fg[blue]%}[%{$fg[blue]%}%n%{$fg[blue]%}@%{$fg[blue]%}%M %{$fg[blue]%}%~%{$fg[blue]%}]%{$reset_color%}\$%b ' PS1='%B%{$fg[blue]%}[%{$fg[blue]%}%n%{$fg[blue]%}@%{$fg[blue]%}%M %{$fg[blue]%}%~%{$fg[blue]%}]%{$reset_color%}\$%b '
RPROMPT='%B%{$fg[blue]%}$vcs_info_msg_0_%{$reset_color%}%b' RPROMPT='%B%{$fg[blue]%}$vcs_info_msg_0_%{$reset_color%}%b'
setopt prompt_subst setopt prompt_subst
# Copy to x11 clipboard # copy to x11 clipboard
x11-clip-wrap-widgets copy $copy_widgets x11-clip-wrap-widgets copy $copy_widgets
x11-clip-wrap-widgets paste $paste_widgets x11-clip-wrap-widgets paste $paste_widgets
# Enable colors # enable colors
autoload -U colors && colors autoload -U colors && colors
# Enable git info in prompt # enable git info in prompt
autoload -Uz vcs_info autoload -Uz vcs_info
# enable smart history search
bindkey -M vicmd 'j' history-beginning-search-forward
bindkey -M vicmd 'k' history-beginning-search-backward
############### ###############
# KEYBINDINGS # # KEYBINDINGS #
############### ###############
# Enable vi mode # enable vi mode
bindkey -v bindkey -v
export KEYTIMEOUT=1 export KEYTIMEOUT=1
# Vim bindings in tab mode # vim bindings in tab mode
bindkey -M menuselect 'h' vi-backward-char bindkey -M menuselect 'h' vi-backward-char
bindkey -M menuselect 'k' vi-up-line-or-history bindkey -M menuselect 'k' vi-up-line-or-history
bindkey -M menuselect 'l' vi-forward-char bindkey -M menuselect 'l' vi-forward-char
@@ -232,48 +278,50 @@ bindkey -v '^?' backward-delete-char
# ADDITIONAL FEATURES # # ADDITIONAL FEATURES #
####################### #######################
# Load alias # load alias
[ -f "$HOME/.config/aliasrc" ] && source "$HOME/.config/aliasrc" # Load aliases [ -f "$HOME/.config/aliasrc" ] && source "$HOME/.config/aliasrc" # Load aliases
# Disable ctrl-s and ctrl-q. # disable ctrl-s and ctrl-q.
stty -ixon stty -ixon
# Automatically cd if given a directory # automatically cd if given a directory
setopt autocd autopushd setopt autocd autopushd
# Enable compinit # enable compinit
autoload -Uz compinit && compinit autoload -Uz compinit && compinit
# Plugin: command not found notice # plugin: command not found notice
[ -f "/usr/share/doc/pkgfile/command-not-found.zsh" ] && source /usr/share/doc/pkgfile/command-not-found.zsh [ -f "/usr/share/doc/pkgfile/command-not-found.zsh" ] && source /usr/share/doc/pkgfile/command-not-found.zsh
# Plugin: fuzzy completion # plugin: fuzzy completion
[ -f "/usr/share/zsh/plugins/fzf-tab-git/fzf-tab.plugin.zsh" ] && source /usr/share/zsh/plugins/fzf-tab-git/fzf-tab.plugin.zsh [ -f "/usr/share/zsh/plugins/fzf-tab-git/fzf-tab.plugin.zsh" ] && source /usr/share/zsh/plugins/fzf-tab-git/fzf-tab.plugin.zsh
# Plugin: autosuggestions # plugin: autosuggestions
[ -f "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" ] && source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh && bindkey '^ ' autosuggest-accept [ -f "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" ] && source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh && bindkey '^ ' autosuggest-accept
# Plugin: syntax highlighting # plugin: syntax highlighting
[ -f "/usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh" ] && source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh [ -f "/usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh" ] && source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh
# Plugin: Autopair # plugin: Autopair
[ -f "/usr/share/zsh/plugins/zsh-autopair/zsh-autopair.plugin.zsh" ] && source /usr/share/zsh/plugins/zsh-autopair/zsh-autopair.plugin.zsh [ -f "/usr/share/zsh/plugins/zsh-autopair/zsh-autopair.plugin.zsh" ] && source /usr/share/zsh/plugins/zsh-autopair/zsh-autopair.plugin.zsh
# Open shell with tmux always # open shell with tmux always
if [[ -n "$PS1" ]] && [[ -z "$TMUX" ]] && [[ -n "$SSH_CONNECTION" ]]; then if [[ -n "$PS1" ]] && [[ -z "$TMUX" ]] && [[ -n "$SSH_CONNECTION" ]]; then
tmux attack-session -t $USER || tmux new-session -s $USER tmux attack-session -t $USER || tmux new-session -s $USER
fi fi
# set up thefuck # thefuck
eval $(thefuck --alias) eval $(thefuck --alias)
# python # python
eval "$(pyenv init -)" eval "$(pyenv init -)"
# opam
[[ ! -r "$HOME/.opam/opam-init/init.zsh" ]] || source "$HOME/.opam/opam-init/init.zsh" > /dev/null 2> /dev/null
########################## ##########################
# COMMANDS BEFORE PROMPT # # COMMANDS BEFORE PROMPT #
########################## ##########################
# Display pfetch when starting zsh
pfetch pfetch

View File

@@ -25,4 +25,6 @@
[credential] [credential]
helper = store helper = store
[alias] [alias]
graph = log --graph graph = log --graph
amend = commit --amend --no-edit
fpush = push --force-with-lease --force-if-includes