summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorobadz <obadz-git@obadz.com>2016-08-31 14:34:08 +0100
committerobadz <obadz-git@obadz.com>2016-08-31 14:40:21 +0100
commita7d238136d9d2cbc88026d981c2e0f515fcf0229 (patch)
treee6166988d572078240577089c094c65dd45a14cc /nixos
parentf19c961b4e461da045f2e72e73701059e5117be0 (diff)
downloadnixlib-a7d238136d9d2cbc88026d981c2e0f515fcf0229.tar
nixlib-a7d238136d9d2cbc88026d981c2e0f515fcf0229.tar.gz
nixlib-a7d238136d9d2cbc88026d981c2e0f515fcf0229.tar.bz2
nixlib-a7d238136d9d2cbc88026d981c2e0f515fcf0229.tar.lz
nixlib-a7d238136d9d2cbc88026d981c2e0f515fcf0229.tar.xz
nixlib-a7d238136d9d2cbc88026d981c2e0f515fcf0229.tar.zst
nixlib-a7d238136d9d2cbc88026d981c2e0f515fcf0229.zip
nixos/…/swap.nix: remove backslashes from deviceName
Fixes #8277

Prior to this, backslashes would end up in fstab and the swap partition
was not activated.  Swap files seemed to work fine.
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/config/swap.nix6
1 files changed, 5 insertions, 1 deletions
diff --git a/nixos/modules/config/swap.nix b/nixos/modules/config/swap.nix
index 62b6e011713e..968bb22f354c 100644
--- a/nixos/modules/config/swap.nix
+++ b/nixos/modules/config/swap.nix
@@ -54,6 +54,10 @@ let
           WARNING: Don't try to hibernate when you have at least one swap partition with
           this option enabled! We have no way to set the partition into which hibernation image
           is saved, so if your image ends up on an encrypted one you would lose it!
+
+          WARNING #2: Do not use /dev/disk/by-uuid/… or /dev/disk/by-label/… as your swap device
+          when using randomEncryption as the UUIDs and labels will get erased on every boot when
+          the partition is encrypted. Best to use /dev/disk/by-partuuid/…
         '';
       };
 
@@ -72,7 +76,7 @@ let
     config = rec {
       device = mkIf options.label.isDefined
         "/dev/disk/by-label/${config.label}";
-      deviceName = escapeSystemdPath config.device;
+      deviceName = lib.replaceChars ["\\"] [""] (escapeSystemdPath config.device);
       realDevice = if config.randomEncryption then "/dev/mapper/${deviceName}" else config.device;
     };