From e9d1f151a2582d5a3084311414eceb768edcbd2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 23 Aug 2022 16:22:36 +0200 Subject: [PATCH] use nix at eval time rather grep at runtime --- lib/default.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/default.nix b/lib/default.nix index 62aed38..9f62428 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -11,11 +11,11 @@ let { helper.find-device = device: let environment = helper.device-id device; - 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 - ${environment}='${device}' - else + in + # DEVICE points already to /dev/disk, so we don't handle it via /dev/disk/by-path + if hasPrefix "/dev/disk" device then + "${environment}='${device}'" + else '' ${environment}=$(for x in /dev/disk/by-path/*; do dev=$x if [ "$(readlink -f $x)" = '${device}' ]; then @@ -29,8 +29,7 @@ let { else echo $target fi) - fi - ''; + ''; helper.device-id = device: "DEVICE${builtins.substring 0 5 (builtins.hashString "sha1" device)}";