38 lines
		
	
	
		
			912 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			912 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { config, lib, ... }:
 | |
| 
 | |
| with lib;
 | |
| 
 | |
| let
 | |
|   cfg = config.programs.fuse;
 | |
| in {
 | |
|   meta.maintainers = with maintainers; [ primeos ];
 | |
| 
 | |
|   options.programs.fuse = {
 | |
|     mountMax = mkOption {
 | |
|       # In the C code it's an "int" (i.e. signed and at least 16 bit), but
 | |
|       # negative numbers obviously make no sense:
 | |
|       type = types.ints.between 0 32767; # 2^15 - 1
 | |
|       default = 1000;
 | |
|       description = ''
 | |
|         Set the maximum number of FUSE mounts allowed to non-root users.
 | |
|       '';
 | |
|     };
 | |
| 
 | |
|     userAllowOther = mkOption {
 | |
|       type = types.bool;
 | |
|       default = false;
 | |
|       description = ''
 | |
|         Allow non-root users to specify the allow_other or allow_root mount
 | |
|         options, see mount.fuse3(8).
 | |
|       '';
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   config =  {
 | |
|     environment.etc."fuse.conf".text = ''
 | |
|       ${optionalString (!cfg.userAllowOther) "#"}user_allow_other
 | |
|       mount_max = ${toString cfg.mountMax}
 | |
|     '';
 | |
|   };
 | |
| }
 | 
