# This module contains the basic configuration for building a NixOS # installation CD. { config, pkgs, ... }: with pkgs.lib; { imports = [ ./channel.nix ./iso-image.nix # Profiles of this basic installation CD. ../../profiles/all-hardware.nix ../../profiles/base.nix ../../profiles/installation-device.nix ]; # ISO naming. isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixosVersion}-${pkgs.stdenv.system}.iso"; isoImage.volumeID = substring 0 11 "NIXOS_${config.system.nixosVersion}"; # Make the installer more likely to succeed in low memory # environments. The kernel's overcommit heustistics bite us # fairly often, preventing processes such as nix-worker or # download-using-manifests.pl from forking even if there is # plenty of free memory. boot.kernel.sysctl."vm.overcommit_memory" = "1"; # To speed up installation a little bit, include the complete stdenv # in the Nix store on the CD. isoImage.storeContents = [ pkgs.stdenv pkgs.busybox ]; # EFI booting isoImage.makeEfiBootable = true; # Add Memtest86+ to the CD. boot.loader.grub.memtest86 = true; # Get a console as soon as the initrd loads fbcon on EFI boot boot.initrd.kernelModules = [ "fbcon" ]; }