From 4b504d8bba6e2753c9acc86988fb1d27293506c6 Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Thu, 4 Apr 2013 11:50:16 +0400 Subject: [PATCH 1/2] udisks2: add udisks2 service Udisks2 is a Dbus service started by systemd on demand. --- modules/module-list.nix | 1 + modules/services/hardware/udisks2.nix | 53 +++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 modules/services/hardware/udisks2.nix diff --git a/modules/module-list.nix b/modules/module-list.nix index 7e07ee5ddfe..919abcbc26c 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -82,6 +82,7 @@ ./services/hardware/sane.nix ./services/hardware/udev.nix ./services/hardware/udisks.nix + ./services/hardware/udisks2.nix ./services/hardware/upower.nix ./services/logging/klogd.nix ./services/logging/logcheck.nix diff --git a/modules/services/hardware/udisks2.nix b/modules/services/hardware/udisks2.nix new file mode 100644 index 00000000000..eae4172ccb3 --- /dev/null +++ b/modules/services/hardware/udisks2.nix @@ -0,0 +1,53 @@ +# Udisks daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.udisks2 = { + + enable = mkOption { + default = false; + 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"; + }; + }; + }; + +} From 303794e0d743638d1ccbb8613ed5d4c2439f5b28 Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Thu, 4 Apr 2013 11:53:27 +0400 Subject: [PATCH 2/2] Xfce: use udisks2 instead of udisks Enabling udisks2 allows gvfs (which should be built with udisks support) to perform mount/unmount operations on removable drives. It affects Thunar and probably other Gtk-based file managers. Gvfs doesn't supports earlier versions of udisks. --- modules/services/x11/desktop-managers/xfce.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/services/x11/desktop-managers/xfce.nix b/modules/services/x11/desktop-managers/xfce.nix index c7622ddb02f..6c6e4ffce0a 100644 --- a/modules/services/x11/desktop-managers/xfce.nix +++ b/modules/services/x11/desktop-managers/xfce.nix @@ -84,7 +84,7 @@ in ''; # Enable helpful DBus services. - services.udisks.enable = true; + services.udisks2.enable = true; services.upower.enable = config.powerManagement.enable; };