38 lines
		
	
	
		
			857 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			857 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { config, lib, pkgs, ... }:
 | |
| 
 | |
| with lib;
 | |
| 
 | |
| let
 | |
|   cfg = config.virtualisation.hypervGuest;
 | |
| 
 | |
| in {
 | |
|   options = {
 | |
|     virtualisation.hypervGuest = {
 | |
|       enable = mkEnableOption "Hyper-V Guest Support";
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   config = mkIf cfg.enable {
 | |
|     environment.systemPackages = [ config.boot.kernelPackages.hyperv-daemons.bin ];
 | |
| 
 | |
|     security.rngd.enable = false;
 | |
| 
 | |
|     # enable hotadding memory
 | |
|     services.udev.packages = lib.singleton (pkgs.writeTextFile {
 | |
|       name = "hyperv-memory-hotadd-udev-rules";
 | |
|       destination = "/etc/udev/rules.d/99-hyperv-memory-hotadd.rules";
 | |
|       text = ''
 | |
|         ACTION="add", SUBSYSTEM=="memory", ATTR{state}="online"
 | |
|       '';
 | |
|     });
 | |
| 
 | |
|     systemd = {
 | |
|       packages = [ config.boot.kernelPackages.hyperv-daemons.lib ];
 | |
| 
 | |
|       targets.hyperv-daemons = {
 | |
|         wantedBy = [ "multi-user.target" ];
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| }
 | 
