anchor.diff:        environment.etc."lvm/lvm.conf".text = ''
           dmeventd/executable = "${cfg.package}/bin/dmeventd"
         '';
  +      services.lvm.package = mkDefault pkgs.lvm2_dmeventd;
       })
       (mkIf cfg.boot.thin.enable {
         boot.initrd = {
  
positive.code:       environment.etc."lvm/lvm.conf".text = concatMapStringsSep "\n"
          (bin: "global/${bin}_executable = ${pkgs.thin-provisioning-tools}/bin/${bin}")
          [ "thin_check" "thin_dump" "thin_repair" "cache_check" "cache_dump" "cache_repair" ];
      })
      (mkIf (cfg.dmeventd.enable || cfg.boot.thin.enable) {
        boot.initrd.preLVMCommands = ''
  
negative.code:   options.services.lvm = {
      package = mkOption {
        type = types.package;
        default = pkgs.lvm2;
        internal = true;
        defaultText = literalExpression "pkgs.lvm2";
        description = ''
          This option allows you to override the LVM package that's used on the system
          (udev rules, tmpfiles, systemd services).
          Defaults to pkgs.lvm2, pkgs.lvm2_dmeventd if dmeventd or pkgs.lvm2_vdo if vdo is enabled.
        '';
      };
      dmeventd.enable = mkEnableOption "the LVM dmevent daemon";
      boot.thin.enable = mkEnableOption "support for booting from ThinLVs";
      boot.vdo.enable = mkEnableOption "support for booting from VDOLVs";
    };
  
    config = mkMerge [
  