feat(bash): add bash, remove zsh

This commit is contained in:
Barrett Ruth 2026-02-18 11:39:53 -05:00
parent 60f4b6e808
commit b373fbaaab
Signed by: barrett
GPG key ID: A6C96C9349D2FC81
7 changed files with 127 additions and 108 deletions

39
config/bash/bashrc Normal file
View file

@ -0,0 +1,39 @@
for _hm in "/etc/profiles/per-user/$(id -un)" "$HOME/.nix-profile"; do
[ -f "$_hm/etc/profile.d/hm-session-vars.sh" ] && . "$_hm/etc/profile.d/hm-session-vars.sh" && break
done
unset _hm
shopt -s autocd histappend
HISTFILE="${XDG_STATE_HOME:-$HOME/.local/state}/bash_history"
HISTSIZE=2000
HISTFILESIZE=2000
HISTCONTROL=ignoreboth:erasedups
alias ls='eza'
alias l='ls --color=auto --group-directories-first'
alias ll='l -alF'
alias la='ll -R'
alias g='git'
alias nv='nvim'
export GPG_TTY=$(tty)
export THEME="${THEME:-midnight}"
export FZF_COMPLETION_TRIGGER=';'
export FZF_TMUX=1
eval "$(fzf --bash)"
eval "$(zoxide init bash)"
eval "$(direnv hook bash)"
eval "$(starship init bash)"
fzf-config-widget() {
local file
file="$(FZF_CTRL_T_COMMAND="fd --type file --hidden . \"$XDG_CONFIG_HOME\"/nix | sed \"s|$HOME|~|g\"" fzf --reverse)" || return
file="${file/#\~/$HOME}"
READLINE_LINE="${READLINE_LINE:0:$READLINE_POINT}${file}${READLINE_LINE:$READLINE_POINT}"
READLINE_POINT=$(( READLINE_POINT + ${#file} ))
}
bind -x '"\C-e": fzf-config-widget'
[ -r "$OPAMROOT/opam-init/init.sh" ] && . "$OPAMROOT/opam-init/init.sh" > /dev/null 2> /dev/null

24
config/bash/inputrc Normal file
View file

@ -0,0 +1,24 @@
set editing-mode vi
set show-mode-in-prompt on
set vi-cmd-mode-string "\1\e[2 q\2"
set vi-ins-mode-string "\1\e[6 q\2"
set completion-ignore-case on
set colored-stats on
set show-all-if-ambiguous on
$if mode=vi
set keymap vi-command
"\C-p": previous-history
"\C-n": next-history
"\C-j": backward-char
"\C-k": forward-char
"\e[3~": delete-char
set keymap vi-insert
"\C-p": previous-history
"\C-n": next-history
"\C-j": backward-char
"\C-k": forward-char
"\e[3~": delete-char
$endif

View file

@ -37,6 +37,7 @@ return {
args = { '-i', '2' },
stdin = true,
})
ft('sh,bash'):lint('shellcheck')
ft('zsh'):lint('zsh')
ft('proto'):fmt('buf'):lint('buf')

View file

@ -1,57 +0,0 @@
autoload -U compinit && compinit -d "$XDG_STATE_HOME/zcompdump" -u
zmodload zsh/complist
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-za-z}'
export GPG_TTY=$(tty)
export THEME="${THEME:-midnight}"
setopt auto_cd
unsetopt beep notify
unset completealiases
bindkey -v
bindkey '^[[3~' delete-char
bindkey '^P' up-line-or-history
bindkey '^N' down-line-or-history
bindkey '^J' backward-char
bindkey '^K' forward-char
export PURE_PROMPT_SYMBOL=">"
export PURE_PROMPT_VICMD_SYMBOL="<"
export PURE_GIT_UP_ARROW="^"
export PURE_GIT_DOWN_ARROW="v"
export PURE_GIT_STASH_SYMBOL="="
export PURE_CMD_MAX_EXEC_TIME=5
export PURE_GIT_PULL=0
export PURE_GIT_UNTRACKED_DIRTY=1
zstyle ':prompt:pure:git:stash' show yes
autoload -Uz promptinit && promptinit
prompt pure
autoload -Uz add-zle-hook-widget
function _cursor_shape() {
case $KEYMAP in
vicmd) echo -ne '\e[2 q' ;;
viins|main) echo -ne '\e[6 q' ;;
esac
}
function _cursor_init() { echo -ne '\e[6 q'; }
add-zle-hook-widget zle-keymap-select _cursor_shape
add-zle-hook-widget zle-line-init _cursor_init
export FZF_COMPLETION_TRIGGER=\;
export FZF_TMUX=1
fzf-config-widget() {
local file="$(FZF_CTRL_T_COMMAND="fd --type file --hidden . \"$XDG_CONFIG_HOME\"/nix | sed \"s|$HOME|~|g\"" __fzf_select)"
[ -n "$file" ] || { zle reset-prompt; return; }
file="${file/#\\~/~}"
LBUFFER+="$file"
zle reset-prompt
}
zle -N fzf-config-widget
bindkey '^E' fzf-config-widget
[[ ! -r "$OPAMROOT/opam-init/init.zsh" ]] || source "$OPAMROOT/opam-init/init.zsh" > /dev/null 2> /dev/null