udisks2: fix udev rules file (close #11743)

This properly hides system partitions (like EFI or Windows recovery) from UDisks.

Changed files
+7 -3
nixos
modules
services
hardware
pkgs
os-specific
linux
udisks
+1 -1
nixos/modules/services/hardware/udisks2.nix
···
mkdir -m 0755 -p /var/lib/udisks2
'';
-
#services.udev.packages = [ pkgs.udisks2 ];
+
services.udev.packages = [ pkgs.udisks2 ];
systemd.services.udisks2 = {
description = "Udisks2 service";
+6 -2
pkgs/os-specific/linux/udisks/2-default.nix
···
-
{ stdenv, fetchurl, pkgconfig, intltool
+
{ stdenv, fetchurl, pkgconfig, intltool, gnused
, expat, acl, systemd, glib, libatasmart, polkit
, libxslt, docbook_xsl, utillinux, mdadm, libgudev
}:
···
''
substituteInPlace src/main.c --replace \
"@path@" \
-
"${utillinux}/bin:${mdadm}/sbin:/var/run/current-system/sw/bin:/var/run/current-system/sw/bin"
+
"${utillinux}/bin:${mdadm}/bin:/run/current-system/sw/bin"
+
substituteInPlace data/80-udisks2.rules \
+
--replace "/bin/sh" "${stdenv.shell}" \
+
--replace "/sbin/mdadm" "${mdadm}/bin/mdadm" \
+
--replace " sed " " ${gnused}/bin/sed "
'';
nativeBuildInputs = [ pkgconfig intltool ];