-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathprovision-ubuntu.sh
127 lines (106 loc) · 3.59 KB
/
provision-ubuntu.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
#!/usr/bin/env bash
echo "Installing packages"
sudo apt update -y
sudo apt install -y \
git curl btop \
docker.io \
libu2f-udev \
build-essential pkg-config autoconf \
openfortivpn \
xautolock \
gnome-shell-extension-manager
echo "Installing Postman"
if command -v snap &>/dev/null
then
sudo snap install --classic postman
else
flatpak install flathub com.getpostman.Postman
fi
echo "Installing Skype"
if command -v snap &>/dev/null
then
sudo snap install --classic skype
else
flatpak install flathub com.skype.Client
fi
echo "Installing google-chrome"
cd ~/Downloads
wget -nc https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install -y ./google-chrome-stable_current_amd64.deb
cd -
echo "Installing Code"
cd ~/Downloads
wget -nc -O vscode.deb -c 'https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64'
sudo apt install -y ./vscode.deb
echo "Installing Go Compiler"
sudo add-apt-repository -y ppa:longsleep/golang-backports
sudo apt update
sudo apt install -y golang-go
# .local/bin
mkdir -p ~/.local/bin
# Setup git aliases
echo "Setting up git"
git config --global user.email '[email protected]'
git config --global user.name 'amirrezaask'
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global pull.rebase true
# Setup Docker
echo "Add user to docker group (needs restart to become effective)"
sudo usermod -aG docker ${USER}
echo "Setting up Nekoray"
cd ~/Downloads
wget -O nekoray.deb -c "https://github.com/MatsuriDayo/nekoray/releases/download/3.26/nekoray-3.26-2023-12-09-debian-x64.deb"
sudo apt install -y ./nekoray.deb
cd -
echo "Installing Neovim"
sudo add-apt-repository ppa:neovim-ppa/unstable -y
sudo apt update
sudo apt install -y make gcc ripgrep unzip git xclip neovim
echo "Installing Fish"
sudo apt install -y fish
chsh -s $(which fish)
echo "Installing Alacritty"
sudo add-apt-repository ppa:aslatter/ppa -y
sudo apt update
sudo apt install -y alacritty
echo "Installing Zellij"
cd ~/Downloads
wget -O zellij.tar.gz -c 'https://github.com/zellij-org/zellij/releases/download/v0.40.1/zellij-x86_64-unknown-linux-musl.tar.gz'
tar -xf zellij.tar.gz
chmod +x ./zellij
mv zellij ~/.local/bin
cd ~
echo "Installing kubectl/openshift client"
cd ~/Downloads
wget -O oc.tar.gz -c 'https://github.com/okd-project/okd/releases/download/4.15.0-0.okd-2024-03-10-010116/openshift-client-linux-4.15.0-0.okd-2024-03-10-010116.tar.gz'
mkdir oc
tar -xf oc.tar.gz -C ./oc/
mv ./oc/oc $HOME/.local/bin/oc
mv ./oc/kubectl $HOME/.local/bin/kubectl
rm -rf oc
echo "Installing Fonts"
mkdir -p ~/.local/share/fonts
cd ~/Downloads
wget -O CascadiaCode.zip 'https://github.com/microsoft/cascadia-code/releases/download/v2404.23/CascadiaCode-2404.23.zip'
unzip CascadiaCode.zip -d CascadiaFont
cp CascadiaFont/*.ttf ~/.local/share/fonts
rm -rf CascadiaCode.zip CascadiaFont
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FiraMono.zip
unzip FiraMono.zip -d FiraMono
cp FiraMono/*.otf ~/.local/share/fonts
rm -rf FiraMono.zip FiraMono
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip
unzip JetBrainsMono.zip -d JetBrainsMono
cp JetBrainsMono/*.ttf ~/.local/share/fonts
rm -rf JetBrainsMono.zip JetBrainsMono
echo "Linking Dotfiles"
mkdir -p ~/w
cd ~/w
git clone --depth 1 https://github.com/amirrezaask/dotfiles
make -f ~/w/dotfiles/Makefile install
echo 'export GOPATH="$HOME/go"' >> ~/.bashrc
echo 'export PATH="$PATH:$GOPATH/bin"' >> ~/.bashrc
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc