From 5cbe8fbb483f10d717e26c608524ce442802cb37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 15 Nov 2022 19:28:28 +0100 Subject: simplify deviceNumbering function --- types.nix | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) (limited to 'types.nix') diff --git a/types.nix b/types.nix index 228052f..c26cf0b 100644 --- a/types.nix +++ b/types.nix @@ -51,21 +51,14 @@ rec { => "/dev/disk/by-id/xxx-part2" */ deviceNumbering = dev: index: - let - schemas = { - dev__da = dev + toString index; # /dev/{s,v}da style - dev_disk = "${dev}-part${toString index}"; # /dev/disk/by-id/xxx style - dev_nvme = "${dev}p${toString index}"; # /dev/nvme0n1p1 style - dev_md = "${dev}p${toString index}"; # /dev/nvme0n1p1 style - }; - detectSchema = - if match "/dev/[vs]d.*" dev != null then "dev__da" else - if match "/dev/disk/.*" dev != null then "dev_disk" else - if match "/dev/nvme.*" dev != null then "dev_nvme" else - if match "/dev/md/.*" dev != null then "dev_md" else - if match "/dev/mmcblk.*" dev != null then "dev_nvme" else - abort "${dev} seems not to be a supported disk format"; - in schemas.${detectSchema}; + if match "/dev/[vs]d.*" dev != null then + dev + toString index # /dev/{s,v}da style + else if match "/dev/disk/.*" dev != null then + "${dev}-part${toString index}" # /dev/disk/by-id/xxx style + else if match "/dev/(nvme|md/|mmcblk).*" dev != null then + "${dev}p${toString index}" # /dev/nvme0n1p1 style + else + abort "${dev} seems not to be a supported disk format"; /* A nix option type representing a json datastructure, vendored from nixpkgs to avoid dependency on pkgs */ jsonType = let -- cgit v1.2.3 From d0fd785c93e69adbf28c271cfce1e6a36eae9ec0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 15 Nov 2022 19:30:09 +0100 Subject: make device matching regexes a bit stricter --- types.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'types.nix') diff --git a/types.nix b/types.nix index c26cf0b..fe04e9c 100644 --- a/types.nix +++ b/types.nix @@ -51,11 +51,11 @@ rec { => "/dev/disk/by-id/xxx-part2" */ deviceNumbering = dev: index: - if match "/dev/[vs]d.*" dev != null then + if match "/dev/[vs]d.+" dev != null then dev + toString index # /dev/{s,v}da style - else if match "/dev/disk/.*" dev != null then + else if match "/dev/disk/.+" dev != null then "${dev}-part${toString index}" # /dev/disk/by-id/xxx style - else if match "/dev/(nvme|md/|mmcblk).*" dev != null then + else if match "/dev/(nvme|md/|mmcblk).+" dev != null then "${dev}p${toString index}" # /dev/nvme0n1p1 style else abort "${dev} seems not to be a supported disk format"; -- cgit v1.2.3