aboutsummaryrefslogtreecommitdiff
path: root/initsh/.initsh
blob: 47af88c29b31bf845abe6356bf87dae8f51480f5 (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
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/sh

KERNEL=$(uname -s)

# Aliases
alias e=\$VISUAL
## Replace vi and vim with neovim if installed
if [ -x "$(command -v nvim)" ]; then
    alias vi='nvim'
    alias vim='nvim'
fi
## Replace ls and tree with exa if installed
if [ -x "$(command -v exa)" ]; then
    alias ls='exa --group-directories-first'
    alias tree='exa --tree'
    # exa doesn't have the --almost-all option
    alias la='ls -al'
else
    # TODO: can we add --group-directories-first here?
    ls --color=auto > /dev/null 2>&1 && alias ls='ls --color=auto'
    alias la='ls -A'
fi
## Colors
if [ -x "$(command -v dircolors)" ]; then
    if [ -f ~/.dircolors ]; then
        eval "$(dircolors ~/.dircolors)"
    else
        eval "$(dircolors)"
    fi
fi

alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias hexedit='hexedit --color'
alias minicom='minicom -c on'
## Some more ls aliases
alias ll='ls -l'

# 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"
        if [ -x "$(command -v lsb_release)" ]; then
            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))"
        else
            OS_DESCRIPTION="$(uname --operating-system)"
        fi
    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