-
Notifications
You must be signed in to change notification settings - Fork 2
/
.pathrc
133 lines (113 loc) · 3.41 KB
/
.pathrc
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
121
122
123
124
125
126
127
128
129
130
131
132
133
#!/bin/sh
remove_path() {
PATH=$(echo -n "$PATH" | sed -e "s#:$1:#:#g" -e "s#:$1\$##" -e "s#^$1:##")
}
remove_manpath() {
MANPATH=$(echo -n "$MANPATH" | sed -e "s#:$1:#:#g" -e "s#:$1\$##" -e "s#^$1:##")
}
prefix_path() {
remove_path "$1"
if [ -d "$1" ]; then
if [ -z "$PATH" ]; then
PATH="$1"
else
PATH="$1:$PATH"
fi
fi
}
prefix_manpath() {
remove_manpath "$1"
if [ -d "$1" ]; then
if [ -z "$MANPATH" ]; then
MANPATH="$1"
else
MANPATH="$1:$MANPATH"
fi
fi
}
prefix_root() {
prefix_path "$1/bin"
prefix_path "$1/sbin"
prefix_manpath "$1/share/man"
}
# airport tool
prefix_path "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources"
# Fink
prefix_root "/sw"
# Macports
prefix_root "/opt/local"
prefix_path "/bin"
prefix_path "/sbin"
prefix_root "/usr"
prefix_root "/usr/local"
prefix_root "/usr/local/share/npm"
prefix_root "/usr/local/opt/ruby"
prefix_path "/usr/local/opt/coreutils/libexec/gnubin"
prefix_path "$HOME/.cabal/bin"
prefix_path "$HOME/.tools/bin"
prefix_path "$HOME/.tools/localized/bin"
prefix_path "$HOME/.local/bin"
prefix_path "$HOME/bin"
prefix_root "$HOME/.homebrew"
prefix_path "$HOME/.bin"
prefix_path "$HOME/.rvm/bin"
prefix_root "$HOME/.nix-profile"
prefix_root "$HOME/Library/Python/2.7"
prefix_root "$HOME/Library/Application Support/Coursier"
prefix_path "$HOME/.rbenv/shims"
prefix_path "$HOME/.cargo/bin"
prefix_path "$HOME/.emacs.d/bin"
prefix_root "/nix/var/nix/profiles/default"
prefix_root "/run/current-system/sw"
if [ -d "/opt/ghc" ]; then
prefix_root "/opt/ghc/$(ls "/opt/ghc/" | sort -n | tail -n 1)"
fi
if [ -z "$BASH_COMPLETION_USER_DIR" ]; then
for BASH_COMPLETION_USER_DIR in "$HOME/.nix-profile/share/bash-completion" "/usr/local/share/bash-completion"; do
if [ -d "$BASH_COMPLETION_USER_DIR" ]; then
export BASH_COMPLETION_USER_DIR
break
fi
done
fi
ANDROID_PATH="$HOME/.tools/localized/android-sdk"
if [ -d "$ANDROID_PATH" ]; then
prefix_path "$ANDROID_PATH/tools"
prefix_path "$ANDROID_PATH/platform-tools"
export ANDROID_HOME="$ANDROID_PATH"
fi
GOPATH=$HOME/.tools/localized/go
if [ -d "$GOPATH" ]; then
export GOPATH
prefix_path "$GOPATH/bin"
fi
# Adding /usr/local sources to searchpaths
if [ -z "$LIBRARY_PATH" ]; then
LIBRARY_PATH=/usr/local/lib
else
LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH
fi
if [ -z "$CPATH" ]; then
CPATH=/usr/local/include/SDL
else
CPATH=/usr/local/include/SDL:$CPATH
fi
export PATH
export MANPATH
export LIBRARY_PATH
export CPATH
if hash python >/dev/null 2>/dev/null; then
version="$(python -c 'import sys; print((lambda i: "%s.%s" % (i.major, i.minor))(sys.version_info))')"
export PYTHONPATH="$PYTHONPATH:$HOME/.local/lib/python${version}/site-packages/"
if [ -d ~/.tools/ ]; then
export PYTHONPATH=$PYTHONPATH:~/.tools/:~/.tools/code/python/
fi
fi
# Needed because multi-user nix on OSX doesn't respect non-root user's channels:
# brick:dstewart$ nix-shell -p meld
# warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixpkgs' does not exist, ignoring
# error: file 'nixpkgs' was not found in the Nix search path (add it using $NIX_PATH or -I), at (string):1:13
# export NIX_PATH="darwin-config=$HOME/.nixpkgs/darwin-configuration.nix:$HOME/.nix-defexpr/channels:$NIX_PATH"
if [ -f ~/.tools/configs/machines/$(hostname -s).pathrc ]; then
. ~/.tools/configs/machines/$(hostname -s).pathrc
fi