From 5c231872df12314e2d9ef9663a9871300cd3c06b Mon Sep 17 00:00:00 2001 From: Ward Truyen Date: Mon, 11 May 2026 14:52:42 +0200 Subject: [PATCH] feat: update 2026 --- .bash_config | 30 ++++++++++ .bash_profile | 10 ++++ .bashrc | 157 +------------------------------------------------- README.md | 41 ++++++++++++- makefile | 18 ++++-- 5 files changed, 95 insertions(+), 161 deletions(-) create mode 100644 .bash_config create mode 100644 .bash_profile diff --git a/.bash_config b/.bash_config new file mode 100644 index 0000000..277bdcc --- /dev/null +++ b/.bash_config @@ -0,0 +1,30 @@ +# +# ~/.bash_config +# +# Ward Truyen's Config for bash + +# If not running interactively, stop +[[ $- != *i* ]] && return + +# personal aliases +alias la='ls -a' +alias ll='ls -lh' +alias cp='cp -v' +alias mv='mv -v' +alias rm='rm -v' +alias ..='cd ..' + +# colored output +alias ls='ls --color=auto' +alias grep='grep --colour=auto' +alias egrep='egrep --colour=auto' +alias fgrep='fgrep --colour=auto' + +# Colorful PS1 +if [[ ${EUID} == 0 ]] ; then + # Root + PS1='[\[\e[37m\]root\[\e[0m\]@\[\033[01;31m\]\h\[\033[01;36m\] \W\[\033[01;31m\]]\[\033[00m\]]\#\$ ' +else + # User + PS1='[\[\e[33m\]\u\[\e[0m\]@\[\e[32m\]\h \[\e[1m\]\W\[\e[0m\]]\#\$ ' +fi diff --git a/.bash_profile b/.bash_profile new file mode 100644 index 0000000..95dbdef --- /dev/null +++ b/.bash_profile @@ -0,0 +1,10 @@ +# +# ~/.bash_profile +# + +# load exports +[[ -f ~/.bashrc ]] && . ~/.bashrc + +# load bash config +[[ -f ~/.bashrc ]] && . ~/.bash_config + diff --git a/.bashrc b/.bashrc index 111e1e5..ba94eae 100644 --- a/.bashrc +++ b/.bashrc @@ -2,161 +2,6 @@ # ~/.bashrc # -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -# personal aliases -alias ls='ls --color=auto' -alias la='ls -a' -alias ll='ls -lh' -alias cp='cp -v' -alias mv='mv -v' -alias rm='rm -v' -alias ..='cd ..' - -colors() { - local fgc bgc vals seq0 - - printf "Color escapes are %s\n" '\e[${value};...;${value}m' - printf "Values 30..37 are \e[33mforeground colors\e[m\n" - printf "Values 40..47 are \e[43mbackground colors\e[m\n" - printf "Value 1 gives a \e[1mbold-faced look\e[m\n\n" - - # foreground colors - for fgc in {30..37}; do - # background colors - for bgc in {40..47}; do - fgc=${fgc#37} # white - bgc=${bgc#40} # black - - vals="${fgc:+$fgc;}${bgc}" - vals=${vals%%;} - - seq0="${vals:+\e[${vals}m}" - printf " %-9s" "${seq0:-(default)}" - printf " ${seq0}TEXT\e[m" - printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m" - done - echo; echo - done -} - -[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion - -# Change the window title of X terminals -case ${TERM} in - xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*) - PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"' - ;; - screen*) - PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"' - ;; -esac - -use_color=true - -# Set colorful PS1 only on colorful terminals. -# dircolors --print-database uses its own built-in database -# instead of using /etc/DIR_COLORS. Try to use the external file -# first to take advantage of user additions. Use internal bash -# globbing instead of external grep binary. -safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM -match_lhs="" -[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" -[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(/dev/null \ - && match_lhs=$(dircolors --print-database) -[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true - -if ${use_color} ; then - # Enable colors for ls, etc. Prefer ~/.dir_colors #64489 - if type -P dircolors >/dev/null ; then - if [[ -f ~/.dir_colors ]] ; then - eval $(dircolors -b ~/.dir_colors) - elif [[ -f /etc/DIR_COLORS ]] ; then - eval $(dircolors -b /etc/DIR_COLORS) - fi - fi - - if [[ ${EUID} == 0 ]] ; then - #PS1='[\[\033[01;31m\]\h\[\033[01;36m\] \W\[\033[01;31m\]]\[\033[00m\]]\#\$ ' - PS1='[\[\e[37m\]root\[\e[0m\]@\[\033[01;31m\]\h\[\033[01;36m\] \W\[\033[01;31m\]]\[\033[00m\]]\#\$ ' - else - #PS1='[\[\033[01;32m\]\u@\h\[\033[01;37m\] \W\[\033[01;32m\]]\[\033[00m\]]\#\$ ' - PS1='[\[\e[33m\]\u\[\e[0m\]@\[\e[32m\]\h \[\e[1m\]\W\[\e[0m\]]\#\$ ' - fi - - alias ls='ls --color=auto' - alias grep='grep --colour=auto' - alias egrep='egrep --colour=auto' - alias fgrep='fgrep --colour=auto' -else - if [[ ${EUID} == 0 ]] ; then - # show root@ when we don't have colors - PS1='\u@\h \W \$ ' - else - PS1='\u@\h \w \$ ' - fi -fi - -unset use_color safe_term match_lhs sh - -#alias cp="cp -i" # confirm before overwriting something -#alias df='df -h' # human-readable sizes -#alias free='free -m' # show sizes in MB -#alias np='nano -w PKGBUILD' -#alias more=less - -xhost +local:root > /dev/null 2>&1 - -# Bash won't get SIGWINCH if another process is in the foreground. -# Enable checkwinsize so that bash will check the terminal size when -# it regains control. #65623 -# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11) -shopt -s checkwinsize - -shopt -s expand_aliases - -# export QT_SELECT=4 - -# Enable history appending instead of overwriting. #139609 -shopt -s histappend - -# -# # ex - archive extractor -# # usage: ex -ex () -{ - if [ -f $1 ] ; then - case $1 in - *.tar.bz2) tar xjf $1 ;; - *.tar.gz) tar xzf $1 ;; - *.bz2) bunzip2 $1 ;; - *.rar) unrar x $1 ;; - *.gz) gunzip $1 ;; - *.tar) tar xf $1 ;; - *.tbz2) tar xjf $1 ;; - *.tgz) tar xzf $1 ;; - *.zip) unzip $1 ;; - *.Z) uncompress $1;; - *.7z) 7z x $1 ;; - *) echo "'$1' cannot be extracted via ex()" ;; - esac - else - echo "'$1' is not a valid file" - fi -} - - -# Load Angular CLI autocompletion. -source <(ng completion script) - -# configure docker socket stuff -export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock - -# valgrind fix -export DEBUGINFOD_URLS="https://debuginfod.archlinux.org" - # JAVA home export JAVA_HOME=/usr/lib/jvm/default + diff --git a/README.md b/README.md index 33506d4..b791257 100644 --- a/README.md +++ b/README.md @@ -1 +1,40 @@ -# SHell config repository from Ward Truyen 2025 +# Shell config from Ward Truyen 2026 + +Use the makefile for a fast install + +## How to + +### Use the BASH config + +Copy the `.bash*` files from here to your home folder `~/` + +```bash +cp ./.bashrc ~/ +cp ./.bash_profile ~/ +cp ./.bash_config ~/ +``` + +or + +```make +make instal-bash-config +``` + + +### Use the ZSH config + + - Install the zsh package (pacman) + - Copy the `.zsh*` files from here to your home folder `~/` + +```bash +sudo pacman -S --needed zsh +cp ./.zshrc ~/ +``` + +or + +```make +make instal-packages +make instal-zsh-config +``` + diff --git a/makefile b/makefile index a79bc7d..45eb8f2 100644 --- a/makefile +++ b/makefile @@ -1,8 +1,15 @@ +.PHONY: default help print-help +.PHONY: instal-bash-config instal-zsh-config instal-bash instal-zsh instal-all +.PHONY: getmycode code-bash code-zsh + default : print-help help : print-help -instal : instal-packages, instal-config -instal-config : instal-bash-config, instal-zsh-config +install: instal +instal : instal-all +instal-bash: instal-bash-config +instal-zsh: instal-zsh-packages, instal-zsh-config +instal-all : instal-bash, instal-zsh getmycode : code-bash, code-zsh print-help : @@ -15,18 +22,21 @@ print-help : instal-bash-config : @echo -e "Installing bash config to $$HOME" cp ./.bashrc ~/ + cp ./.bash_profile ~/ + cp ./.bash_config ~/ instal-zsh-config : @echo -e "Installing zsh config to $$HOME" cp ./.zshrc ~/ -instal-packages : +instal-zsh-packages : sudo pacman -S --needed zsh #zsh shell environment - # yay -S --needed easy-zsh-config #zsh suggestion/command-completion and syntax higlighting code-bash : @echo -e "Getting bash config from $$HOME" cp ~/.bashrc ./ + cp ~/.bash_profile ./ + cp ~/.bash_config ./ code-zsh : @echo -e "Getting zsh config from $$HOME"