aboutsummaryrefslogtreecommitdiff
path: root/initsh/.initsh
blob: eece39bf6b150f5cf9de989169b4be47f3b40ad9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/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