codeburn/desktop/Scripts/autoinstall/user-data
Resham Joshi 9d4da7c0fd feat(desktop): Linux provisioner script + optional unattended autoinstall
desktop/Scripts/provision-linux.sh: one-shot apt + Node 20 + Rust stable
+ codeburn CLI + repo clone + npm install. Leaves the user one command
away from `npm run tauri dev`.

desktop/Scripts/autoinstall/: cloud-init user-data + meta-data plus a
README for building the CIDATA ISO. Mount that ISO alongside the Ubuntu
Server ISO in UTM and the installer runs without any prompts. Default
test credentials codeburn/codeburn; README calls out changing them for
non-throwaway VMs.
2026-04-17 18:11:03 -07:00

57 lines
2 KiB
Text

#cloud-config
# Ubuntu 24.04 LTS Server autoinstall configuration for a CodeBurn desktop dev VM. Mount this
# file as a second virtual disk (CIDATA volume) alongside the Ubuntu Server ISO in UTM and
# the installer runs unattended end to end. Default login: codeburn / codeburn. Change the
# identity block before running in any environment that matters.
autoinstall:
version: 1
# Accept the EULA-style prompts without user input.
refresh-installer:
update: yes
locale: en_US.UTF-8
keyboard:
layout: us
# Wire up a default user. Password is `codeburn`; hash generated with `openssl passwd -6`.
# Regenerate the hash if you care about the credentials outside of a throwaway VM.
identity:
hostname: codeburn-linux
username: codeburn
password: "$6$rounds=4096$JrKVZcJ2$F93p8IWyTlZR5p1Trmno/qCnhYI1BnbUUYdf6HsiD.XW4T0I3JtvzH40nWNy9Z1CcJ2X5C6RuzK0bj9WM3x/n."
ssh:
install-server: yes
allow-pw: yes
# Install GNOME + the build dependencies Tauri needs so the first login is already ready
# to run `npm run tauri dev` without another apt round trip.
packages:
- ubuntu-desktop-minimal
- build-essential
- curl
- wget
- file
- git
- libwebkit2gtk-4.1-dev
- libayatana-appindicator3-dev
- librsvg2-dev
- libssl-dev
- libxdo-dev
- libgtk-3-dev
- pkg-config
# Run the provisioner as the new user on first boot. It installs Node + Rust, pulls the
# repo, and runs `npm install` for the desktop app. After the script finishes, logging in
# to GNOME and running `cd ~/codeburn/desktop && npm run tauri dev` brings the tray up.
late-commands:
- curtin in-target --target=/target -- bash -lc '
sudo -iu codeburn bash -lc "
curl -fsSL https://raw.githubusercontent.com/AgentSeal/codeburn/feat/tauri-menubar-win-linux/desktop/Scripts/provision-linux.sh \
-o /home/codeburn/provision.sh
chmod +x /home/codeburn/provision.sh
"
'
shutdown: reboot