#!/bin/sh KERNEL=$(uname -s) # EDITORS export EDITOR="nano" export VISUAL="nvim" ## C/C++ export CC="clang" export CXX="clang++" export DCMAKE_C_COMPILER=$CC export DCMAKE_CXX_COMPILER=$CXX # Aliases ## Replace ls with exa if installed if [ -x "$(command -v exa)" ]; then alias ls='exa' alias tree='exa --tree' else alias ls='ls --color=auto' fi ## Editors alias e=$VISUAL alias vim=$VISUAL ## Colors alias dir='dir --color=auto' alias grep='grep --color=auto' alias hexedit='hexedit --color' ## Some more ls aliases alias ll='ls -Al' alias la='ls -A' # Easy to use copy/paste aliases for different platforms if [ "$KERNEL" = "Linux" ]; then alias ucopy='xclip -selection c' alias upaste='xclip -selection clipboard -o' elif [ "$KERNEL" = "Darwin" ]; then alias ucopy='pbcopy' alias upaste='pbpaste' fi # Greeting message if [ -n "$WELCOME_MSG" ]; then if [ "$KERNEL" = "Linux" ]; then DF_ARGS="-h -T -xtmpfs -xdevtmpfs" OS_DESCRIPTION="$(lsb_release -sd)" # Manjaro has a weird lsb_release, compensate [ "$OS_DESCRIPTION" = '"Manjaro Linux"' ] && OS_DESCRIPTION="Manjaro Linux $(lsb_release -sr) ($(lsb_release -sc))" elif [ "$KERNEL" = "Darwin" ]; then DF_ARGS="-h -l" OS_DESCRIPTION="$(system_profiler SPSoftwareDataType -detailLevel mini | grep -o "System Version: .*" | awk -F ': ' '{print $2}')" fi printf '\n' printf ' \e[1mUser: \e[0;32m%s\e[0m\n' "$USER" printf ' \e[1mHostname: \e[0;32m%s\e[0m\n' "$(uname -n)" printf ' \e[1mOS: \e[0;32m%s\e[0m\n' "$OS_DESCRIPTION" printf ' \e[1mKernel: \e[0;32m%s %s\e[0m\n' "$KERNEL" "$(uname -r)" printf '\n' printf ' \e[1mDisk usage:\e[0m\n' printf '\n' printf '%s\n' "$(eval df $DF_ARGS | sed 's/^/ /')" printf '\n' fi