The ability for unprivileged users to mount external media is useful regardless of the desktop environment. Also, since udisks2 is activated on-demand, it doesn't add any overhead if you're not using it.
		
			
				
	
	
		
			55 lines
		
	
	
		
			975 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			975 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
# Udisks daemon.
 | 
						|
 | 
						|
{ config, lib, pkgs, ... }:
 | 
						|
 | 
						|
with lib;
 | 
						|
 | 
						|
{
 | 
						|
 | 
						|
  ###### interface
 | 
						|
 | 
						|
  options = {
 | 
						|
 | 
						|
    services.udisks2 = {
 | 
						|
 | 
						|
      enable = mkOption {
 | 
						|
        type = types.bool;
 | 
						|
        default = true;
 | 
						|
        description = ''
 | 
						|
          Whether to enable Udisks, a DBus service that allows
 | 
						|
          applications to query and manipulate storage devices.
 | 
						|
        '';
 | 
						|
      };
 | 
						|
 | 
						|
    };
 | 
						|
 | 
						|
  };
 | 
						|
 | 
						|
 | 
						|
  ###### implementation
 | 
						|
 | 
						|
  config = mkIf config.services.udisks2.enable {
 | 
						|
 | 
						|
    environment.systemPackages = [ pkgs.udisks2 ];
 | 
						|
 | 
						|
    services.dbus.packages = [ pkgs.udisks2 ];
 | 
						|
 | 
						|
    system.activationScripts.udisks2 =
 | 
						|
      ''
 | 
						|
        mkdir -m 0755 -p /var/lib/udisks2
 | 
						|
      '';
 | 
						|
 | 
						|
    #services.udev.packages = [ pkgs.udisks2 ];
 | 
						|
    
 | 
						|
    systemd.services.udisks2 = {
 | 
						|
      description = "Udisks2 service";
 | 
						|
      serviceConfig = {
 | 
						|
        Type = "dbus";
 | 
						|
        BusName = "org.freedesktop.UDisks2";
 | 
						|
        ExecStart = "${pkgs.udisks2}/lib/udisks2/udisksd --no-debug";
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
}
 |