- Migrate VM and graphical ISO to home-manager.nixosModules.home-manager; drop the standalone-HM sudo-based activation script (ran HM against /root because HOME wasn't reset) in flake.nix, core/system/vm-guest.nix, hosts/live-iso.nix. - Run swaybg as nomarchy-wallpaper.service instead of a silent Hyprland exec-once so failures surface in systemctl. - Skip the battery monitor unit on hosts without /sys/class/power_supply/BAT* (VMs, desktops). - Don't wrap walker --dmenu in uwsm-app; redirect setsid background std-fds in nomarchy-launch-walker so $(menu ...) in nomarchy-menu doesn't hang. - Restart waybar/walker via systemctl --user rather than pkill + uwsm-app to stop the post-theme-switch color race. - Wire nomarchy-restart-walker/-waybar into nomarchy-theme-set so themes that only change the imported CSS reload correctly. - Waybar: pin #custom-nomarchy to the Nomarchy font and use the U+F000 codepoint so the logo shows across all themes. - Auto-install the correct icon-theme package per palette via a new nomarchyLib.iconThemePackage helper in lib/default.nix; Everforest now actually renders for summer-night. - Pre-cache every theme's HM generation: new packages.allThemeVariants flake output and nomarchy-themes-prebuild script so theme switches are cache-only (no Stylix rebuild, no downloads). - Add nomarchy-test-live-iso to boot the graphical ISO in QEMU the same way nomarchy-test-vm does, with virtio-gpu support added to live-iso.nix. - Installer-generated home.nix/system.nix now ship a curated, commented app menu (btop/fastfetch/chromium on by default) plus optional system services (Docker, libvirtd, Tailscale, Syncthing, Flatpak, Steam). - nomarchy-test-vm now wipes the stale nomarchy.qcow2 before launch. - Remove obsolete GEMINI.md and PLAN.md. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
48 lines
1.4 KiB
Bash
Executable File
48 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Build the Nomarchy graphical live ISO and boot it in QEMU for a
|
|
# try-before-install experience. The ISO is the `installerIsoGraphical`
|
|
# NixOS configuration — same Nomarchy system + Home Manager stack as
|
|
# `nomarchy-test-vm`, just wrapped in an installable live medium.
|
|
|
|
set -e
|
|
|
|
echo "Building Nomarchy Live ISO..."
|
|
nix build .#nixosConfigurations.installerIsoGraphical.config.system.build.isoImage
|
|
|
|
ISO=$(ls -1 result/iso/*.iso 2>/dev/null | head -n 1)
|
|
if [ -z "$ISO" ]; then
|
|
echo "Error: ISO build succeeded but no .iso file found in result/iso/"
|
|
exit 1
|
|
fi
|
|
|
|
# Prefer UEFI with OVMF so the ISO boots the same way a modern install does.
|
|
# Fall back to BIOS if OVMF isn't available on this host.
|
|
OVMF_CANDIDATES=(
|
|
"/run/current-system/sw/share/OVMF/OVMF_CODE.fd"
|
|
"/run/current-system/sw/share/qemu/edk2-x86_64-code.fd"
|
|
"/nix/var/nix/profiles/system/sw/share/OVMF/OVMF_CODE.fd"
|
|
)
|
|
BIOS_ARG=()
|
|
for c in "${OVMF_CANDIDATES[@]}"; do
|
|
if [ -f "$c" ]; then
|
|
BIOS_ARG=(-bios "$c")
|
|
break
|
|
fi
|
|
done
|
|
|
|
# KVM if the host supports it; software emulation otherwise.
|
|
ACCEL_ARG=()
|
|
if [ -r /dev/kvm ]; then
|
|
ACCEL_ARG=(-enable-kvm -cpu host)
|
|
fi
|
|
|
|
echo "Launching ISO: $ISO"
|
|
exec qemu-system-x86_64 \
|
|
"${ACCEL_ARG[@]}" \
|
|
-m 4096 -smp 2 \
|
|
"${BIOS_ARG[@]}" \
|
|
-device virtio-vga-gl -display gtk,gl=on \
|
|
-device virtio-net-pci,netdev=n0 -netdev user,id=n0 \
|
|
-cdrom "$ISO" -boot d
|