Skip to content

v0.2.0: Go TUI Installer

Choose a tag to compare

@timlinux timlinux released this 04 Feb 08:40
· 85 commits to main since this release
5f23091

What's New

This is a major release that replaces the bash installer script with a polished interactive Go TUI wizard and overhauls the documentation and ISO build process.

Go TUI Installer

The centrepiece of this release is a brand-new terminal installer built with bubbletea and lipgloss:

  • Wizard-style interface with step indicators, two-column layout, and rounded borders
  • Animated splash screen with fire particle transition and figlet ASCII title
  • Pre-rendered mascot logo — no GUI dependencies needed on the ISO
  • 13-step wizard: username, full name, email, password, hostname, disk selection, ZFS encryption passphrase, locale, keyboard layout, summary, and confirmation
  • Password masking with * characters for all sensitive fields
  • Secure password storage — passwords hashed with mkpasswd -m sha-512 for NixOS hashedPassword (no more changeme default)
  • ZFS encryption passphrase collected in the wizard and piped to disko's stdin
  • Detailed logging to /tmp/tuinix-install.log for diagnostics
  • Subtle styling — off-white text with colour used sparingly for emphasis

Console Keymap Fix

  • console.keyMap now correctly maps to Linux console keymap names (e.g. pt-latin1, br-abnt2, de-latin1)
  • services.xserver.xkb.layout uses the separate X11 layout code
  • Previously, both used the short code which caused loadkeys to fail for non-US layouts like Portuguese

System Improvements

  • boot.consoleLogLevel = 3 suppresses noisy kernel messages (e.g. TTM buffer eviction) from bleeding into the terminal
  • vim and git included as system packages in the generated host config
  • scripts/rebuild.sh updated with generation cleanup and garbage collection (modelled after nix-config)
  • X11/Wayland completely stripped from the installer ISO — terminal only
  • ISO welcome screen clears the terminal before displaying the mascot and instructions

Documentation Overhaul

  • All references updated to sudo installer (replacing install.sh and tuinix-installer)
  • Wizard steps documented with password and passphrase collection
  • Post-install guide updated for the new password-set-during-install workflow
  • README updated with rebuild script references and Go TUI installer description
  • MkDocs site restructured with improved navigation and styling

Installation

  1. Download the ISO below
  2. Flash to a USB drive:
    sudo dd if=tuinix.v1.iso of=/dev/sdX bs=4M status=progress oflag=sync
    Or use balenaEtcher / Ventoy
  3. Boot from USB (UEFI required, Secure Boot disabled)
  4. Run the installer:
    sudo installer

Requirements

Resource Minimum Recommended
CPU x86_64 Modern x86_64
RAM 4 GB 8 GB+
Storage 20 GB 50 GB+ SSD
Boot mode UEFI UEFI
Internet Required Required

Full Changelog

Full changelog: v0.1.0...v0.2.0

For detailed installation instructions, see the documentation.