From c8d4dae6f79dc420558328c2787517401b90d7c5 Mon Sep 17 00:00:00 2001 From: Ward Truyen Date: Sun, 19 Oct 2025 11:43:52 +0200 Subject: [PATCH] Initial commit --- .bashrc | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ .zshrc | 31 +++++++++++ README.md | 1 + makefile | 28 ++++++++++ 4 files changed, 220 insertions(+) create mode 100644 .bashrc create mode 100644 .zshrc create mode 100644 README.md create mode 100644 makefile diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..852a890 --- /dev/null +++ b/.bashrc @@ -0,0 +1,160 @@ +# +# ~/.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 -l' +alias ..='cd ..' +alias cp='cp -v' +alias rm='rm -v' + +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\]]\#\$ ' + 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/.zshrc b/.zshrc new file mode 100644 index 0000000..2735a95 --- /dev/null +++ b/.zshrc @@ -0,0 +1,31 @@ +# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. +# Initialization code that may require console input (password prompts, [y/n] +# confirmations, etc.) must go above this block; everything else may go below. +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +fi + +# Use powerline +USE_POWERLINE="true" +# Source manjaro-zsh-configuration +if [[ -e /usr/share/zsh/manjaro-zsh-config ]]; then + source /usr/share/zsh/manjaro-zsh-config +fi +# Use manjaro zsh prompt +if [[ -e /usr/share/zsh/manjaro-zsh-prompt ]]; then + source /usr/share/zsh/manjaro-zsh-prompt +fi + +# personal aliases +#alias ls='ls --color=auto' +alias la='ls -a' +alias ll='ls -l' +alias ..='cd ..' +alias cp='cp -v' +alias rm='rm -v' + +#Java home +export JAVA_HOME=/usr/lib/jvm/default + +# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh diff --git a/README.md b/README.md new file mode 100644 index 0000000..33506d4 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# SHell config repository from Ward Truyen 2025 diff --git a/makefile b/makefile new file mode 100644 index 0000000..2135188 --- /dev/null +++ b/makefile @@ -0,0 +1,28 @@ + +default : print-help +help : print-help + +print-help : + @echo -e "Help!?!?" + @echo -e "Use 'make instal' to instal this config and required packages" + @echo -e "Use 'make instal-config' to only copy the configuration files" + @echo -e "Use 'make instal-packaged' to instal packages: zsh, easy-zsh-config, oh-my-posh" + @echo -e "Use 'make code' to get configuration-code from your config to this project" + @echo -e "ConfigPath=$(NVIM_CONFIG)" + +instal : instal-packages, instal-config + +instal-config : + @echo -e "Installing to $(NVIM_CONFIG)" + cp ./.zshrc ~/ + cp ./.bashrc ~/ + +instal-packages : + sudo pacman -S --needed zsh #zsh shell environment + yay -S --needed easy-zsh-config #zsh suggestion/command-completion and syntax higlighting + yay -S --needed oh-my-posh #zsh theme provider + +code : + @echo -e "Getting code from $(NVIM_CONFIG)" + cp ~/.zshrc ./ + cp ~/.bashrc ./