60 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  pkgs,
 | 
						|
  lib,
 | 
						|
  ...
 | 
						|
}: let
 | 
						|
  inherit (lib) mkForce getExe';
 | 
						|
in {
 | 
						|
  boot = {
 | 
						|
    kernelPackages = pkgs.linuxPackages_latest;
 | 
						|
    kernelModules = [];
 | 
						|
    # LISH console support
 | 
						|
    kernelParams = ["console=ttyS0,19200n8"];
 | 
						|
    extraModulePackages = [];
 | 
						|
    growPartition = true;
 | 
						|
    initrd = {
 | 
						|
      availableKernelModules = [
 | 
						|
        # modules generated by nixos-generate-config
 | 
						|
        "virtio_pci"
 | 
						|
        "virtio_scsi"
 | 
						|
        "ahci"
 | 
						|
        "sd_mod"
 | 
						|
 | 
						|
        # qemu guest modules
 | 
						|
        "virtio_net"
 | 
						|
        "virtio_mmio"
 | 
						|
        "virtio_blk"
 | 
						|
        "virtio_scsi"
 | 
						|
        "9p"
 | 
						|
        "9pnet_virtio"
 | 
						|
      ];
 | 
						|
      kernelModules = [
 | 
						|
        "virtio_balloon"
 | 
						|
        "virtio_console"
 | 
						|
        "virtio_rng"
 | 
						|
        "virtio_gpu"
 | 
						|
      ];
 | 
						|
    };
 | 
						|
    loader = {
 | 
						|
      grub = {
 | 
						|
        enable = true;
 | 
						|
        device = "nodev";
 | 
						|
        forceInstall = true;
 | 
						|
        copyKernels = true;
 | 
						|
        fsIdentifier = "label";
 | 
						|
        splashImage = null;
 | 
						|
        extraConfig = ''
 | 
						|
          serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1;
 | 
						|
          terminal_input serial;
 | 
						|
          terminal_output serial
 | 
						|
        '';
 | 
						|
 | 
						|
        extraInstallCommands = "${getExe' pkgs.coreutils "ln"} -fs /boot/grub /boot/grub2";
 | 
						|
      };
 | 
						|
      timeout = mkForce 10;
 | 
						|
      # disable base settings
 | 
						|
      efi.canTouchEfiVariables = mkForce false;
 | 
						|
      systemd-boot.enable = mkForce false;
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |