anchor.diff:          '';
         };
   
  +      settings = mkOption rec {
  +        type = types.attrsOf settingsFormat.type;
  +        apply = recursiveUpdate default;
  +        default = {
  +          "udisks2.conf" = {
  +            udisks2 = {
  +              modules = [ "*" ];
  +              modules_load_preference = "ondemand";
  +            };
  +            defaults = {
  +              encryption = "luks2";
  +            };
  +          };
  +        };
  +        example = literalExpression ''
  +        {
  +          "WDC-WD10EZEX-60M2NA0-WD-WCC3F3SJ0698.conf" = {
  +            ATA = {
  +              StandbyTimeout = 50;
  +            };
  +          };
  +        };
  +        '';
  +        description = ''
  +          Options passed to udisksd.
  +          See <link xlink:href="http://manpages.ubuntu.com/manpages/latest/en/man5/udisks2.conf.5.html">here</link> and
  +          drive configuration in <link xlink:href="http://manpages.ubuntu.com/manpages/latest/en/man8/udisks.8.html">here</link> for supported options.
  +        '';
  +      };
  +
       };
   
     };
  
positive.code:   config = mkIf config.services.udisks2.enable {
  
      environment.systemPackages = [ pkgs.udisks2 ];
  
      security.polkit.enable = true;
  
  
negative.code: { config, lib, pkgs, ... }:
  
  with lib;
  
  let
    settingsFormat = pkgs.formats.ini {
      listToValue = concatMapStringsSep "," (generators.mkValueStringDefault {});
    };
    configFiles = mapAttrs (name: value: (settingsFormat.generate name value)) (mapAttrs' (name: value: nameValuePair name value ) config.services.udisks2.settings);
  in
  
  {
  
  