codeburn/windows/Scripts/autoinstall/README.md
iamtoruk b199af182e windows: import the Tauri tray app as the Windows menubar
Brings the Tauri 2.x tray popover from #1022 onto main as windows/, mirroring
mac/. Product name, bundle identifier, and version line up with the macOS
menubar (org.agentseal.codeburn-menubar, 0.9.20); the crate is renamed off
"desktop" so it no longer collides with the Electron app in app/.

Linux (ksni) stays compiled and dev-usable but is documented as experimental:
gnome/ is the shipping Linux surface.

The five src/ CLI commits on that branch are dropped - they re-implement a
daily-bucketing fix main already carries.
2026-08-18 04:00:59 -07:00

2 KiB

Unattended Ubuntu install for the CodeBurn dev VM

This directory contains a cloud-init user-data + meta-data pair that tells the Ubuntu 24.04 Server installer to configure itself without any user prompts. After it finishes, you reboot into GNOME and run the one-line provisioner.

Default credentials in user-data: codeburn / codeburn. Change them before using anywhere that matters.

Build the CIDATA ISO (on your Mac)

cd windows/Scripts/autoinstall
hdiutil makehybrid -o codeburn-cidata.iso \
  -hfs -joliet -iso -default-volume-name CIDATA .

That produces codeburn-cidata.iso (around 2 KB) with the two YAML files at the root, labelled CIDATA.

Hook it into UTM

  1. Create the VM as usual (Virtualize → Linux → Ubuntu Server arm64 ISO).

  2. Before first boot, open the VM's Settings → DrivesNew Drive → pick RemovableImport, and select codeburn-cidata.iso.

  3. Boot. The Ubuntu installer auto-detects the CIDATA volume, reads the autoinstall config, and runs the install without prompts. Takes 15-20 minutes depending on disk speed.

  4. Reboot into the installed system, log in as codeburn, then:

    bash ~/provision.sh
    

    (The autoinstall drops the script to ~/provision.sh. It installs Rust + Node + the codeburn CLI, clones the repo, and sets up the windows/ npm deps.)

  5. cd ~/codeburn/windows && npm run tauri dev.

Why not automate the provisioner run too

cloud-init's late-commands runs in the installer environment, which doesn't have a GNOME session for the tray icon to land in. We deliberately stop short of running npm run tauri dev from within autoinstall so the tray shows up on your first real login instead of a detached systemd unit.

Skipping autoinstall

If you'd rather click through the Ubuntu installer normally, ignore this directory entirely. The provision-linux.sh script in the parent directory works the same way whether the OS was installed unattended or by hand.