#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 gtk-common-themes
    - install snap-store
    - install snapd-desktop-integration

runcmd:
  # 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 purge btrfs-progs cryptsetup* lvm2 xfsprogs

  # Remove other packages present by default in Ubuntu Server but not
  # normally present in Ubuntu Desktop.
  - >-
    apt-get -y purge
      ubuntu-server ubuntu-server-minimal netplan.io cloud-init
      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

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

write_files:
  # Setup shared directory
  - path: /etc/fstab
    append: true
    content: |
      0a31bc478ef8e2461a4b1cc10a24cc4 /home/user/Projects/apparmor.d  virtiofs defaults  0  1

  - path: /etc/systemd/network/20-wired.network
    owner: "root:root"
    permissions: "0644"
    content: |
      [Match]
      Name=en*

      [Network]
      DHCP=yes

      [DHCPv4]
      RouteMetric=10
