2009-06-11 10:51:27 +01:00
|
|
|
# This module contains the basic configuration for building a NixOS
|
|
|
|
# installation CD.
|
2009-06-05 16:10:15 +01:00
|
|
|
|
2020-04-06 14:49:54 +01:00
|
|
|
{ config, lib, options, pkgs, ... }:
|
2009-11-10 21:42:38 +00:00
|
|
|
|
2014-04-14 15:26:48 +01:00
|
|
|
with lib;
|
2009-06-05 16:10:15 +01:00
|
|
|
|
|
|
|
{
|
2013-09-04 12:05:09 +01:00
|
|
|
imports =
|
2015-06-10 11:04:26 +01:00
|
|
|
[ ./iso-image.nix
|
2010-09-25 10:32:43 +01:00
|
|
|
|
|
|
|
# Profiles of this basic installation CD.
|
2011-11-08 15:58:59 +00:00
|
|
|
../../profiles/all-hardware.nix
|
2010-09-25 10:32:27 +01:00
|
|
|
../../profiles/base.nix
|
2010-09-25 10:32:43 +01:00
|
|
|
../../profiles/installation-device.nix
|
2009-06-09 14:14:43 +01:00
|
|
|
];
|
2009-06-05 16:10:15 +01:00
|
|
|
|
2020-04-06 14:49:54 +01:00
|
|
|
# Adds terminus_font for people with HiDPI displays
|
|
|
|
console.packages = options.console.packages.default ++ [ pkgs.terminus_font ];
|
|
|
|
|
2009-06-09 16:23:03 +01:00
|
|
|
# ISO naming.
|
2018-08-20 20:11:29 +01:00
|
|
|
isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso";
|
2011-09-14 19:20:50 +01:00
|
|
|
|
2013-11-01 15:29:36 +00:00
|
|
|
# EFI booting
|
|
|
|
isoImage.makeEfiBootable = true;
|
|
|
|
|
2014-10-26 20:29:04 +00:00
|
|
|
# USB booting
|
|
|
|
isoImage.makeUsbBootable = true;
|
|
|
|
|
2013-10-02 11:29:07 +01:00
|
|
|
# Add Memtest86+ to the CD.
|
2014-01-21 16:25:49 +00:00
|
|
|
boot.loader.grub.memtest86.enable = true;
|
2013-11-01 15:29:36 +00:00
|
|
|
|
2021-08-03 23:12:03 +01:00
|
|
|
# An installation media cannot tolerate a host config defined file
|
|
|
|
# system layout on a fresh machine, before it has been formatted.
|
|
|
|
swapDevices = mkImageMediaOverride [ ];
|
|
|
|
fileSystems = mkImageMediaOverride config.lib.isoFileSystems;
|
2021-08-03 20:36:07 +01:00
|
|
|
|
2020-12-26 09:55:40 +00:00
|
|
|
boot.postBootCommands = ''
|
|
|
|
for o in $(</proc/cmdline); do
|
|
|
|
case "$o" in
|
|
|
|
live.nixos.passwd=*)
|
|
|
|
set -- $(IFS==; echo $o)
|
|
|
|
echo "nixos:$2" | ${pkgs.shadow}/bin/chpasswd
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
'';
|
|
|
|
|
2018-07-25 21:22:54 +01:00
|
|
|
system.stateVersion = mkDefault "18.03";
|
2009-06-05 16:10:15 +01:00
|
|
|
}
|