49 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  git,
 | 
						|
  nix-output-monitor,
 | 
						|
  gum,
 | 
						|
  writeShellApplication,
 | 
						|
}:
 | 
						|
writeShellApplication
 | 
						|
{
 | 
						|
  name = "install-nix-no-inhibit";
 | 
						|
 | 
						|
  runtimeInputs = [git gum nix-output-monitor];
 | 
						|
 | 
						|
  text = ''
 | 
						|
    # An install script for NixOS installation to /tmp
 | 
						|
    set -e
 | 
						|
    pushd /tmp > /dev/null
 | 
						|
    rm -rf ./install-nix
 | 
						|
    git clone https://codeberg.org/Lillian-Violet/NixOS-Config.git ./install-nix
 | 
						|
    pushd ./install-nix/nixos/hosts > /dev/null
 | 
						|
    echo "Please choose the hostname you are installing to from the following list:"
 | 
						|
    i=1
 | 
						|
    for d in */
 | 
						|
    do
 | 
						|
      dirs[i++]="''${d%/}"
 | 
						|
    done
 | 
						|
    select dir in "''${dirs[@]}"; do echo "you selected ''${dir}"; break; done
 | 
						|
    popd > /dev/null
 | 
						|
    pushd ./install-nix > /dev/null
 | 
						|
    gum confirm  --default=false \
 | 
						|
        "🔥 🔥 🔥 WARNING!!!! This will ERASE ALL DATA on the disk for ''${dir}. Are you sure you want to continue?"
 | 
						|
 | 
						|
        echo "Partitioning Disks"
 | 
						|
        sudo nix run github:nix-community/disko \
 | 
						|
        --extra-experimental-features "nix-command flakes" \
 | 
						|
        --no-write-lock-file \
 | 
						|
        -- \
 | 
						|
        --mode zap_create_mount \
 | 
						|
        "./disko/''${dir}/default.nix"
 | 
						|
    echo "NixOS Installing..."
 | 
						|
    sudo nixos-install --flake .#"''${dir}" --show-trace --log-format internal-json -v |& nom --json
 | 
						|
    sudo nixos-install --flake .#"''${dir}" --show-trace --log-format internal-json -v |& nom --json
 | 
						|
    popd > /dev/null
 | 
						|
    echo "Cleaning up repository in '/tmp/install-nix'..."
 | 
						|
    rm -rf ./install-nix
 | 
						|
    rm -rf ./install-nix
 | 
						|
    popd > /dev/null
 | 
						|
    echo "NixOS Install Succeeded!"
 | 
						|
  '';
 | 
						|
}
 |