41 lines
		
	
	
	
		
			940 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			940 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   flake.modules.nixos.server =
 | |
|     { lib, ... }:
 | |
|     {
 | |
|       users.users.remotebuild = {
 | |
|         isNormalUser = true;
 | |
|         createHome = false;
 | |
|         group = "remotebuild";
 | |
| 
 | |
|         openssh.authorizedKeys.keys = [
 | |
|           "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJYZjG+XPNoVHVdCel5MK4mwvtoFCqDY1WMI1yoU71Rd root@yggdrasil"
 | |
|         ];
 | |
|       };
 | |
| 
 | |
|       users.groups.remotebuild = { };
 | |
| 
 | |
|       nix = {
 | |
|         nrBuildUsers = 64;
 | |
|         settings = {
 | |
|           trusted-users = [ "remotebuild" ];
 | |
| 
 | |
|           min-free = 10 * 1024 * 1024;
 | |
|           max-free = 200 * 1024 * 1024;
 | |
| 
 | |
|           max-jobs = "auto";
 | |
|           cores = 0;
 | |
|         };
 | |
| 
 | |
|         daemonIOSchedClass = lib.mkDefault "idle";
 | |
|         daemonCPUSchedPolicy = lib.mkDefault "idle";
 | |
|       };
 | |
| 
 | |
|       systemd.services.nix-daemon.serviceConfig = {
 | |
|         MemoryAccounting = true;
 | |
|         MemoryMax = "90%";
 | |
|         OOMScoreAdjust = 500;
 | |
|         Slice = "-.slice";
 | |
|       };
 | |
| 
 | |
|     };
 | |
| }
 |