From 8115e2b01a2c1ca975d6386fac4b06b6f0e14fb7 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 13 Jul 2025 12:39:52 +0100 Subject: [PATCH] nixos-generate-config: prefer `/dev/mapper` paths for mounts Currently, we generate `/dev/disk/by-uuid` paths for encrypted LUKS volumes, which makes it impossible to determine that they are waiting on a Device Mapper device at boot. Using `/dev/mapper` paths ensures that systemd stage 1 waives its standard mount timeout for these volumes to allow the user more time to enter the LUKS password. --- nixos/modules/installer/tools/nixos-generate-config.pl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 1799ba2c5d97..581b7390ba7b 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -344,7 +344,12 @@ sub findStableDevPath { my $st = stat($dev) or return $dev; - foreach my $dev2 (glob("/dev/stratis/*/*"), glob("/dev/disk/by-uuid/*"), glob("/dev/mapper/*"), glob("/dev/disk/by-label/*")) { + foreach my $dev2 ( + glob("/dev/stratis/*/*"), + glob("/dev/mapper/*"), + glob("/dev/disk/by-uuid/*"), + glob("/dev/disk/by-label/*"), + ) { my $st2 = stat($dev2) or next; return $dev2 if $st->rdev == $st2->rdev; }