aboutsummaryrefslogtreecommitdiff
path: root/.config/shell/sources
blob: 070991172ab4f05385f7b161b38852bac7475734 (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/usr/env sh
# Author:  Patrick Spek <p.spek@tyil.nl>
# License: BSD 3-clause license
#
[ "${DEBUG_DOTFILES}" ] && echo "Setting PATH"

# User-local bin dir
PATH="$HOME/.config/shell/wrappers.d:$PATH"
PATH="$HOME/.local/bin:$PATH"

# snaps were a terrible idea and anyone in favour of them should be ashamed
# of themselves
if [ -d "/snap/bin" ]
then
	PATH="$PATH:/snap/bin"
fi

# Raku stuff
if [ -d "$HOME/.raku/bin" ]
then
	PATH="$PATH:$HOME/.raku/bin"
fi

if [ -d "/usr/local/share/perl6" ]
then
	PATH="$PATH:/usr/local/share/perl6/site/bin"
	PATH="$PATH:/usr/local/share/perl6/vendor/bin"
fi

# Load color definitions if they exist
if [ -f "$HOME/.config/shell/colors/$SHORTSHELL" ]
then
	[ "$DEBUG_DOTFILES" ] && printf "    Loading color definitions\n"
	. "$HOME/.config/shell/colors/$SHORTSHELL"
fi

# Nix package manager
if [ -f "$HOME/.nix-profile/etc/profile.d/nix.sh" ]
then
	# In case of single-user Nix installation
	. "$HOME/.nix-profile/etc/profile.d/nix.sh"
else
	if [ -d "/nix/var/nix/profiles/per-user/${USER}" ]
	then
		# In case of multi-user Nix installation
		PATH="${PATH}:/nix/var/nix/profiles/per-user/${USER}/profile/bin"
	fi
fi

[ "${DEBUG_DOTFILES}" ] && echo "Setting FPATH"
FPATH="${HOME}/.config/shell/completion ${FPATH}"

[ "${DEBUG_DOTFILES}" ] && echo "Sourcing ~/.config/shell/env"
# shellcheck disable=SC1090
. "${HOME}/.config/shell/env"

if [ -f "${HOME}/.local/etc/shell/env" ]
then
	[ "${DEBUG_DOTFILES}" ] && echo "Sourcing ~/.local/etc/shell/env"
	# shellcheck disable=SC1090
	. "${HOME}/.local/etc/shell/env"
fi

# if ruby is installed and we have a gems folder, include it in the path
if ruby -v > /dev/null 2>&1
then
	GEMDIR="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin"

	if [ -d "$GEMDIR" ]
	then
		[ "$DEBUG_DOTFILES" ] && echo "    Extending PATH with $GEMDIR"
		PATH="$GEMDIR:$PATH"
	fi
fi

# Add machine-specific paths from ~/.local/etc/shell/path
if [ -f "$HOME/.local/etc/shell/path" ]
then
	for p in $(envsubst < "$HOME/.local/etc/shell/path")
	do
		PATH="$PATH:$p"
	done
fi

# export the extended PATH
export PATH

# Extend MANPATH with user directories
MANPATH="/home/tyil/.local/share/man/:$MANPATH"

# Add aliases
. "$HOME/.config/shell/aliases"

# Add custom functions
[ "${DEBUG_DOTFILES}" ] && echo "  Sourcing functions.d"

for f in "$HOME/.config/shell/functions.d"/*
do
	[ "${DEBUG_DOTFILES}" ] && echo "    $f"
	. "$f"
done

# Load profile
if [ -f "${HOME}/.config/shell/profile" ]
then
	[ "${DEBUG_DOTFILES}" ] && echo "  Loading ~/.config/shell/init"
	#shellcheck disable=1090
	. "${HOME}/.config/shell/profile"
fi


# show motd
if [ -f "${HOME}/.config/shell/motd" ]; then
	[ "${DEBUG_DOTFILES}" ] && echo "Reading motd"
	# shellcheck disable=SC1090
	. "${HOME}/.config/shell/motd"
fi

# clear terminal
[ "$DEBUG_DOTFILES" ] || clear