Created
October 28, 2023 11:33
-
-
Save amishakov/2b3caf65ffe1162c90fd6a85e4a2381a to your computer and use it in GitHub Desktop.
Ubuntu Desktop Deployment Script
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 | |
# Short URL: https://git.io/fjY3J | |
# | |
# ~ For Ubuntu 18.04 or newer ~ | |
# | |
# How to use: | |
# $ cd ~/Downloads | |
# $ wget -O bootstrap.sh https://git.io/fjY3J | |
# $ chmod +x bootstrap.sh | |
# $ sudo ./bootstrap.sh | |
# | |
# To Do: | |
# - Adapt for Fedora | |
# - Adapt for 32/64 bit versions | |
# - Add checks for minimum version allowed to be installed | |
# - Add installer for Nano Editor (latest version with syntax highlight/support) | |
source /etc/os-release | |
mkdir -p ~/Downloads/Apps/ | |
cd ~/Downloads/Apps/ | |
# Update system first | |
sudo apt -y update | |
sudo apt -y dist-upgrade | |
# Utilities | |
sudo apt -y install apache2-utils apt-transport-https aptitude bash-completion bc bmon bzip2 cron curl debconf-utils dialog dnsutils ethtool expect fancontrol git gnupg hddtemp htop httpie ifstat iftop ifupdown iotop iptables iptraf jpegoptim linux-tools-common linux-tools-generic lm-sensors lsb-release lzop make multitail nano net-tools nethogs optipng psensor psmisc rsync screenfetch shellcheck siege slurm smartmontools snapd snmp software-properties-common speedometer sudo sysstat tasksel tcptrack telnet tree unzip webp zip | |
sudo apt -y install asunder bleachbit dconf-editor gedit-plugins gedit-plugins-common gnome-shell-extensions gnome-tweaks gprename gthumb hollywood pwgen renrot | |
# === Apps === | |
sudo snap install alsa-utils cacher chromium coulr e-tools ffmpeg filebot fkill gifcurry gifski gimp glances gnome-system-monitor google-play-music-desktop-player gravit-designer handbrake-jz htop lepton matroska-tools notepadqq odio odrive-unofficial onlyoffice-desktopeditors opera pac-vs photoscape picard poedit polarr qownnotes raven-reader recollectr remmina remote-touchpad screencloud simplenote snap-store spotify termius-app vidcutter vlc | |
sudo snap install eclipse --classic | |
sudo snap install mackup --classic | |
sudo snap install node --channel=10/stable --classic | |
sudo snap install shotcut --classic | |
sudo snap install skype --channel=insider/stable --classic | |
sudo snap install snapcraft --classic | |
# Others to consider: | |
# disk-space-saver | |
# easy-disk-cleaner | |
# mkvtoolnix-jz (remove custom installer below first) | |
# rambox | |
# For developers: | |
# docker | |
# lxd | |
# microk8s | |
# netbeans --classic | |
# Configure GNOME | |
gsettings set org.gnome.shell enable-hot-corners true | |
gsettings set org.gnome.shell.extensions.dash-to-dock extend-height false | |
gsettings set org.gnome.shell.extensions.dash-to-dock dock-position BOTTOM | |
# Flatpak | |
sudo add-apt-repository -y ppa:alexlarsson/flatpak | |
sudo apt -y update | |
sudo apt -y install flatpak | |
sudo apt -y install gnome-software-plugin-flatpak | |
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |
# Flatpak Apps | |
#flatpak install -y flathub com.calibre_ebook.calibre | |
flatpak install -y flathub com.github.muriloventuroso.easyssh | |
flatpak install -y flathub com.viber.Viber | |
#flatpak install -y flathub org.gabmus.hydrapaper | |
# Using PyPi | |
sudo pip install -y glances youtube-dlg | |
# === Single Apps === | |
# Brave | |
curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add - | |
echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list | |
sudo apt update | |
sudo apt install brave-browser | |
# MKVtoolnix - https://mkvtoolnix.download/downloads.html#ubuntu | |
wget -q -O - https://mkvtoolnix.download/gpg-pub-moritzbunkus.txt | sudo apt-key add - | |
sudo cat > "/etc/apt/sources.list.d/mkvtoolnix.list" <<EOF | |
deb https://mkvtoolnix.download/ubuntu/ $UBUNTU_CODENAME main | |
deb-src https://mkvtoolnix.download/ubuntu/ $UBUNTU_CODENAME main | |
EOF | |
sudo apt -y update | |
sudo apt -y install mkvtoolnix mkvtoolnix-gui | |
# Chrome | |
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - | |
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/googlechrome.list' | |
sudo apt -y update | |
sudo apt -y install google-chrome-stable chrome-gnome-shell | |
# cd ~/Downloads/Apps/ | |
# wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb | |
# sudo dpkg -i google-chrome-stable_current_amd64.deb | |
# TeamViewer | |
wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb | |
sudo dpkg -i teamviewer_amd64.deb | |
# SublimeText | |
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - | |
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list | |
sudo apt-get update | |
sudo apt-get install sublime-text | |
# VSCode | |
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg | |
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ | |
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' | |
sudo apt update | |
sudo apt install code # or code-insiders | |
# Atom | |
wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add - | |
sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list' | |
sudo apt-get update | |
sudo apt-get install atom | |
# === Single Apps That Require Version Updating === | |
# Boostnote | |
BOOSTNOTE_VERSION="0.16.1" | |
wget -O boostnote_$BOOSTNOTE_VERSION_amd64.deb https://github.com/BoostIO/boost-releases/releases/download/v$BOOSTNOTE_VERSION/boostnote_$BOOSTNOTE_VERSION_amd64.deb | |
sudo dpkg -i boostnote_$BOOSTNOTE_VERSION_amd64.deb | |
# Dropbox | |
DROPBOX_VERSION="2020.03.04" | |
wget -O dropbox_$DROPBOX_VERSION_amd64.deb https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_$DROPBOX_VERSION_amd64.deb | |
sudo dpkg -i dropbox_$DROPBOX_VERSION_amd64.deb | |
# Github Desktop | |
GITHUB_DESKTOP_VERSION="2.6.1-linux2" | |
wget -O GitHubDesktop-linux-$GITHUB_DESKTOP_VERSION.deb https://github.com/shiftkey/desktop/releases/download/release-$GITHUB_DESKTOP_VERSION/GitHubDesktop-linux-$GITHUB_DESKTOP_VERSION.deb | |
sudo dpkg -i GitHubDesktop-linux-$GITHUB_DESKTOP_VERSION.deb | |
# === Finish === | |
sudo apt -y autoremove | |
# === Path Aliases === | |
sudo ln -s /home /Users | |
# === /etc/sysctl.conf Tweaks === | |
# For VS Code: https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc | |
sudo sh -c 'echo "fs.inotify.max_user_watches=524288" >> /etc/sysctl.conf' | |
sudo sysctl -p | |
sudo apt-get -y autoremove | |
echo "" | |
echo "" | |
echo " === Installation Completed === " | |
echo "" | |
echo "" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment