63 lines
1.5 KiB
Nix
63 lines
1.5 KiB
Nix
{ pkgs, lib, modulesPath, ... }:
|
|
|
|
{
|
|
# Minimal Live ISO base
|
|
imports = [
|
|
"${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
|
|
];
|
|
|
|
# ZFS and Storage tooling on Live ISO
|
|
boot.supportedFilesystems = [ "zfs" ];
|
|
boot.kernelPackages = pkgs.linuxPackages;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
zfs
|
|
parted
|
|
gptfdisk
|
|
e2fsprogs
|
|
dosfstools
|
|
smartmontools
|
|
curl
|
|
wget
|
|
git
|
|
jq
|
|
tmux
|
|
htop
|
|
btop
|
|
newt # Provides whiptail
|
|
dialog
|
|
];
|
|
|
|
# Automatically launch installer wizard on tty1
|
|
services.getty.autologinUser = lib.mkForce "root";
|
|
|
|
# Welcome banner and installer prompt in bash profile
|
|
environment.etc."issue".text = ''
|
|
========================================================
|
|
Welcome to NaxOS Installation Media
|
|
========================================================
|
|
To launch the interactive installer wizard, run:
|
|
naxos-installer
|
|
|
|
To inspect disks and ZFS pools manually:
|
|
lsblk
|
|
zpool import
|
|
========================================================
|
|
'';
|
|
|
|
# Link installer script into PATH
|
|
system.activationScripts.naxosInstallerScript = ''
|
|
cp -f ${./scripts/naxos-installer.sh} /usr/local/bin/naxos-installer || true
|
|
chmod +x /usr/local/bin/naxos-installer || true
|
|
'';
|
|
|
|
# ISO Image identification
|
|
isoImage.isoBaseName = "naxos-installer";
|
|
isoImage.volumeID = "NAXOS_INSTALL";
|
|
isoImage.makeEfiBootable = true;
|
|
isoImage.makeUsbBootable = true;
|
|
|
|
# State version
|
|
system.stateVersion = "26.05";
|
|
}
|