-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquickz.sh
executable file
·158 lines (127 loc) · 6.18 KB
/
quickz.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
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
#!/bin/bash
if command -v zsh &> /dev/null && command -v git &> /dev/null && command -v wget &> /dev/null; then
echo -e "ZSH and Git are already installed\n"
else
if sudo apt install -y zsh git wget curl|| sudo pacman -S zsh git wget || sudo dnf install -y zsh git wget || sudo yum install -y zsh git wget || brew install git zsh wget || pkg install git zsh wget ; then
echo -e "zsh wget curl and git Installed\n"
else
echo -e "Please install the following packages first, then try again: zsh git wget \n" && exit
fi
fi
if mv -n ~/.zshrc ~/.zshrc-backup-$(date +"%Y-%m-%d"); then # backup .zshrc
echo -e "Backed up the current .zshrc to .zshrc-backup-date\n"
fi
echo -e "Installing oh-my-zsh\n"
if [ -d ~/.oh-my-zsh ]; then
echo -e "oh-my-zsh is already installed\n"
else
git clone --depth=1 git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
fi
cp -f .zshrc ~/
cp -f .p10k.zsh ~/
mkdir -p ~/.quickzsh # external plugins, things, will be instlled in here
if nano --version | grep 2.0.6; then
brew install nano
hash -r
fi
if [ -d ~/.nano ]; then
echo -e "nano syntax highlighting already installed\n"
else
wget https://raw.githubusercontent.com/scopatz/nanorc/master/install.sh -O- | sh
fi
if [ -d ~/.oh-my-zsh/plugins/zsh-autosuggestions ]; then
cd ~/.oh-my-zsh/plugins/zsh-autosuggestions && git pull
else
git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions
fi
if [ -d ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting ]; then
cd ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting && git pull
else
git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
fi
if [ -d ~/.oh-my-zsh/custom/plugins/zsh-completions ]; then
cd ~/.oh-my-zsh/custom/plugins/zsh-completions && git pull
else
git clone --depth=1 https://github.com/zsh-users/zsh-completions ~/.oh-my-zsh/custom/plugins/zsh-completions
fi
if [ -d ~/.oh-my-zsh/custom/plugins/zsh-history-substring-search ]; then
cd ~/.oh-my-zsh/custom/plugins/zsh-history-substring-search && git pull
else
git clone --depth=1 https://github.com/zsh-users/zsh-history-substring-search ~/.oh-my-zsh/custom/plugins/zsh-history-substring-search
fi
brew install thefuck
# INSTALL FONTS
echo -e "Installing Meslo Nerd Fonts"
wget -q --show-progress -N https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf -P ~/.fonts/
wget -q --show-progress -N https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf -P ~/.fonts/
wget -q --show-progress -N https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf -P ~/.fonts/
wget -q --show-progress -N https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf -P ~/.fonts/
fc-cache -fv ~/.fonts
if [ -d ~/.oh-my-zsh/custom/themes/powerlevel10k ]; then
cd ~/.oh-my-zsh/custom/themes/powerlevel10k && git pull
else
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k
fi
if [ -d ~/.quickzsh/fzf ]; then
cd ~/.quickzsh/fzf && git pull
~/.quickzsh/fzf/install --all --key-bindings --completion --no-update-rc --64
else
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.quickzsh/fzf
~/.quickzsh/fzf/install --all --key-bindings --completion --no-update-rc --64
fi
if [ -d ~/.oh-my-zsh/custom/plugins/k ]; then
cd ~/.oh-my-zsh/custom/plugins/k && git pull
else
git clone --depth 1 https://github.com/supercrabtree/k ~/.oh-my-zsh/custom/plugins/k
fi
if [ -d ~/.quickzsh/marker ]; then
cd ~/.quickzsh/marker && git pull
else
git clone --depth 1 https://github.com/pindexis/marker ~/.quickzsh/marker
fi
if ~/.quickzsh/marker/install.py; then
echo -e "Installed Marker\n"
else
echo -e "Marker Installation Had Issues\n"
fi
# if git clone --depth 1 https://github.com/todotxt/todo.txt-cli.git ~/.quickzsh/todo; then :
# else
# cd ~/.quickzsh/todo && git fetch --all && git reset --hard origin/master
# fi
# mkdir ~/.quickzsh/todo/bin ; cp -f ~/.quickzsh/todo/todo.sh ~/.quickzsh/todo/bin/todo.sh # cp todo.sh to ./bin so only it is included in $PATH
# #touch ~/.todo/config # needs it, otherwise spits error , yeah a bug in todo
# ln -s ~/.quickzsh/todo ~/.todo
if [ ! -L ~/.quickzsh/todo/bin/todo.sh ]; then
echo -e "Installing todo.sh in ~/.quickzsh/todo\n"
mkdir -p ~/.quickzsh/todo/bin
wget -q --show-progress "https://github.com/todotxt/todo.txt-cli/releases/download/v2.11.0/todo.txt_cli-2.11.0.tar.gz" -P ~/.quickzsh/
tar xvf ~/.quickzsh/todo.txt_cli-2.11.0.tar.gz -C ~/.quickzsh/todo --strip 1 && rm ~/.quickzsh/todo.txt_cli-2.11.0.tar.gz
ln -s ~/.quickzsh/todo/todo.sh ~/.quickzsh/todo/bin/todo.sh # so only .../bin is included in $PATH
ln -s ~/.quickzsh/todo/todo.cfg ~/.todo.cfg # it expects it there or ~/todo.cfg or ~/.todo/config
else
echo -e "todo.sh is already instlled in ~/.quickzsh/todo/bin/\n"
fi
if [[ $1 == "--cp-hist" ]] || [[ $1 == "-c" ]]; then
echo -e "\nCopying bash_history to zsh_history\n"
if command -v python &>/dev/null; then
wget -q --show-progress https://gist.githubusercontent.com/muendelezaji/c14722ab66b505a49861b8a74e52b274/raw/49f0fb7f661bdf794742257f58950d209dd6cb62/bash-to-zsh-hist.py
cat ~/.bash_history | python bash-to-zsh-hist.py >> ~/.zsh_history
else
if command -v python3 &>/dev/null; then
wget -q --show-progress https://gist.githubusercontent.com/muendelezaji/c14722ab66b505a49861b8a74e52b274/raw/49f0fb7f661bdf794742257f58950d209dd6cb62/bash-to-zsh-hist.py
cat ~/.bash_history | python3 bash-to-zsh-hist.py >> ~/.zsh_history
else
echo "Python is not installed, can't copy bash_history to zsh_history\n"
fi
fi
else
echo -e "\nNot copying bash_history to zsh_history, as --cp-hist or -c is not supplied\n"
fi
# source ~/.zshrc
echo -e "\nSudo access is needed to change default shell\n"
if chsh -s $(which zsh) && /bin/zsh -i -c upgrade_oh_my_zsh; then
echo -e "Installation Successful, exit terminal and enter a new session"
else
echo -e "Something is wrong"
fi
exit