-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinstall_linux.sh
executable file
·121 lines (99 loc) · 6.65 KB
/
install_linux.sh
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
#!/usr/bin/env bash
trap "exit" INT
red=$'\e[1;31m'
grn=$'\e[1;32m'
yel=$'\e[1;33m'
blu=$'\e[1;34m'
mag=$'\e[1;35m'
cyn=$'\e[1;36m'
end=$'\e[0m'
# from https://stackoverflow.com/questions/4774054/reliable-way-for-a-bash-script-to-get-the-full-path-to-itself
SCRIPTPATH="$(
cd "$(dirname "$0")" >/dev/null 2>&1
pwd -P
)"
SCRIPT_PATH=$(dirname $(realpath -s $0))
# Check command availability
function has_command() {
command -v $1 >/dev/null
}
# if running as root user then set current user as sudo user (only if sudo_user is there)
if [ "$EUID" -ne 0 ] && [ -n "${SUDO_USER}" ]; then
export $USER=$SUDO_USER
export $HOME=USER_HOME=$(getent passwd $SUDO_USER | cut -d: -f6)
fi
echo -e "
░██████╗░█████╗░░█████╗░██╗░░░██╗███╗░░██╗ ░██████╗░█████╗░███╗░░██╗░██████╗░
██╔════╝██╔══██╗██╔══██╗██║░░░██║████╗░██║ ██╔════╝██╔══██╗████╗░██║██╔════╝░
╚█████╗░███████║███████║╚██╗░██╔╝██╔██╗██║ ╚█████╗░██║░░██║██╔██╗██║██║░░██╗░
░╚═══██╗██╔══██║██╔══██║░╚████╔╝░██║╚████║ ░╚═══██╗██║░░██║██║╚████║██║░░╚██╗
██████╔╝██║░░██║██║░░██║░░╚██╔╝░░██║░╚███║ ██████╔╝╚█████╔╝██║░╚███║╚██████╔╝
╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝░░░╚═╝░░░╚═╝░░╚══╝ ╚═════╝░░╚════╝░╚═╝░░╚══╝░╚═════╝░
██████╗░░█████╗░░██╗░░░░░░░██╗███╗░░██╗██╗░░░░░░█████╗░░█████╗░██████╗░███████╗██████╗░
██╔══██╗██╔══██╗░██║░░██╗░░██║████╗░██║██║░░░░░██╔══██╗██╔══██╗██╔══██╗██╔════╝██╔══██╗
██║░░██║██║░░██║░╚██╗████╗██╔╝██╔██╗██║██║░░░░░██║░░██║███████║██║░░██║█████╗░░██████╔╝
██║░░██║██║░░██║░░████╔═████║░██║╚████║██║░░░░░██║░░██║██╔══██║██║░░██║██╔══╝░░██╔══██╗
██████╔╝╚█████╔╝░░╚██╔╝░╚██╔╝░██║░╚███║███████╗╚█████╔╝██║░░██║██████╔╝███████╗██║░░██║
╚═════╝░░╚════╝░░░░╚═╝░░░╚═╝░░╚═╝░░╚══╝╚══════╝░╚════╝░╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝
- By Hritwik Singhal
"
printf "\n\n ${grn} Installing git, python3, pipenv ${end} "
if has_command apt; then
apt update -y
apt install git python3 python3-pip pipenv -y
elif has_command pacman; then
pacman -S git python3 python-pip python-pipenv --noconfirm --needed
fi
python3 -m keyring --disable
printf "\n\n ${grn} Cloning Repo ${end} "
if [ -d $HOME/Clipboard-saavn-song-downloader/ ]; then
cd $HOME/Clipboard-saavn-song-downloader/ || exit
git add . && git stash
git reset HEAD~20 --hard && git pull -f
chown -R $USER:$USER ./* .
else
git clone --depth 1 -b master https://github.com/HritwikSinghal/Clipboard-saavn-song-downloader $HOME/Clipboard-saavn-song-downloader/
cd $HOME/Clipboard-saavn-song-downloader/ || exit
chown -R $USER:$USER ./* .
fi
printf "\n\n ${grn} Installing xclip, gpaste ${end} "
if has_command apt; then
apt install xclip gpaste -y
elif has_command pacman; then
pacman -S xclip gpaste --noconfirm --needed
fi
#printf "\n\n ${grn} Installing Xsel, Xclip, wl-clipboard, gpaste ${end} "
#if has_command apt; then
# apt install xsel xclip wl-clipboard gpaste -y
#elif has_command pacman; then
# pacman -S xsel xclip wl-clipboard gpaste --noconfirm --needed
#fi
printf "\n\n ${grn} Installing pyenv ${end} "
if ! has_command pyenv; then
if has_command apt; then
curl https://pyenv.run | bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >>$HOME/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >>$HOME/.bashrc
echo 'eval "$(pyenv init -)"' >>$HOME/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >>$HOME/.bashrc
elif has_command pacman; then
pacman -S pyenv --noconfirm --needed
fi
fi
printf "\n ${grn} ------------------------------------------------- ${end} "
cd $HOME/Clipboard-saavn-song-downloader/ || exit
chmod +x ./clipboard-saavn-song-downloader.py || exit
echo "cd $HOME/Clipboard-saavn-song-downloader/" > /usr/local/bin/saavn-downloader
echo "pipenv install" >>/usr/local/bin/saavn-downloader
echo "pipenv run ./clipboard-saavn-song-downloader.py" >>/usr/local/bin/saavn-downloader
chmod +x /usr/local/bin/saavn-downloader
#ln -sf $HOME/Clipboard-saavn-song-downloader/clipboard-saavn-song-downloader.py /usr/local/bin/saavn-downloader
echo -e "
██████╗░░█████╗░███╗░░██╗███████╗
██╔══██╗██╔══██╗████╗░██║██╔════╝
██║░░██║██║░░██║██╔██╗██║█████╗░░
██║░░██║██║░░██║██║╚████║██╔══╝░░
██████╔╝╚█████╔╝██║░╚███║███████╗
╚═════╝░░╚════╝░╚═╝░░╚══╝╚══════╝
"
printf "\n\n All done. Just Type ${grn}saavn-downloader${end} from terminal to launch the program.\n\n"