-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtmpl.activate
More file actions
108 lines (86 loc) · 1.97 KB
/
tmpl.activate
File metadata and controls
108 lines (86 loc) · 1.97 KB
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
# Roaster RVE bin/activate
# helpful message to run this command
if [[ "${BASH_SOURCE-}" = "$0" ]]; then
echo -e "\e[32mPlease, run: \$ source $0\e[0m"
exit 33
fi
# deactivate virtual environment settings
function deactivate {
# reset old environment variables
if ! [[ -z "${ROASTER_SYS_PATH:+_}" ]]; then
PATH="$ROASTER_SYS_PATH"
export PATH
unset ROASTER_SYS_PATH
fi
# reset old home
if ! [[ -z "$ROASTER_SYS_HOME" ]]; then
HOME="$ROASTER_SYS_HOME"
export HOME && cd
unset ROASTER_SYS_HOME
fi
# reset commands history
if [[ -n "${BASH-}" ]]; then
hash -r 2>/dev/null
fi
# reset bash prompt
if ! [[ -z "${ROASTER_SYS_PS1+_}" ]]; then
PS1="$ROASTER_SYS_PS1"
export PS1
unset ROASTER_SYS_PS1
fi
unset ROASTER_RVE_ENV
unset R_HOME_USER
unset R_PROFILE_USER
unset R_LIBS_USER
unset R_HISTFILE
if [[ ! "${1-}" = "nondestructive" ]]; then
unset -f deactivate
fi
}
# update packages
function rve-update {
Rscript -e "update.packages(ask=F)"
}
# freeze packages/libraries
function rve-freeze {
Rscript -e "write(unname(installed.packages(.Library)[,1]),'~/requirements.txt')"
}
# install packages/libraries
function rve-install {
if [[ -f "$1" ]]; then
Rscript -e "install.packages(pkgs=readLines('$1'), ask=F)"
else
echo "Use: rve-install requirements.txt"
fi
}
# unset irrelevant variables
deactivate nondestructive
# set env variables
ROASTER_RVE_ENV="$HOME/RVE"
export ROASTER_RVE_ENV
ROASTER_SYS_HOME="$HOME"
HOME="$HOME/RVE"
export HOME && cd
R_HOME_USER="$HOME/workspace"
export R_HOME_USER
R_PROFILE_USER="$HOME/.Rprofile"
export R_PROFILE_USER
R_LIBS_USER="$HOME/lib/R/library"
export R_LIBS_USER
R_HISTFILE="$HOME/.Rhistory"
export R_HISTFILE
ROASTER_SYS_PATH="$PATH"
PATH="$ROASTER_RVE_ENV/bin:$PATH"
export PATH
# set bash prompt
ROASTER_SYS_PS1="${PS1-}"
if [ "x" != x ] ; then
PS1="${PS1-}"
else
PS1="(`basename \"$ROASTER_RVE_ENV\"`) ${PS1-}"
fi
export PS1
# reset commands history
if [[ -n "${BASH-}" ]]; then
hash -r 2>/dev/null
fi