diff --git a/modules/module-list.nix b/modules/module-list.nix index 40f1d1e8676..c4b8fa5a9fe 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/hardware/thinkfan.nix ./services/logging/klogd.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"; + }; + }; + }; + +} 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; };