Programster's Blog

Tutorials focusing on Linux, programming, and open-source

Xubuntu 22.04 Setup Desktop Script

Below is the script I execute after having performed a fresh installation of Xubuntu Desktop 20.04.

#!/bin/bash

# Update the system
sudo apt update && sudo apt dist-upgrade -y

# Remove nano and parole (installing vim and vlc/mpv later)
sudo apt-get remove nano parole -y


sudo apt install -y \
  byobu vim curl htop nmap nload pydf ncdu sysstat sshfs p7zip expect tcl-expect \
  xclip nfs-common openjdk-19-jdk psensor openvpn engrampa xscreensaver-gl \
  aria2 axel \
  git rabbitvcs-cli \
  php8.1-cli php8.1-curl php8.1-xml php8.1-mysql php8.1-yaml composer \
  postgresql-client-common postgresql-client-14 mariadb-client-core-10.6 \
  clamav clamav-daemon \
  typecatcher fonts-firacode \
  caja nemo mate-calc terminator gedit figlet gparted \
  cheese filezilla seafile-gui chromium-browser virt-manager \
  simplescreenrecorder ksnip gimp ristretto inkscape \
  mplayer ffmpeg mpv vlc mediainfo kazam \
  system-config-printer hplip hplip-gui simple-scan


# Install shutter
#sudo add-apt-repository ppa:linuxuprising/shutter -y
#sudo apt update
#sudo apt install shutter -y


# Install papirus icon theme
# https://www.omgubuntu.co.uk/best-icon-themes-ubuntu
sudo add-apt-repository ppa:papirus/papirus -y \
  && sudo apt update  \
  && sudo apt install papirus-icon-theme -y


# Install sublime 3 PPA
sudo curl -fsSL https://download.sublimetext.com/sublimehq-pub.gpg | sudo gpg --dearmor -o /usr/share/keyrings/sublime.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/sublime.gpg] https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
sudo apt update
sudo apt install sublime-text -y


# Install discord. There is a snap, but that will have issues with uploading images.
sudo apt update \
  && sudo apt install -y gdebi-core wget \
  && wget -O ~/discord.deb "https://discordapp.com/api/download?platform=linux&format=deb" \
  && sudo gdebi ~/discord.deb -y


# Install draw.io diagramming tool.
sudo snap install drawio


# Install prog-exec
wget https://raw.githubusercontent.com/programster/prog-exec/master/prog-exec
chmod +x prog-exec
sudo mv -i prog-exec /bin/.


# Install node
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - \
  && sudo apt-get install -y nodejs -y


# Install Less through Node
sudo npm install -g less


# Install Sass
sudo apt update &&
  sudo apt install build-essential && \
  sudo apt install -y ruby-full rubygems && \
  sudo gem install sass


# Install libreoffice from PPA
sudo add-apt-repository ppa:libreoffice/ppa -y \
  && sudo apt update \
  && sudo apt install libreoffice -y


# Install prog-exec
wget https://raw.githubusercontent.com/programster/prog-exec/master/prog-exec
chmod +x prog-exec
sudo mv prog-exec /bin/.


# Install spotify through deb package, because snaps suck
KEY_URL="https://download.spotify.com/debian/pubkey_5E3C45D7B312C643.gpg" \
  && curl -sS $KEY_URL | sudo apt-key add - \
  && echo "deb http://repository.spotify.com stable non-free" \
  | sudo tee /etc/apt/sources.list.d/spotify.list \
  && sudo apt update \
  && sudo apt install spotify-client -y


# install chromium browser through snaps (annoying)
sudo snap install chromium -y


# install terraform from PPA
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - \
  && sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" \
  && sudo apt-get update && sudo apt-get install terraform -y


# Add steps to install docker
# here


# Add step to set nemo as default
# file browser


# @TODO - Set keyboard shortcuts
# -  super-q -  terminator
# - super - e  thunar
# - shutter shortcuts
Last updated: 12th August 2023
First published: 26th February 2023