summary refs log tree commit diff
path: root/modules/system/boot/systemd.nix
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-11-29 18:51:44 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-11-29 18:51:44 +0100
commit3c6e0fd594801617d77ce78e01d8b066aeb5982e (patch)
treef52dde5d9975e6e6a5e421801f2cfe07da02e3fd /modules/system/boot/systemd.nix
parent403dc16c51343b70172ae2f1aa85f78235918c9a (diff)
downloadnixpkgs-3c6e0fd594801617d77ce78e01d8b066aeb5982e.tar
nixpkgs-3c6e0fd594801617d77ce78e01d8b066aeb5982e.tar.gz
nixpkgs-3c6e0fd594801617d77ce78e01d8b066aeb5982e.tar.bz2
nixpkgs-3c6e0fd594801617d77ce78e01d8b066aeb5982e.tar.lz
nixpkgs-3c6e0fd594801617d77ce78e01d8b066aeb5982e.tar.xz
nixpkgs-3c6e0fd594801617d77ce78e01d8b066aeb5982e.tar.zst
nixpkgs-3c6e0fd594801617d77ce78e01d8b066aeb5982e.zip
Generate the binary hardware database required by systemd 196
Diffstat (limited to 'modules/system/boot/systemd.nix')
-rw-r--r--modules/system/boot/systemd.nix13
1 files changed, 13 insertions, 0 deletions
diff --git a/modules/system/boot/systemd.nix b/modules/system/boot/systemd.nix
index e76d35fa9f2..86e269e0763 100644
--- a/modules/system/boot/systemd.nix
+++ b/modules/system/boot/systemd.nix
@@ -442,6 +442,18 @@ in
         }
       ];
 
+    system.activationScripts.systemd =
+      ''
+        mkdir -p /var/lib/udev -m 0755
+
+        # Regenerate the hardware database /var/lib/udev/hwdb.bin
+        # whenever systemd changes.
+        if [ ! -e /var/lib/udev/prev-systemd -o "$(readlink /var/lib/udev/prev-systemd)" != ${systemd} ]; then
+          echo "regenerating udev hardware database..."
+          ${systemd}/bin/udevadm hwdb --update && ln -sfn ${systemd} /var/lib/udev/prev-systemd
+        fi
+      '';
+
     # Target for ‘charon send-keys’ to hook into.
     boot.systemd.targets.keys =
       { description = "Security Keys";
@@ -456,5 +468,6 @@ in
     system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled [
       "CGROUPS" "AUTOFS4_FS" "DEVTMPFS"
     ];
+
   };
 }