From d69cdfdfefa06176a60a6663b80b5a6c7ea1ff27 Mon Sep 17 00:00:00 2001 From: naturallaw77 Date: Sat, 28 Mar 2026 08:47:35 -0500 Subject: [PATCH] added robust iso --- configuration.nix | 2 + flake.nix | 18 ++++-- iso.nix | 22 ------- iso/g42.png | Bin 0 -> 2012293 bytes iso/iso_branding.nix | 11 ++++ iso/iso_common.nix | 48 ++++++++++++++ iso/iso_desktop.nix | 5 ++ iso/iso_installer.sh | 127 +++++++++++++++++++++++++++++++++++++ iso/iso_plymouth-theme.nix | 44 +++++++++++++ iso/iso_server.nix | 5 ++ 10 files changed, 255 insertions(+), 27 deletions(-) delete mode 100644 iso.nix create mode 100755 iso/g42.png create mode 100644 iso/iso_branding.nix create mode 100644 iso/iso_common.nix create mode 100644 iso/iso_desktop.nix create mode 100644 iso/iso_installer.sh create mode 100644 iso/iso_plymouth-theme.nix create mode 100644 iso/iso_server.nix diff --git a/configuration.nix b/configuration.nix index d90b42c..2b01d9a 100644 --- a/configuration.nix +++ b/configuration.nix @@ -3,6 +3,8 @@ { imports = [ ./modules/modules.nix + ./custom.nix + ./iso/branding.nix ]; # ── Boot ──────────────────────────────────────────────────── diff --git a/flake.nix b/flake.nix index 9f48648..eacf571 100755 --- a/flake.nix +++ b/flake.nix @@ -27,13 +27,21 @@ ]; }; - nixosConfigurations.sovran-iso = nixpkgs.lib.nixosSystem { + nixosConfigurations.sovran-iso-desktop = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ - ({ config, pkgs, ... }: { - nixpkgs.overlays = [ overlay-stable ]; - }) - ./iso.nix + ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-stable ]; }) + ./iso/desktop.nix + nix-bitcoin.nixosModules.default + nixvim.nixosModules.nixvim + ]; + }; + + nixosConfigurations.sovran-iso-server = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-stable ]; }) + ./iso/server.nix nix-bitcoin.nixosModules.default nixvim.nixosModules.nixvim ]; diff --git a/iso.nix b/iso.nix deleted file mode 100644 index 8bf6fe0..0000000 --- a/iso.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ config, pkgs, lib, ... }: - -{ - imports = [ - # Base ISO profile - "${pkgs.path}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" - - # Your full system config + modules - ./configuration.nix - ]; - - # ISO tweaks - isoImage.isoName = "Sovran_SystemsOS.iso"; - - # Convenience: enable SSH in live ISO - services.openssh.enable = true; - services.openssh.settings.PermitRootLogin = "yes"; - services.openssh.settings.PasswordAuthentication = true; - - # Optional: default password for ISO login only - users.users.nixos.password = "nixos"; -} \ No newline at end of file diff --git a/iso/g42.png b/iso/g42.png new file mode 100755 index 0000000000000000000000000000000000000000..788d6d099da84ea394d703928cdd22deb980217f GIT binary patch literal 2012293 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�P_5dsuvbXdYhPmCMH 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 literal 0 HcmV?d00001 diff --git a/iso/iso_branding.nix b/iso/iso_branding.nix new file mode 100644 index 0000000..1028bdf --- /dev/null +++ b/iso/iso_branding.nix @@ -0,0 +1,11 @@ +{ config, pkgs, lib, ... }: + +let + theme = pkgs.callPackage ./plymouth-theme.nix {}; +in +{ + boot.plymouth.enable = true; + boot.plymouth.theme = "sovran"; + boot.plymouth.themePackages = [ theme ]; + boot.kernelParams = [ "quiet" "splash" ]; +} \ No newline at end of file diff --git a/iso/iso_common.nix b/iso/iso_common.nix new file mode 100644 index 0000000..835b41d --- /dev/null +++ b/iso/iso_common.nix @@ -0,0 +1,48 @@ +{ config, pkgs, lib, ... }: + +let + sovranSource = builtins.path { path = ../.; name = "sovran-systemsos"; }; + installer = pkgs.writeShellScriptBin "sovran-install" (builtins.readFile ./installer.sh); +in +{ + imports = [ + "${pkgs.path}/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix" + ./branding.nix + ]; + + isoImage.isoName = "Sovran_SystemsOS.iso"; + + users.users.free = { + isNormalUser = true; + description = "free"; + extraGroups = [ "wheel" "networkmanager" ]; + initialPassword = "free"; + }; + + services.displayManager.autoLogin.enable = true; + services.displayManager.autoLogin.user = "free"; + + environment.systemPackages = with pkgs; [ + installer + zenity + util-linux + parted + dosfstools + e2fsprogs + gptfdisk + nixos-install-tools + git + curl + ]; + + environment.etc."sovran/flake".source = sovranSource; + + environment.etc."xdg/autostart/sovran-installer.desktop".text = '' + [Desktop Entry] + Type=Application + Name=Sovran Guided Installer + Exec=${installer}/bin/sovran-install + Terminal=false + X-GNOME-Autostart-enabled=true + ''; +} \ No newline at end of file diff --git a/iso/iso_desktop.nix b/iso/iso_desktop.nix new file mode 100644 index 0000000..b604b4c --- /dev/null +++ b/iso/iso_desktop.nix @@ -0,0 +1,5 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [ ./common.nix ]; +} \ No newline at end of file diff --git a/iso/iso_installer.sh b/iso/iso_installer.sh new file mode 100644 index 0000000..9653a59 --- /dev/null +++ b/iso/iso_installer.sh @@ -0,0 +1,127 @@ +#!/usr/bin/env bash +set -euo pipefail + +LOG=/tmp/sovran-install.log +exec > >(tee -a "$LOG") 2>&1 + +export PATH=/run/current-system/sw/bin:$PATH + +BYTES_4TB=$((4 * 1024 * 1024 * 1024 * 1024)) + +human_size() { + numfmt --to=iec --suffix=B "$1" +} + +zenity --info --width=500 --text="Sovran SystemsOS Installer\n\nWARNING:\nThis installer will ERASE ALL DATA on selected disks.\n\nPress OK to continue." + +mapfile -t DISKS < <(lsblk -b -dno NAME,SIZE,TYPE | awk '$3=="disk"{print $1":"$2}') +if [ "${#DISKS[@]}" -eq 0 ]; then + zenity --error --text="No disks found." + exit 1 +fi + +IFS=$'\n' DISKS_SORTED=($(printf "%s\n" "${DISKS[@]}" | sort -t: -k2,2n)) +unset IFS + +BOOT_DISK="${DISKS_SORTED[0]%%:*}" +BOOT_SIZE="${DISKS_SORTED[0]##*:}" + +DATA_DISK="" +DATA_SIZE="" + +if [ "${#DISKS_SORTED[@]}" -ge 2 ]; then + DATA_DISK="${DISKS_SORTED[-1]%%:*}" + DATA_SIZE="${DISKS_SORTED[-1]##*:}" +fi + +if [ -n "$DATA_DISK" ] && [ "$DATA_SIZE" -lt "$BYTES_4TB" ]; then + zenity --warning --width=500 --text="Second disk detected (${DATA_DISK}), but it is smaller than 4TB.\n\nIt will NOT be used." + DATA_DISK="" + DATA_SIZE="" +fi + +SUMMARY="Boot disk: /dev/${BOOT_DISK} ($(human_size "$BOOT_SIZE"))" +if [ -n "$DATA_DISK" ]; then + SUMMARY="${SUMMARY}\nData disk: /dev/${DATA_DISK} ($(human_size "$DATA_SIZE"))" +else + SUMMARY="${SUMMARY}\nData disk: none" +fi + +ROLE=$(zenity --list --radiolist --width=500 --height=250 \ + --title="Choose Install Role" \ + --column="" --column="Role" \ + TRUE "Server-Desktop (default)" \ + FALSE "Desktop" \ + FALSE "Node (Bitcoin-only)" || true) + +if [ -z "$ROLE" ]; then + ROLE="Server-Desktop (default)" +fi + +CONFIRM=$(zenity --entry --width=500 --text="WARNING: This will ERASE ALL DATA on:\n\n${SUMMARY}\n\nType ERASE to continue.") +if [ "$CONFIRM" != "ERASE" ]; then + zenity --error --text="Install cancelled." + exit 1 +fi + +BOOT_PATH="/dev/${BOOT_DISK}" +PART_SUFFIX="" +if [[ "$BOOT_DISK" =~ ^(nvme|mmcblk) ]]; then + PART_SUFFIX="p" +fi + +parted --script "$BOOT_PATH" mklabel gpt +parted --script "$BOOT_PATH" mkpart ESP fat32 1MiB 512MiB +parted --script "$BOOT_PATH" set 1 esp on +parted --script "$BOOT_PATH" mkpart primary ext4 512MiB 100% + +partprobe "$BOOT_PATH" +udevadm settle + +mkfs.fat -F 32 -n boot "${BOOT_PATH}${PART_SUFFIX}1" +mkfs.ext4 -F -L sovran_systemsos "${BOOT_PATH}${PART_SUFFIX}2" + +if [ -n "$DATA_DISK" ]; then + DATA_PATH="/dev/${DATA_DISK}" + part_suffix_data="" + if [[ "$DATA_DISK" =~ ^(nvme|mmcblk) ]]; then + part_suffix_data="p" + fi + + parted --script "$DATA_PATH" mklabel gpt + parted --script "$DATA_PATH" mkpart primary ext4 1MiB 100% + partprobe "$DATA_PATH" + udevadm settle + mkfs.ext4 -F -L BTCEcoandBackup "${DATA_PATH}${part_suffix_data}1" +fi + +mkdir -p /mnt +mount /dev/disk/by-label/sovran_systemsos /mnt +mkdir -p /mnt/boot/efi +mount /dev/disk/by-label/boot /mnt/boot/efi + +if [ -n "$DATA_DISK" ]; then + mkdir -p /mnt/run/media/Second_Drive + mount /dev/disk/by-label/BTCEcoandBackup /mnt/run/media/Second_Drive +fi + +nixos-generate-config --root /mnt + +cp /mnt/etc/nixos/hardware-configuration.nix /tmp/hardware-configuration.nix +rm -rf /mnt/etc/nixos/* +cp -a /etc/sovran/flake/* /mnt/etc/nixos/ +cp /tmp/hardware-configuration.nix /mnt/etc/nixos/hardware-configuration.nix + +cat > /mnt/etc/nixos/custom.nix < $out/share/plymouth/themes/sovran/sovran.plymouth <<'EOF' +[Plymouth Theme] +Name=Sovran Systems +Description=Sovran Systems Splash +ModuleName=script + +[script] +ImageDir=/share/plymouth/themes/sovran +ScriptFile=/share/plymouth/themes/sovran/sovran.script +EOF + + cat > $out/share/plymouth/themes/sovran/sovran.script <<'EOF' +# Background color: #CFFFD7 (RGB 207,255,215) +bg_r = 207/255.0 +bg_g = 255/255.0 +bg_b = 215/255.0 + +Window.SetBackgroundTopColor (bg_r, bg_g, bg_b); +Window.SetBackgroundBottomColor (bg_r, bg_g, bg_b); + +logo = Image("logo.png"); +logo_sprite = Sprite(logo); +logo_sprite.SetX((Window.GetWidth() - logo.GetWidth()) / 2); +logo_sprite.SetY((Window.GetHeight() - logo.GetHeight()) / 2); + +spinner = Sprite(); +spinner.SetImage(Spinner()); +spinner.SetX((Window.GetWidth() - spinner.GetImage().GetWidth()) / 2); +spinner.SetY((Window.GetHeight() + logo.GetHeight()) / 2 + 20); +EOF + ''; +} \ No newline at end of file diff --git a/iso/iso_server.nix b/iso/iso_server.nix new file mode 100644 index 0000000..b604b4c --- /dev/null +++ b/iso/iso_server.nix @@ -0,0 +1,5 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [ ./common.nix ]; +} \ No newline at end of file