2009-06-11 05:51:27 -04:00
|
|
|
# This module contains the basic configuration for building a NixOS
|
|
|
|
# installation CD.
|
2009-06-05 11:10:15 -04:00
|
|
|
|
2009-11-10 16:42:38 -05:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
with pkgs.lib;
|
2009-06-05 11:10:15 -04:00
|
|
|
|
|
|
|
{
|
2009-06-09 09:14:43 -04:00
|
|
|
require =
|
2012-04-10 17:18:48 -04:00
|
|
|
[ ./memtest.nix
|
2013-07-01 17:13:28 -04:00
|
|
|
./channel.nix
|
2013-07-02 07:52:43 -04:00
|
|
|
./iso-image.nix
|
2010-09-25 05:32:43 -04:00
|
|
|
|
|
|
|
# Profiles of this basic installation CD.
|
2011-11-08 10:58:59 -05:00
|
|
|
../../profiles/all-hardware.nix
|
2010-09-25 05:32:27 -04:00
|
|
|
../../profiles/base.nix
|
2010-09-25 05:32:43 -04:00
|
|
|
../../profiles/installation-device.nix
|
2009-06-09 09:14:43 -04:00
|
|
|
];
|
2009-06-05 11:10:15 -04:00
|
|
|
|
2009-06-09 11:23:03 -04:00
|
|
|
# ISO naming.
|
2011-04-20 06:48:52 -04:00
|
|
|
isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixosVersion}-${pkgs.stdenv.system}.iso";
|
2011-09-14 14:20:50 -04:00
|
|
|
|
2013-07-17 13:34:06 -04:00
|
|
|
isoImage.volumeID = substring 0 32 "NIXOS_${config.system.nixosVersion}";
|
2011-09-14 14:20:50 -04:00
|
|
|
|
2013-03-02 14:02:32 -05:00
|
|
|
# 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";
|
|
|
|
|
2009-06-09 09:27:50 -04:00
|
|
|
# To speed up installation a little bit, include the complete stdenv
|
|
|
|
# in the Nix store on the CD.
|
2012-06-22 14:16:55 -04:00
|
|
|
isoImage.storeContents = [ pkgs.stdenv pkgs.busybox ];
|
2009-06-05 11:10:15 -04:00
|
|
|
}
|