This repository has been archived by the owner on Feb 18, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathinstall-ubuntu.sh
executable file
·151 lines (126 loc) · 4.52 KB
/
install-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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#!/bin/bash
SCRIPT=`realpath -s $0`
SCRIPTPATH=`dirname $SCRIPT`
# Ensure apt is set up to work with https sources
sudo apt-get install --reinstall apt-transport-https ca-certificates curl gnupg lsb-release
# Add docker repo
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Add Sublime repo
curl -fsSL https://download.sublimetext.com/sublimehq-pub.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/sublimehq-pub.gpg
echo "deb [trusted=yes] https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
# Add NordVpn repo
curl -fsSL https://repo.nordvpn.com/gpg/nordvpn_public.asc | sudo gpg --dearmor -o /etc/apt/keyrings/nordvpn.gpg
echo "deb https://repo.nordvpn.com/deb/nordvpn/debian stable main" | sudo tee /etc/apt/sources.list.d/nordvpn.list
# Add Spotify repo
curl -fsSL https://download.spotify.com/debian/pubkey_0D811D58.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/spotify.gpg
echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list
packagelist=(
gnome-session
gnome-tweaks
# Applications
nordvpn
keepassxc
chromium-browser
evolution
steam
spotify-client
# Media
ubuntu-restricted-extras
vlc
# Development
sublime-text
build-essential
gettext
virtualbox
vagrant
meld
dbeaver-ce
# Docker
docker-ce
docker-ce-cli
containerd.io
docker-compose-plugin
# KVM (for minikube)
bridge-utils
cpu-checker
libvirt-clients
libvirt-daemon
libvirt-daemon-system
qemu
qemu-kvm
# Postgresql
postgresql
postgresql-contrib
# Rabbitmq server
rabbitmq-server
# Python
python3
python3-pip
python3-dev
python3-setuptools
python3-wheel
python3-cffi
# Pyenv
libssl-dev
zlib1g-dev
libbz2-dev
libreadline-dev
libsqlite3-dev
wget
curl
llvm
libncursesw5-dev
xz-utils
tk-dev
libxml2-dev
libxmlsec1-dev
libffi-dev
liblzma-dev
)
sudo apt-get update
sudo apt-get install --assume-yes ${packagelist[@]}
# install kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
# Install minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube completion bash | sudo tee /etc/bash_completion.d/minikube > /dev/null
sudo usermod -aG libvirt $USER
minikube config set driver kvm2
# Install pipx for installing python application in own inverionment
pip3 install --user pipx
pipx install black isort
# Install pyenv
if [ ! -d "$HOME/.pyenv" ]
then
echo "Install pyenv"
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
git clone https://github.com/jawshooah/pyenv-default-packages.git ~/.pyenv/plugins/pyenv-default-packages
echo "ipdb" >> ~/.pyenv/default-packages
cd ~/.pyenv && src/configure && make -C src
cd $SCRIPTPATH
fi
# Setup postgresql
sudo runuser postgres -c "psql -c \"CREATE ROLE $(whoami) LOGIN SUPERUSER PASSWORD '$(whoami)';\""
# Install gnome shell extensions
echo "Install gnome shell extensions"
$SCRIPTPATH/install/install-gnome-extension.sh "[email protected]"
$SCRIPTPATH/install/install-gnome-extension.sh "gnordvpn-local@isopolito"
$SCRIPTPATH/install/install-gnome-extension.sh "[email protected]"
$SCRIPTPATH/install/install-gnome-extension.sh "[email protected]"
$SCRIPTPATH/install/install-gnome-extension.sh "[email protected]"
$SCRIPTPATH/install/install-gnome-extension.sh "[email protected]"
$SCRIPTPATH/install/install-gnome-extension.sh "[email protected]"
$SCRIPTPATH/install/install-gnome-extension.sh "Resource_Monitor@Ory0n"
$SCRIPTPATH/install/install-gnome-extension.sh "[email protected]"
$SCRIPTPATH/install/install-gnome-extension.sh "[email protected]"
# Import dconf
echo "Import Gnome dconf settings"
dconf load / < $SCRIPTPATH/install/dconf.export
# Create symlinks
echo "Create symlinks"
python3 $SCRIPTPATH/files/create_symlinks.py
echo "restart required"