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` OS_ARCH=`uname -m`
# Distro detection. # Distro detection.
LSBRELEASE=$(which lsb_release) if [[ -f /etc/os-release ]]; then
if [ $? -eq 0 ]; then . /etc/os-release
DISTRO=`lsb_release -i -s` DISTRO=${ID}
else else
# BSDs OS and macOS can be detected via uname. # BSDs OS and macOS can be detected via uname.
DISTRO=${OS} 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) export fpath=(${fpath} /opt/homebrew/share/zsh/site-functions)
fi 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 autoload -Uz compinit
compinit compinit
zstyle ':completion:*' menu select=2 zstyle ':completion:*' menu select=2
+14 -10
View File
@@ -22,19 +22,23 @@ select-word-style bash
bindkey '\ew' kill-region # [Esc-w] - Kill from the cursor to the mark bindkey '\ew' kill-region # [Esc-w] - Kill from the cursor to the mark
bindkey -s '\el' 'ls\n' # [Esc-l] - run command: ls 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 # 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 bindkey "${terminfo[kcuu1]}" up-line-or-search # start typing + [Up-Arrow] - fuzzy find history forward
fi fi
if [[ "${terminfo[kcud1]}" != "" ]]; then if [[ "${terminfo[kcud1]}" != "" ]]; then
bindkey "${terminfo[kcud1]}" down-line-or-search # start typing + [Down-Arrow] - fuzzy find history backward bindkey "${terminfo[kcud1]}" down-line-or-search # start typing + [Down-Arrow] - fuzzy find history backward
fi
fi fi
if [[ "${terminfo[khome]}" != "" ]]; then if [[ "${terminfo[khome]}" != "" ]]; then
-4
View File
@@ -1,9 +1,5 @@
# Default aliases. They can be overriden by other files with higher # Default aliases. They can be overriden by other files with higher
# index. # index.
# Files navigation.
alias ls="ls --color"
alias sl="ls --color"
# Git. # 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. # 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" 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}" = "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}" = "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}" == "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}" = "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 if [ -f "${AUTOSUGGESTIONS_PATH}" ]; then
source "${AUTOSUGGESTIONS_PATH}" source "${AUTOSUGGESTIONS_PATH}"
+4 -1
View File
@@ -23,10 +23,13 @@ prompt_fat0troll_setup () {
vars['brackets_end']="%{$fg[yellow]%}]%{$reset_color%}" vars['brackets_end']="%{$fg[yellow]%}]%{$reset_color%}"
# Session-dependend colorizing. # Session-dependend colorizing.
# Local will be black, remote - yellow. # Local will be black, remote and containers - yellow.
if [[ -n $SSH_TTY ]]; then if [[ -n $SSH_TTY ]]; then
vars['console']="$vars['brackets_start']SSH$vars['brackets_end']" vars['console']="$vars['brackets_start']SSH$vars['brackets_end']"
vars['default_color']="%{$fg[cyan]%}" 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 else
vars['console']="" vars['console']=""
vars['default_color']="%{$fg[green]%}" 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") precmd_functions=(${precmd_functions[@]} "prompt_pztrn_gitinfo" "prompt_pztrn_createprompt")
# Session-dependend colorizing. # Session-dependend colorizing.
# Local will be black, remote - yellow. # Local will be black, remote and containers - yellow.
if [[ -n $SSH_TTY ]]; then if [[ -n $SSH_TTY ]]; then
vars['brackets_start']="%{$fg[yellow]%}[%{$reset_color%}" vars['brackets_start']="%{$fg[yellow]%}[%{$reset_color%}"
vars['brackets_end']="%{$fg[yellow]%}]%{$reset_color%}" vars['brackets_end']="%{$fg[yellow]%}]%{$reset_color%}"
vars['console']="$vars['brackets_start']SSH$vars['brackets_end']" vars['console']="$vars['brackets_start']SSH$vars['brackets_end']"
vars['default_color']="%{$fg[cyan]%}" 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 else
vars['brackets_start']="%{$reset_color%}%{$fg[gray]%}[%{$reset_color%}" vars['brackets_start']="%{$reset_color%}%{$fg[gray]%}[%{$reset_color%}"
vars['brackets_end']="%{$reset_color%}%{$fg[gray]%}]%{$reset_color%}" vars['brackets_end']="%{$reset_color%}%{$fg[gray]%}]%{$reset_color%}"