anchor.diff:              '';
             };
   
  +          gpgCard = mkOption {
  +            default = null;
  +            description = ''
  +              The option to use this LUKS device with a GPG encrypted luks password by the GPG Smartcard.
  +              If null (the default), GPG-Smartcard will be disabled for this device.
  +            '';
  +
  +            type = with types; nullOr (submodule {
  +              options = {
  +                gracePeriod = mkOption {
  +                  default = 10;
  +                  type = types.int;
  +                  description = "Time in seconds to wait for the GPG Smartcard.";
  +                };
  +
  +                encryptedPass = mkOption {
  +                  default = "";
  +                  type = types.path;
  +                  description = "Path to the GPG encrypted passphrase.";
  +                };
  +
  +                publicKey = mkOption {
  +                  default = "";
  +                  type = types.path;
  +                  description = "Path to the Public Key.";
  +                };
  +              };
  +            });
  +          };
  +
             yubikey = mkOption {
               default = null;
               description = ''
  
positive.code:     # For Yubikey salt storage
      mkdir -p /crypt-storage
  
      # Disable all input echo for the whole stage. We could use read -s
      # instead but that would ocasionally leak characters between read
      # invocations.
  
negative.code:       }));
      };
  
      boot.initrd.luks.gpgSupport = mkOption {
        default = false;
        type = types.bool;
        description = ''
          Enables support for authenticating with a GPG encrypted password.
        '';
      };
  
      boot.initrd.luks.yubikeySupport = mkOption {
        default = false;
        type = types.bool;
  