#cloud-config

# Based on https://github.com/canonical/autoinstall-desktop

hostname: ${hostname}
locale: en_IE
keyboard:
  layout: ie

ssh_pwauth: true
users:
  - name: ${username}
    plain_text_passwd: ${password}
    shell: /bin/bash
    ssh_authorized_keys:
      - ${ssh_key}
    lock_passwd: false
    sudo: ALL=(ALL) NOPASSWD:ALL

package_update: true
package_upgrade: true
package_reboot_if_required: false
packages:
  - ubuntu-desktop
  - linux-generic-hwe-22.04
  - qemu-guest-agent
  - spice-vdagent
  - terminator
  - apparmor-profiles
  - build-essential 
  - config-package-dev
  - debhelper
  - devscripts
  - golang-go
  - rsync

snap:
  commands:
    - install firefox
    - install gnome-3-38-2004
    - install gtk-common-themes
    - install snap-store
    - install snapd-desktop-integration

runcmd:

  # Let NetworkManager handle network
  - rm /etc/netplan/*
  - >-
    printf "network:\n  version: 2\n  renderer: NetworkManager" > /etc/netplan/01-network-manager.yaml

  # Remove default filesystem and related tools not used with the suggested
  # storage layout. These may yet be required if different partitioning schemes
  # are used.
  - apt-get -y remove btrfs-progs cryptsetup* lvm2 xfsprogs

  # Remove other packages present by default in Ubuntu Server but not
  # normally present in Ubuntu Desktop.
  - >-
    apt-get -y remove
      ubuntu-server ubuntu-server-minimal
      binutils byobu curl dmeventd finalrd gawk
      kpartx mdadm ncurses-term needrestart open-iscsi
      sg3-utils ssh-import-id sssd thin-provisioning-tools tmux
      sosreport screen open-vm-tools motd-news-config lxd-agent-loader
      landscape-common fonts-ubuntu-console ethtool

  # Keep cloud-init, as it performs some of the installation on first boot.
  - apt-get -y install cloud-init

  # Finally, remove things only installed as dependencies of other things
  # we have already removed.
  - apt-get -y autoremove