if ! command -v gnome-shell-extension-manager &>/dev/null; then
	sudo apt install -y gnome-shell-extension-manager pipx
	pipx install gnome-extensions-cli --system-site-packages

	# Turn off default Ubuntu extensions
	gnome-extensions disable tiling-assistant@ubuntu.com
	gnome-extensions disable ubuntu-appindicators@ubuntu.com
	gnome-extensions disable ubuntu-dock@ubuntu.com
	gnome-extensions disable ding@rastersoft.com

	# Install new extensions
	# FIXME: Install these manually to avoid needing the pop-up confirmation during the installation process
	gext install tactile@lundal.io
	gext install just-perfection-desktop@just-perfection
	gext install blur-my-shell@aunetx
	gext install space-bar@luchrioh

	# Compile gsettings schemas in order to be able to set them
	sudo cp ~/.local/share/gnome-shell/extensions/tactile@lundal.io/schemas/org.gnome.shell.extensions.tactile.gschema.xml /usr/share/glib-2.0/schemas/
	sudo cp ~/.local/share/gnome-shell/extensions/just-perfection-desktop\@just-perfection/schemas/org.gnome.shell.extensions.just-perfection.gschema.xml /usr/share/glib-2.0/schemas/
	sudo cp ~/.local/share/gnome-shell/extensions/blur-my-shell\@aunetx/schemas/org.gnome.shell.extensions.blur-my-shell.gschema.xml /usr/share/glib-2.0/schemas/
	sudo cp ~/.local/share/gnome-shell/extensions/space-bar\@luchrioh/schemas/org.gnome.shell.extensions.space-bar.gschema.xml /usr/share/glib-2.0/schemas/
	sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

	# Configure Tactile
	gsettings set org.gnome.shell.extensions.tactile col-0 1
	gsettings set org.gnome.shell.extensions.tactile col-0 1
	gsettings set org.gnome.shell.extensions.tactile col-1 2
	gsettings set org.gnome.shell.extensions.tactile col-2 1
	gsettings set org.gnome.shell.extensions.tactile col-3 0
	gsettings set org.gnome.shell.extensions.tactile row-0 1
	gsettings set org.gnome.shell.extensions.tactile row-1 1

	# Configure Just Perfection
	gsettings set org.gnome.shell.extensions.just-perfection animation 2
	gsettings set org.gnome.shell.extensions.just-perfection dash-app-running true
	gsettings set org.gnome.shell.extensions.just-perfection workspace true
	gsettings set org.gnome.shell.extensions.just-perfection workspace-popup false

	# Configure Blur My Shell
	gsettings set org.gnome.shell.extensions.blur-my-shell.appfolder blur false
	gsettings set org.gnome.shell.extensions.blur-my-shell.lockscreen blur false
	gsettings set org.gnome.shell.extensions.blur-my-shell.screenshot blur false
	gsettings set org.gnome.shell.extensions.blur-my-shell.window-list blur false
	gsettings set org.gnome.shell.extensions.blur-my-shell.panel brightness 0.6
	gsettings set org.gnome.shell.extensions.blur-my-shell.panel sigma 30
	gsettings set org.gnome.shell.extensions.blur-my-shell.panel pipeline 'pipeline_default'
	gsettings set org.gnome.shell.extensions.blur-my-shell.overview blur true
	gsettings set org.gnome.shell.extensions.blur-my-shell.overview pipeline 'pipeline_default'
	gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock blur true
	gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock brightness 0.6
	gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock sigma 30
	gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock static-blur true
	gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock style-dash-to-dock 0

	# Configure Space Bar
	gsettings set org.gnome.shell.extensions.space-bar.behavior smart-workspace-names false
	gsettings set org.gnome.shell.extensions.space-bar.shortcuts enable-activate-workspace-shortcuts false
	gsettings set org.gnome.shell.extensions.space-bar.shortcuts open-menu "[]"
fi
