anchor.diff:          RuntimeDirectory = "klipper";
           SupplementaryGroups = [ "dialout" ];
           WorkingDirectory = "${package}/lib";
  -      } // (if cfg.octoprintIntegration then {
  -        Group = config.services.octoprint.group;
  -        User = config.services.octoprint.user;
  +      } // (if cfg.user != null then {
  +        Group = cfg.group;
  +        User = cfg.user;
         } else {
           DynamicUser = true;
           User = "klipper";
  
positive.code:         description = "Allows Octoprint to control Klipper.";
        };
  
        settings = mkOption {
          type = format.type;
          default = { };
  
negative.code: 
    ##### implementation
    config = mkIf cfg.enable {
      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.";
        }
      ];
  
      environment.etc."klipper.cfg".source = format.generate "klipper.cfg" cfg.settings;
  
      services.klipper = mkIf cfg.octoprintIntegration {
        user = config.services.octoprint.user;
        group = config.services.octoprint.group;
      };
  
      systemd.services.klipper = {
        description = "Klipper 3D Printer Firmware";
  