Compare commits

Author SHA1 Message Date
hdkv b0697e8396 Add atuin app 2026-08-26 14:47:10 +03:00
hdkv 2859cfe345 Fix idents 2026-08-26 14:44:00 +03:00
hdkv a79808c8ea Add bazzite-cli app 2026-08-26 14:42:16 +03:00
hdkv 02844722e8 Add support for Atuin 2026-08-26 14:33:00 +03:00
hdkv e945aae593 Add support for Homebrew on Linux autocomplete files 2026-08-26 14:32:50 +03:00
hdkv f67adb1df8 Merge remote-tracking branch 'origin/master' into hdkv/ublue-hdkv 2026-08-26 14:10:17 +03:00
hdkv 52dc3166e5 merge upstream 2026-08-26 16:09:43 +05:00
hdkvandpztrn f655fbf527 Get rid of lsb-release dependency (#16)
У всех линуксов уже давно есть /etc/os-release, и можно на него опираться, упрощая жизнь и уменьшая количество зависимостей для конфига.

Reviewed-on: misc/zsh-config#16
Reviewed-by: Stanislav Nikitin <pztrn@pztrn.name>
Co-authored-by: Vladimir Hodakov <vladimir@hodakov.me>
Co-committed-by: Vladimir Hodakov <vladimir@hodakov.me>
2026-06-19 16:12:01 +05:00
hdkv c338e30790 Get rid of lsb-release dependency 2026-06-18 22:14:21 +03:00
hdkv d75f129cc2 Add another change to use Atuin instead of ZSH functions 2025-01-03 06:04:40 +04:00
hdkv 31619a62e0 Remove ctrl-r and up/down commands for Atuin to work 2025-01-03 05:42:07 +04:00
hdkv e6e977d2f9 Remove ls alias to resolve conflict with bazzite-cli 2025-01-03 05:33:15 +04:00
hdkvandpztrn b9a618a514 Add Distrobox indication support (#15)
Distrobox is a modern containerized tool to run development workflows in
the isolated spaces.

Reviewed-on: misc/zsh-config#15
Co-authored-by: Vladimir Hodakov <vladimir@hodakov.me>
Co-committed-by: Vladimir Hodakov <vladimir@hodakov.me>
2024-07-25 14:29:40 +05:00
10 changed files with 57 additions and 33 deletions
+3 -3
View File
@@ -6,9 +6,9 @@ OS_RELEASE=`uname -r`
OS_ARCH=`uname -m`
# Distro detection.
LSBRELEASE=$(which lsb_release)
if [ $? -eq 0 ]; then
DISTRO=`lsb_release -i -s`
if [[ -f /etc/os-release ]]; then
. /etc/os-release
DISTRO=${ID}
else
# BSDs OS and macOS can be detected via uname.
DISTRO=${OS}
+6
View File
@@ -4,6 +4,12 @@ if [ "${OS}" = "Darwin" ] && [ "${OS_ARCH}" = "arm64" ]; then
export fpath=(${fpath} /opt/homebrew/share/zsh/site-functions)
fi
# The same goes for Homebrew on Linux.
# Yes, /home/linuxbrew is universal for every standard brew install on Linux.
if [ "${OS}" = "Linux" ] && [ -d "/home/linuxbrew/.linuxbrew/share/zsh/site-functions" ]; then
export fpath=(${fpath} /home/linuxbrew/.linuxbrew/share/zsh/site-functions)
fi
autoload -Uz compinit
compinit
zstyle ':completion:*' menu select=2
+23 -19
View File
@@ -22,26 +22,30 @@ select-word-style bash
bindkey '\ew' kill-region # [Esc-w] - Kill from the cursor to the mark
bindkey -s '\el' 'ls\n' # [Esc-l] - run command: ls
bindkey '^r' history-incremental-search-backward # [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line.
if [[ "${terminfo[kpp]}" != "" ]]; then
bindkey "${terminfo[kpp]}" up-line-or-history # [PageUp] - Up a line of history
fi
if [[ "${terminfo[knp]}" != "" ]]; then
bindkey "${terminfo[knp]}" down-line-or-history # [PageDown] - Down a line of history
fi
if [[ "${terminfo[kcuu1]}" != "" ]]; then
bindkey "${terminfo[kcuu1]}" up-line-or-search # start typing + [Up-Arrow] - fuzzy find history forward
fi
if [[ "${terminfo[kcud1]}" != "" ]]; then
bindkey "${terminfo[kcud1]}" down-line-or-search # start typing + [Down-Arrow] - fuzzy find history backward
# Search history bindings. They apply if atuin is not installed.
if [[ ! -x $(command -v atuin) ]]; then
bindkey '^r' history-incremental-search-backward # [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line.
if [[ "${terminfo[kpp]}" != "" ]]; then
bindkey "${terminfo[kpp]}" up-line-or-history # [PageUp] - Up a line of history
fi
if [[ "${terminfo[knp]}" != "" ]]; then
bindkey "${terminfo[knp]}" down-line-or-history # [PageDown] - Down a line of history
fi
if [[ "${terminfo[kcuu1]}" != "" ]]; then
bindkey "${terminfo[kcuu1]}" up-line-or-search # start typing + [Up-Arrow] - fuzzy find history forward
fi
if [[ "${terminfo[kcud1]}" != "" ]]; then
bindkey "${terminfo[kcud1]}" down-line-or-search # start typing + [Down-Arrow] - fuzzy find history backward
fi
fi
if [[ "${terminfo[khome]}" != "" ]]; then
bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line
bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line
fi
if [[ "${terminfo[kend]}" != "" ]]; then
bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line
bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line
fi
bindkey ' ' magic-space # [Space] - do history expansion
@@ -50,16 +54,16 @@ bindkey '^[[1;5C' forward-word # [Ctrl-RightArrow] - move
bindkey '^[[1;5D' backward-word # [Ctrl-LeftArrow] - move backward one word
if [[ "${terminfo[kcbt]}" != "" ]]; then
bindkey "${terminfo[kcbt]}" reverse-menu-complete # [Shift-Tab] - move through the completion menu backwards
bindkey "${terminfo[kcbt]}" reverse-menu-complete # [Shift-Tab] - move through the completion menu backwards
fi
bindkey '^?' backward-delete-char # [Backspace] - delete backward
if [[ "${terminfo[kdch1]}" != "" ]]; then
bindkey "${terminfo[kdch1]}" delete-char # [Delete] - delete forward
bindkey "${terminfo[kdch1]}" delete-char # [Delete] - delete forward
else
bindkey "^[[3~" delete-char
bindkey "^[3;5~" delete-char
bindkey "\e[3~" delete-char
bindkey "^[[3~" delete-char
bindkey "^[3;5~" delete-char
bindkey "\e[3~" delete-char
fi
case "${TERM}" in
+1 -5
View File
@@ -1,9 +1,5 @@
# Default aliases. They can be overriden by other files with higher
# index.
# Files navigation.
alias ls="ls --color"
alias sl="ls --color"
# Git.
alias got="git"
alias got="git"
+5
View File
@@ -0,0 +1,5 @@
atuin_init() {
eval "$(atuin init zsh)"
}
atuin_init
+5
View File
@@ -0,0 +1,5 @@
function bazzite-cli() {
source /usr/share/bazzite-cli/bling.sh
}
bazzite-cli
+1 -1
View File
@@ -1,2 +1,2 @@
# Apps list to enable.
ENABLED_APPS=("showcolors")
ENABLED_APPS=("gitinfo" "showcolors")
+3 -3
View File
@@ -1,10 +1,10 @@
AUTOSUGGESTIONS_PATH="/usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
if [ "${DISTRO}" = "Arch" ]; then AUTOSUGGESTIONS_PATH="/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh"; fi
if [ "${DISTRO}" = "EnveavourOS" ]; then AUTOSUGGESTIONS_PATH="/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh"; fi
if [ "${DISTRO}" = "arch" ]; then AUTOSUGGESTIONS_PATH="/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh"; fi
if [ "${DISTRO}" = "endeavouros" ]; then AUTOSUGGESTIONS_PATH="/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh"; fi
if [[ "${DISTRO}" = "Darwin" && "${OS_ARCH}" == "arm64" ]]; then AUTOSUGGESTIONS_PATH="/opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh"; fi
if [[ "${DISTRO}" = "Darwin" && "${OS_ARCH}" == "x86_64" ]]; then AUTOSUGGESTIONS_PATH="/usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh"; fi
if [ "${DISTRO}" = "VoidLinux" ]; then AUTOSUGGESTIONS_PATH="/usr/share/zsh/plugins/zsh-autosuggestions.zsh"; fi
if [ "${DISTRO}" = "voidlinux" ]; then AUTOSUGGESTIONS_PATH="/usr/share/zsh/plugins/zsh-autosuggestions.zsh"; fi
if [ -f "${AUTOSUGGESTIONS_PATH}" ]; then
source "${AUTOSUGGESTIONS_PATH}"
+4 -1
View File
@@ -23,10 +23,13 @@ prompt_fat0troll_setup () {
vars['brackets_end']="%{$fg[yellow]%}]%{$reset_color%}"
# Session-dependend colorizing.
# Local will be black, remote - yellow.
# Local will be black, remote and containers - yellow.
if [[ -n $SSH_TTY ]]; then
vars['console']="$vars['brackets_start']SSH$vars['brackets_end']"
vars['default_color']="%{$fg[cyan]%}"
elif test -e /run/.containerenv -o -e /.dockerenv; then
vars['console']="$vars['brackets_start']📦$vars['brackets_end']"
vars['default_color']="%{$fg[cyan]%}"
else
vars['console']=""
vars['default_color']="%{$fg[green]%}"
+6 -1
View File
@@ -21,12 +21,17 @@ prompt_pztrn_setup () {
precmd_functions=(${precmd_functions[@]} "prompt_pztrn_gitinfo" "prompt_pztrn_createprompt")
# Session-dependend colorizing.
# Local will be black, remote - yellow.
# Local will be black, remote and containers - yellow.
if [[ -n $SSH_TTY ]]; then
vars['brackets_start']="%{$fg[yellow]%}[%{$reset_color%}"
vars['brackets_end']="%{$fg[yellow]%}]%{$reset_color%}"
vars['console']="$vars['brackets_start']SSH$vars['brackets_end']"
vars['default_color']="%{$fg[cyan]%}"
elif test -e /run/.containerenv -o -e /.dockerenv; then
vars['brackets_start']="%{$fg[yellow]%}[%{$reset_color%}"
vars['brackets_end']="%{$fg[yellow]%}]%{$reset_color%}"
vars['console']="$vars['brackets_start']📦$vars['brackets_end']"
vars['default_color']="%{$fg[cyan]%}"
else
vars['brackets_start']="%{$reset_color%}%{$fg[gray]%}[%{$reset_color%}"
vars['brackets_end']="%{$reset_color%}%{$fg[gray]%}]%{$reset_color%}"