-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path01_shrc.sh
More file actions
executable file
·176 lines (149 loc) · 5.84 KB
/
01_shrc.sh
File metadata and controls
executable file
·176 lines (149 loc) · 5.84 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
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
#!/bin/bash
set -e
if [[ "$EUID" == 0 ]]; then
echo "Please run as normal user (w/o sudo)"
exit
fi
term_color_red () {
echo -e "\e[91m"
}
term_color_white () {
echo -e "\e[39m"
}
confirmation (){
term_color_red
echo ""
echo "Update .shrc"
echo "Do you want to update? (y/n)"
echo ""
term_color_white
echo
read -n 1 ans
echo
if [[ ! $ans == "y" ]]; then
echo
exit 1
fi
}
update (){
term_color_red
echo ""
echo "Update"
echo ""
term_color_white
rm -rf /home/$LOGNAME/.shrc
cat shrc >> /home/$LOGNAME/.shrc
chown $LOGNAME:$LOGNAME /home/$LOGNAME/.shrc
SHRC=$(cat /home/$LOGNAME/.bashrc | grep "\\.shrc" | wc -l)
if [[ ! $SHRC == "1" ]]; then
echo "" >> /home/$LOGNAME/.bashrc
echo "source /home/$LOGNAME/.shrc" >> /home/$LOGNAME/.bashrc
source /home/$LOGNAME/.bashrc
fi
}
configure_runcom(){
term_color_red
echo ""
echo "Activate extra runcoms"
echo ""
term_color_white
# Neovim
if [[ -f /usr/bin/nvim ]]; then
echo "Activate Neovim"
sed -i '/#NVIM_0/c\export PATH=\$PATH:$HOME/.tools' /home/$LOGNAME/.shrc
fi
# Go
if [[ -f /usr/local/go/bin/go ]]; then
echo "Activate Go"
sed -i '/#GO_0/c\export GOROOT=\/usr\/local\/go' /home/$LOGNAME/.shrc
sed -i '/#GO_1/c\export GOPATH=\$HOME\/go' /home/$LOGNAME/.shrc
sed -i '/#GO_2/c\export PATH=$PATH:\$GOROOT/bin:\$GOPATH/bin' /home/$LOGNAME/.shrc
sed -i '/#GO_3/c\export DELVE_EDITOR=nvim' /home/$LOGNAME/.shrc
fi
# Flutter
if [[ -f /home/$LOGNAME/flutter/bin/flutter ]]; then
echo "Activate Flutter"
sed -i '/#FLUTTER_0/c\export PATH=\$PATH:\$HOME\/flutter\/bin' /home/$LOGNAME/.shrc
sed -i '/#FLUTTER_1/c\export PATH=\$PATH:\$HOME\/flutter\/bin\/cache\/dart-sdk\/bin' /home/$LOGNAME/.shrc
sed -i '/#FLUTTER_2/c\export PATH=\$PATH:\$HOME\/flutter\/.pub-cache\/bin' /home/$LOGNAME/.shrc
sed -i '/#FLUTTER_3/c\export PATH=\$PATH:\$HOME\/repo\/flutter\/bin' /home/$LOGNAME/.shrc # embedded
fi
# Rust
if [[ -f /home/$LOGNAME/.cargo/bin/cargo ]]; then
echo "Activate Rust"
sed -i '/#RUST_0/c\export PATH=\$PATH:$HOME/.cargo/bin' /home/$LOGNAME/.shrc
fi
# AWS cli
if [[ -f /usr/local/bin/aws ]]; then
echo "Activate AWS CLI"
sed -i '/#AWS_0/c\\t\texport PATH=\$PATH:\/usr\/local\/bin' /home/$LOGNAME/.shrc
sed -i '/#AWS_1/c\\t\tautoload bashcompinit && bashcompinit' /home/$LOGNAME/.shrc
sed -i '/#AWS_2/c\\t\tautoload -Uz compinit && compinit' /home/$LOGNAME/.shrc
sed -i '/#AWS_3/c\\t\tcomplete -C \"\/usr\/local\/bin\/aws_completer\" aws' /home/$LOGNAME/.shrc
fi
# Android if exists
if [[ -d /home/$LOGNAME/Android ]]; then
echo "Activate Android SDK"
sed -i "/#ANDROID_0/c\export JAVA_HOME=\$HOME\/Android\/android-studio\/jre" "/home/$LOGNAME/.shrc"
sed -i '/#ANDROID_1/c\export PATH=\$JAVA_HOME\/bin:\$PATH' /home/$LOGNAME/.shrc
sed -i '/#ANDROID_2/c\export PATH=\$HOME\/Android\/android-studio\/bin:\$PATH' /home/$LOGNAME/.shrc
sed -i '/#ANDROID_3/c\export ANDROID_SDK_ROOT=\$HOME\/Android' /home/$LOGNAME/.shrc
sed -i '/#ANDROID_4/c\export PATH=\$HOME\/Android\/cmdline-tools\/latest\/bin:\$PATH' /home/$LOGNAME/.shrc
sed -i '/#ANDROID_5/c\export PATH=\$HOME\/Android\/platform-tools:\$PATH' /home/$LOGNAME/.shrc
fi
# ASDF if exists
if [[ -d /home/$LOGNAME/.asdf ]]; then
echo "Activate ASDF"
# sed -i '/#ASDF_0/c\\t. $HOME\/.asdf\/asdf.sh' /home/$LOGNAME/.shrc
# sed -i '/#ASDF_1/c\\tfpath=($HOME\/.asdf\/completions $fpath)' /home/$LOGNAME/.shrc
# sed -i '/#ASDF_2/c\\tautoload -Uz compinit && compinit' /home/$LOGNAME/.shrc
sed -i '/#ASDF_0/c\\texport PATH=${ASDF_DATA_DIR:-$HOME\/.asdf}\/shims:$PATH' $HOME/.shrc
sed -i '/#ASDF_1/c\\tfpath=($HOME\/.asdf\/completions $fpath)' $HOME/.shrc
sed -i '/#ASDF_2/c\\tautoload -Uz compinit && compinit' $HOME/.shrc
mkdir -p "${ASDF_DATA_DIR:-$HOME/.asdf}/completions"
asdf completion zsh > "${ASDF_DATA_DIR:-$HOME/.asdf}/completions/_asdf"
fi
# ERL/erl args if exists
if [[ -d /home/$LOGNAME/.asdf/shims/erl ]]; then
echo "Activate ERL args"
sed -i '/#ERL_0/c\export ERL_AFLAGS=\"+pc unicode -kernel shell_history enabled\"' /home/$LOGNAME/.shrc
fi
# Flyctl if exists
if [[ -f /home/$LOGNAME/.fly/bin/flyctl ]]; then
echo "Activate flyctl"
sed -i '/#FLYCTL_0/c\export FLYCTL_INSTALL="\/home\/$LOGNAME\/.fly"' /home/$LOGNAME/.shrc
sed -i '/#FLYCTL_1/c\export PATH="$FLYCTL_INSTALL\/bin:$PATH"' /home/$LOGNAME/.shrc
fi
# Zig if exists
if [[ -f /home/$LOGNAME/zig/zig ]]; then
echo "Activate Zig"
sed -i '/\#ZIG_0/c\export PATH=$PATH:\/home\/$LOGNAME\/zig' /home/$LOGNAME/.shrc
fi
# Terraform if exists
if [[ -f /usr/local/bin/terraform ]]; then
echo "Activate Terraform auto-completion"
sed -i '/#TERRAFORM_0/c\\tautoload -U +X bashcompinit && bashcompinit' /home/$LOGNAME/.shrc
sed -i '/#TERRAFORM_1/c\\tcomplete -o nospace -C \/usr\/local\/bin\/terraform terraform' /home/$LOGNAME/.shrc
fi
# k8s if exists
if [[ -f /usr/local/bin/kubectl ]]; then
echo "Reconfigure kube_editor"
sed -i '/#KUBE_EDITOR/c\export KUBE_EDITOR=nv' /home/$LOGNAME/.shrc
fi
}
post (){
term_color_red
echo
echo "Done"
echo "- Restart terminal"
echo "- If SwayWM, run the gnome keyring script again"
echo "- If SwayWM, uncomment the keychain part of the .shrc and the personal dotenv repo"
echo "- Check at the end of the shrc and the .env file"
echo
term_color_white
}
trap term_color_white EXIT
confirmation
update
configure_runcom
post