anchor.diff:            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/…
  -        '';
  -      };
  -
  -      randomEncryption.cipher = mkOption {
  -        default = "aes-xts-plain64";
  -        example = "serpent-xts-plain64";
  -        type = types.str;
  -        description = ''
  -          Use specified cipher for randomEncryption.
  -
  -          Hint: Run "cryptsetup benchmark" to see which one is fastest on your machine.
  -        '';
  -      };
  -
  -      randomEncryption.source = mkOption {
  -        default = "/dev/urandom";
  -        example = "/dev/random";
  -        type = types.str;
  -        description = ''
  -          Define the source of randomness to obtain a random key for encryption.
           '';
         };
   
  
positive.code:         '';
        };
  
        randomEncryption.enable = mkOption {
          default = false;
          type = types.bool;
          description = ''
            Encrypt swap device with a random key. This way you won't have a persistent swap device.
  
            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
  
negative.code: with lib;
  
  let
  
    randomEncryptionCoerce = enable: { inherit enable; };
  
    randomEncryptionOpts = { ... }: {
  
      options = {
  
        enable = mkOption {
          default = false;
          type = types.bool;
          description = ''
            Encrypt swap device with a random key. This way you won't have a persistent swap device.
  
            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/…
          '';
        };
  
        cipher = mkOption {
          default = "aes-xts-plain64";
          example = "serpent-xts-plain64";
          type = types.str;
          description = ''
            Use specified cipher for randomEncryption.
  
            Hint: Run "cryptsetup benchmark" to see which one is fastest on your machine.
          '';
        };
  
        source = mkOption {
          default = "/dev/urandom";
          example = "/dev/random";
          type = types.str;
          description = ''
            Define the source of randomness to obtain a random key for encryption.
          '';
        };
  
      };
  
    };
  
    swapCfg = {config, options, ...}: {
  
  