use nix at eval time rather grep at runtime

This commit is contained in:
Jörg Thalheim 2022-08-23 16:22:36 +02:00
parent af29463588
commit e9d1f151a2

View file

@ -11,11 +11,11 @@ let {
helper.find-device = device: let helper.find-device = device: let
environment = helper.device-id device; environment = helper.device-id device;
in '' in
if echo '${device}' | grep -q '^/dev/disk'; then
# DEVICE points already to /dev/disk, so we don't handle it via /dev/disk/by-path # DEVICE points already to /dev/disk, so we don't handle it via /dev/disk/by-path
${environment}='${device}' if hasPrefix "/dev/disk" device then
else "${environment}='${device}'"
else ''
${environment}=$(for x in /dev/disk/by-path/*; do ${environment}=$(for x in /dev/disk/by-path/*; do
dev=$x dev=$x
if [ "$(readlink -f $x)" = '${device}' ]; then if [ "$(readlink -f $x)" = '${device}' ]; then
@ -29,7 +29,6 @@ let {
else else
echo $target echo $target
fi) fi)
fi
''; '';
helper.device-id = device: "DEVICE${builtins.substring 0 5 (builtins.hashString "sha1" device)}"; helper.device-id = device: "DEVICE${builtins.substring 0 5 (builtins.hashString "sha1" device)}";