# ISO Installer Configuration { config, lib, pkgs, modulesPath, inputs, ... }: { imports = [ "${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix" "${modulesPath}/installer/cd-dvd/channel.nix" ]; # ISO naming isoImage.isoName = "nomarchy-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso"; isoImage.volumeID = "NOMARCHY"; # Boot settings - use LTS kernel for ISO stability boot.kernelPackages = pkgs.linuxPackages; # Disable ZFS (broken with latest kernels) boot.supportedFilesystems = lib.mkForce ["btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" "ext4"]; # Limine bootloader for ISO (commented out until properly configured) # boot.loader.limine.enable = true; # Enable SSH for headless installs services.openssh = { enable = true; settings.PermitRootLogin = "yes"; }; # Networking networking = { hostName = "nomarchy-installer"; networkmanager.enable = true; wireless.enable = lib.mkForce false; }; # Installer environment packages environment.systemPackages = with pkgs; [ # Disk partitioning parted gptfdisk dosfstools cryptsetup # Filesystem tools e2fsprogs btrfs-progs ntfs3g # Network networkmanager wpa_supplicant # TUI dialog newt # provides whiptail # Utilities vim git curl wget jq # NixOS installation nixos-install-tools ]; # Auto-login to installer services.getty.autologinUser = "nixos"; # Welcome message environment.etc."motd".text = '' ╔═══════════════════════════════════════════════════════════╗ ║ ║ ║ Welcome to the Nomarchy Installer ║ ║ ║ ║ Run 'nomarchy-install' to begin installation ║ ║ ║ ║ For more information: https://github.com/blu/nomarchy ║ ║ ║ ╚═══════════════════════════════════════════════════════════╝ ''; # Copy installer script system.activationScripts.installer = '' mkdir -p /usr/local/bin cat > /usr/local/bin/nomarchy-install << 'INSTALLER' #!/usr/bin/env bash # Nomarchy ISO Installer - coming soon echo "ISO installer not yet implemented." echo "Please use the NixOS manual installation process," echo "then run: nix run github:blu/nomarchy" INSTALLER chmod +x /usr/local/bin/nomarchy-install ''; # User account users.users.nixos = { isNormalUser = true; extraGroups = ["wheel" "networkmanager"]; initialPassword = "nomarchy"; }; # Allow passwordless sudo security.sudo.wheelNeedsPassword = false; # System state version system.stateVersion = "24.11"; }