From 2aaeacc57923db53a18db6f089d6da9b86f5a9b8 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 6 Jan 2015 02:49:57 +0300 Subject: [PATCH] nixos/modprobe: wrap all of kmod --- nixos/modules/system/boot/modprobe.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix index eaf8cf1ecd6f..a1feaad6132d 100644 --- a/nixos/modules/system/boot/modprobe.nix +++ b/nixos/modules/system/boot/modprobe.nix @@ -10,10 +10,18 @@ with lib; system.sbin.modprobe = mkOption { internal = true; - default = pkgs.writeTextFile { + default = pkgs.stdenv.mkDerivation { name = "modprobe"; - destination = "/sbin/modprobe"; - executable = true; + buildCommand = '' + mkdir -p $out/bin + for i in ${pkgs.kmod}/sbin/*; do + name=$(basename $i) + echo "$text" > $out/bin/$name + echo 'exec '$i' "$@"' >> $out/bin/$name + chmod +x $out/bin/$name + done + ln -s bin $out/sbin + ''; text = '' #! ${pkgs.stdenv.shell} @@ -26,7 +34,6 @@ with lib; MODULE_DIR=/run/booted-system/kernel-modules/lib/modules/ fi - exec ${pkgs.kmod}/sbin/modprobe "$@" ''; }; description = ''