aboutsummaryrefslogtreecommitdiff
path: root/etc/sh/root-rc
blob: f78f293ab3ea69f74999c981354392198ae8ec48 (plain) (blame)
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
78
79
80
81
82
83
84
85
86
87
#!/bin/sh
# shellcheck disable=1090,1091
export ENV=~/.profile

XDG_PREFIX=~/.usr
export XDG_CACHE_HOME="$XDG_PREFIX/var/cache"
export XDG_CONFIG_HOME="$XDG_PREFIX/etc"
export XDG_DATA_HOME="$XDG_PREFIX/share"
export XDG_STATE_HOME="$XDG_PREFIX/state"
export XDG_LOG_HOME="$XDG_PREFIX/var/log"

mkdir -p \
	"$XDG_CACHE_HOME"  \
	"$XDG_CONFIG_HOME" \
	"$XDG_DATA_HOME"   \
	"$XDG_STATE_HOME"  \
	"$XDG_LOG_HOME"

GUIX_PROFILE="$XDG_CONFIG_HOME"/guix/current
if [ -e "$GUIX_PROFILE"/etc/profile ]; then
	. "$GUIX_PROFILE"/etc/profile
fi

HISTSIZE=-1
HISTFILE="$XDG_STATE_HOME"/bash-history
HISTCONTROL=ignorespace:ignoredups

export EDITOR='vi'
export VISUAL="$EDITOR"
export PAGER='less -R'
export GUILE_HISTORY="$XDG_STATE_HOME"/guile-history
export RLWRAP_HOME="$XDG_CACHE_HOME"/rlwrap
export LESSHISTFILE="$XDG_STATE_HOME"/lesshst
export EXINIT='
	" set number
	set autoindent
	set ruler
	set showmode
	set showmatch
'

alias l='ls -lahF --color=auto'
alias grep='grep --color=auto'
alias diff='diff --color'
alias less='less -R'
alias mv='mv -i'
alias rm='rm -i'
alias r='reload'

reload() {
	. ~/.profile
}



#
# PS1
#

error_marker() {
	STATUS=$?
	if [ "$STATUS" != 0 ]; then
		printf ' (!! %s !!) ' "$STATUS"
	fi
}

shell_level() {
	# shellcheck disable=3028
	L="${SHLVL:-1}"
	if [ -n "${TMUX:-}" ]; then
		LVL=$((L - 1))
	else
		LVL="$L"
	fi
	if [ "$LVL" != 1 ]; then
		printf '[%s] ' "$LVL"
	fi
}

guix_env() {
	if [ -n "${GUIX_ENVIRONMENT:-}" ]; then
		printf '\n~> guix environment (%s)' "$GUIX_ENVIRONMENT"
	fi
}

PS1='`error_marker`\T \w/ `shell_level``guix_env`
# '