On Jo, 04 iun 20, 10:13:06, Michael Shuler wrote: > For many years, I have taken a different approach; use the default and add > only a few minor changes. Each stable update, I use /etc/skel/.bashrc and > edit/add in my little bits.
for config in ~/.config/bash/*; do source "$config"; done That is the entirety of my ~/.bashrc due to [WONTFIX], which allows you to drop in symlinks, organise overrides and specify ordering. I'm definitely bookmarking this thread to steal some useful snippets. 00_skel -> /etc/skel/.bashrc 10_xdg # alias dig="HOME=~/.config dig" arguments # alias ls='ls --almost-all --color=auto --human-readable' bash # see below git-sh-prompt -> /usr/lib/git-core/git-sh-prompt shortcuts # alias serve='nohup python3 -m http.server &>/dev/null &' ssh # see below ZZ_run # PROMPT_COMMAND='__git_ps1 "'"${PS1%\\*}"'" "\\\$ "' ## ~/.config/bash/bash # allow sudo to use local aliases alias sudo='sudo ' export EDITOR=vim # infinite bash history (currently c. 1MiB) export HISTFILE="$HOME/.local/share/bash_history" export HISTFILESIZE= export HISTSIZE= export HISTTIMEFORMAT='[%F %T] ' # more filetypes like .log.1.gz export LESSCLOSE='/usr/bin/lesspipe %s %s' export LESSOPEN='| /usr/bin/lesspipe %s' export PATH="$HOME/bin:$PATH" shopt -s globstar ## ~/.config/bash/ssh export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" ensure_known_host() { local hostname=$1 local known_hosts=${2:-~/.ssh/known_hosts} ssh-keygen -F "$hostname" -f "$known_hosts" &>/dev/null \ || ssh-keyscan -H -t ecdsa "$hostname" \ | tee --append "$known_hosts" } # hook in a custom git style subcommand ssh() { case $1 in tunnel ) shift while true; do date '+%FT%T' command ssh -R 2222:localhost:22 user@server "$@" done ;; * ) command ssh "$@" ;; esac } [WONTFIX]: https://savannah.gnu.org/support/?108134
signature.asc
Description: PGP signature