From db173011d1eb2fe5926de5bdcc194016087c0d7b Mon Sep 17 00:00:00 2001 From: konrad Date: Fri, 8 May 2026 05:05:04 +0000 Subject: [PATCH] fix: MBR partitioning for SeaBIOS, pull all config from Gitea --- install.sh | 63 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/install.sh b/install.sh index 05b9284..b7f69f8 100644 --- a/install.sh +++ b/install.sh @@ -1,37 +1,50 @@ -#!/bin/bash -# NixOS Proxmox VM one-shot install — paste into NixOS minimal ISO console +#!/usr/bin/env bash +# NixOS Dev VM — one-shot install for Proxmox + SeaBIOS (BIOS/MBR) +# Run from the NixOS minimal ISO live shell as root. set -euo pipefail -echo "=== NixOS Dev VM Install ===" +DISK=/dev/sda +GITEA="https://gitea.klhoud.com/konrad/nixos-dev-vm/raw/branch/main" -# 1. Partition + format -parted /dev/sda -- mklabel gpt -parted /dev/sda -- mkpart primary 512MiB -8GiB -parted /dev/sda -- mkpart primary linux-swap -8GiB 100% -parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB -parted /dev/sda -- set 3 esp on +echo "╔══════════════════════════════════════════╗" +echo "║ NixOS Dev VM Install — klhoud.com ║" +echo "╚══════════════════════════════════════════╝" +echo -mkfs.ext4 -L nixos /dev/sda1 -mkswap -L swap /dev/sda2 -mkfs.fat -F 32 -n boot /dev/sda3 +# ── 1. Partition (MBR/BIOS) ──────────────────────────────────────────────── +echo "[1/5] Partitioning ${DISK}..." +parted "${DISK}" -- mklabel msdos +parted "${DISK}" -- mkpart primary ext4 1MiB -4GiB +parted "${DISK}" -- mkpart primary linux-swap -4GiB 100% +parted "${DISK}" -- set 1 boot on -# 2. Mount +# ── 2. Format ────────────────────────────────────────────────────────────── +echo "[2/5] Formatting..." +mkfs.ext4 -L nixos "${DISK}1" +mkswap -L swap "${DISK}2" + +# ── 3. Mount ─────────────────────────────────────────────────────────────── +echo "[3/5] Mounting..." mount /dev/disk/by-label/nixos /mnt -mkdir -p /mnt/boot -mount /dev/disk/by-label/boot /mnt/boot -swapon /dev/sda2 +swapon "${DISK}2" -# 3. Generate hardware config +# ── 4. Place config ──────────────────────────────────────────────────────── +echo "[4/5] Fetching config from Gitea..." nixos-generate-config --root /mnt -# 4. Clone config repo -git clone https://gitea.klhoud.com/konrad/nixos-dev-vm.git /tmp/nixos-dev-vm -cp /tmp/nixos-dev-vm/flake.nix /tmp/nixos-dev-vm/configuration.nix /tmp/nixos-dev-vm/home.nix /mnt/etc/nixos/ -cp /mnt/etc/nixos/hardware-configuration.nix /mnt/etc/nixos/hardware-configuration.nix.generated +curl -fsSL "${GITEA}/configuration.nix" -o /mnt/etc/nixos/configuration.nix +curl -fsSL "${GITEA}/flake.nix" -o /mnt/etc/nixos/flake.nix +curl -fsSL "${GITEA}/home.nix" -o /mnt/etc/nixos/home.nix +# Keep the generated hardware-configuration.nix -# 5. Install! +# ── 5. Install ───────────────────────────────────────────────────────────── +echo "[5/5] Installing NixOS (this takes a while)..." nixos-install --flake /mnt/etc/nixos#nixos-dev --no-root-passwd -echo "=== Done! ===" -echo "Reboot: reboot" -echo "Then: ssh konrad@ (default password: changeme)" +echo +echo "╔══════════════════════════════════════════╗" +echo "║ Done! ✓ ║" +echo "╚══════════════════════════════════════════╝" +echo "Reboot with: reboot" +echo "Then SSH: ssh konrad@" +ip addr show | grep "inet " | grep -v 127 || true