#!/usr/bin/env bash
# Run as your normal user (not with sudo), from a terminal inside the
# remote desktop session - NOT over SSH - so Docker Desktop can open.
set -e

# Firefox
sudo snap install firefox

# Docker
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker "$USER"

# VS Code
sudo snap install code --classic

# Node (via nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
export NVM_DIR="$HOME/.nvm"
. "$NVM_DIR/nvm.sh"
nvm install node

# KVM (needed by Docker Desktop)
if grep -q vmx /proc/cpuinfo; then KVM=kvm_intel; else KVM=kvm_amd; fi
sudo modprobe "$KVM"
echo "$KVM" | sudo tee /etc/modules-load.d/kvm.conf > /dev/null   # load on every boot
sudo usermod -aG kvm "$USER"
sudo apt-get install -y acl
sudo setfacl -m u:"$USER":rw /dev/kvm   # access now, without logging out first

# Docker Desktop
curl -fL -o /tmp/docker-desktop.deb https://desktop.docker.com/linux/main/amd64/docker-desktop-amd64.deb
sudo apt-get install -y /tmp/docker-desktop.deb

if [ -n "$DISPLAY" ] || [ -n "$WAYLAND_DISPLAY" ]; then
  systemctl --user start docker-desktop
  echo "Done. Docker Desktop is starting."
else
  echo "Done, but no desktop session found (are you on SSH?)."
  echo "Connect via remote desktop and run: systemctl --user start docker-desktop"
fi
