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;
 | |
|     };
 | |
|   };
 | |
| }
 |