anchor.diff:        };
   
         settings = mkOption {
  -        type = format.type;
  -        default = { };
  +        type = types.nullOr format.type;
  +        default = null;
           description = lib.mdDoc ''
             Configuration for Klipper. See the [documentation](https://www.klipper3d.org/Overview.html#configuration-and-tuning-guides)
             for supported values.
  
positive.code:     assertions = [
        {
          assertion = cfg.octoprintIntegration -> config.services.octoprint.enable;
          message = "Option klipper.octoprintIntegration requires Octoprint to be enabled on this system. Please enable services.octoprint to use it.";
        }
        {
          assertion = cfg.user != null -> cfg.group != null;
          message = "Option klipper.group is not set when a user is specified.";
        }
        {
          assertion = foldl (a: b: a && b) true (mapAttrsToList (mcu: _: mcu != null -> (hasAttrByPath [ "${mcu}" "serial" ] cfg.settings)) cfg.firmwares);
          message = "Option klipper.settings.$mcu.serial must be set when klipper.firmware.$mcu is specified";
        }
      ];
  
      environment.etc."klipper.cfg".source = format.generate "klipper.cfg" cfg.settings;
  
      services.klipper = mkIf cfg.octoprintIntegration {
        user = config.services.octoprint.user;
  
negative.code:         description = lib.mdDoc "Path of the API socket to create.";
        };
  
        mutableConfig = mkOption {
          type = types.bool;
          default = false;
          example = true;
          description = lib.mdDoc ''
            Whether to copy the config to a mutable directory instead of using the one directly from the nix store.
            This will only copy the config if the file at `services.klipper.mutableConfigPath` doesn't exist.
          '';
        };
  
        mutableConfigFolder = mkOption {
          type = types.path;
          default = "/var/lib/klipper";
          description = lib.mdDoc "Path to mutable Klipper config file.";
        };
  
        configFile = mkOption {
          type = types.nullOr types.path;
          default = null;
          description = lib.mdDoc ''
            Path to default Klipper config.
          '';
        };
  
        octoprintIntegration = mkOption {
          type = types.bool;
          default = false;
  