Last active
November 24, 2021 18:54
-
-
Save ntorga/cc2dcdab857a4a8fa09a8093850babd4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# The script will perform most of the steps, however, you must edit a few settings manually AFTER running the script: | |
# | |
# 1) Enable "Large Text" on Accessibility menu; | |
# | |
# 2) Settings => Keyboard => App Shortcuts => Add "/usr/bin/flameshot gui" => Print Screen => Keep Flameshot. | |
# | |
# 3) Configure AutoSSH for proxies. | |
# | |
# 4) Configure hourly backup. | |
# | |
# 5) Install NVIDIA drivers. | |
# | |
# 6) AutoKey: | |
# a) Edit -> Preferences -> Enable "Automatically start AutoKey at login"; | |
# b) Select both "Backslash" and "Pipe" and click on Save; | |
# | |
# update system | |
sudo apt update && sudo apt upgrade -y | |
# remove default apps and install better ones | |
cd ~/ | |
sudo apt remove -y pidgin* thunderbird* ristretto* xfburn remmina | |
sudo apt install -y vlc shotwell ubuntu-restricted-extras | |
sudo apt install -y byobu exfat-fuse exfat-utils | |
# install pulseaudio-bt | |
sudo apt install -y pulseaudio-module-bluetooth bluez-tools | |
sudo systemctl enable bluetooth | |
# install basic softwares | |
sudo apt install -y flameshot default-jre kazam mtr vim curl git whois htop | |
sudo apt install -y filezilla autossh sshpass telnet traceroute | |
snaps=( "opera" "spotify" "zoom-client" "postman" "code --classic" ) | |
for snap in ${snaps[*]}; do | |
sudo snap install "${snap}" | |
done | |
extensions=( "ms-kubernetes-tools.vscode-kubernetes-tools" "hashicorp.terraform" "foxundermoon.shell-format" "timonwong.shellcheck" "ms-azuretools.vscode-docker" "dbaeumer.vscode-eslint" "bmewburn.vscode-intelephense-client" "hbenl.vscode-test-explorer" "recca0120.vscode-phpunit" "ms-python.python" "mubaidr.vuejs-extension-pack" "github.github-vscode-theme" "github.vscode-pull-request-github" ) | |
for ext in ${extensions[*]}; do | |
code --install-extension "${ext}" | |
done | |
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -O chrome.deb | |
sudo dpkg -i chrome.deb | |
sudo apt-get install -y -f | |
rm -f chrome.deb | |
sudo apt install -y \ | |
apt-transport-https \ | |
ca-certificates \ | |
gnupg-agent \ | |
software-properties-common | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - | |
sudo add-apt-repository \ | |
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \ | |
$(lsb_release -cs) \ | |
stable" | |
sudo apt update | |
sudo apt install -y docker-ce docker-ce-cli containerd.io | |
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
sudo chmod +x /usr/local/bin/docker-compose | |
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose | |
sudo groupadd docker | |
sudo usermod -aG docker ${USER} | |
sudo chmod 666 /var/run/docker.sock | |
# disable ipv6 and raise inotify limits | |
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee /etc/sysctl.conf | |
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee /etc/sysctl.conf | |
echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee /etc/sysctl.conf | |
echo "fs.inotify.max_user_watches=524288" | sudo tee /etc/sysctl.conf | |
sudo sysctl -p | |
# configure git | |
git config --global user.name "ntorga" | |
git config --global user.email [email protected] | |
# install aws cli, kubectl, terraform(-ls), waypoint, helm and aws-iam-authenticator | |
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" | |
unzip awscliv2.zip | |
sudo ./aws/install | |
rm -f awscliv2.zip | |
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 | |
rm -f kubectl | |
wget https://releases.hashicorp.com/terraform/0.14.8/terraform_0.14.8_linux_amd64.zip -O terraform.zip | |
unzip terraform.zip && rm -f terraform.zip | |
sudo install -o root -g root -m 0755 terraform /usr/local/bin/terraform | |
rm -f terraform | |
wget https://releases.hashicorp.com/terraform-ls/0.17.1/terraform-ls_0.17.1_linux_amd64.zip -O terraform-ls.zip | |
unzip terraform-ls.zip && rm -f terraform-ls.zip | |
sudo install -o root -g root -m 0755 terraform-ls /usr/local/bin/terraform-ls | |
rm -f terraform-ls | |
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash | |
curl -o aws-iam-authenticator https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/linux/amd64/aws-iam-authenticator | |
sudo install -o root -g root -m 0755 aws-iam-authenticator /usr/local/bin/aws-iam-authenticator | |
rm -f aws-iam-authenticator | |
curl -sS https://webinstall.dev/k9s | bash | |
sudo apt install -y python3-pip autokey-gtk | |
sudo apt install -y gnome-tweaks gnome-shell-extensions chrome-gnome-shell | |
# | |
# Make sure you copied from previous install the ~/.config/autokey, .ssh, .aws and .bin directories. | |
# Before pasting ~/.config/autokey from previous install, remove the current one so you don't end up | |
# with the defaults from AutoKey enabled which are useless. | |
# | |
wget "https://github.com/brunelli/gnome-shell-extension-installer/raw/master/gnome-shell-extension-installer" -O gnome-shell-extension-installer.sh | |
bash gnome-shell-extension-installer.sh 1160 # Dash To Panel | |
bash gnome-shell-extension-installer.sh 906 # Sound Input & Output Device Chooser | |
bash gnome-shell-extension-installer.sh 1401 # Bluetooth Quick Connect | |
bash gnome-shell-extension-installer.sh 1262 # Bing Wallpaper | |
bash gnome-shell-extension-installer.sh 3628 # ArcMenu | |
rm -f gnome-shell-extension-installer.sh | |
gsettings set org.gnome.shell.extensions.dash-to-dock dock-position TOP | |
gsettings set org.gnome.shell.extensions.dash-to-dock extend-height false | |
# | |
# After reboot, enable these extensions and configure them. | |
# |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment