anchor.diff: -{lib, stdenv, fetchFromGitHub, ocamlPackages, fontschumachermisc, xset, makeWrapper, ncurses, gnugrep, fetchpatch, copyDesktopItems, makeDesktopItem
  -, enableX11 ? true}:
  +{ lib
  +, stdenv
  +, fetchFromGitHub
  +, ocamlPackages
  +, fontschumachermisc
  +, xset
  +, makeWrapper
  +, ncurses
  +, gnugrep
  +, fetchpatch
  +, copyDesktopItems
  +, makeDesktopItem
  +, enableX11 ? true
  +}:
   
  -let inherit (ocamlPackages) ocaml lablgtk; in
  -
  -stdenv.mkDerivation (rec {
  -
  +stdenv.mkDerivation rec {
     pname = "unison";
     version = "2.51.3";
  +
     src = fetchFromGitHub {
       owner = "bcpierce00";
       repo = "unison";
  
positive.code:     install -D $src/icons/U.svg $out/share/icons/hicolor/scalable/apps/unison.svg
    '';
  
    dontStrip = !ocaml.nativeCompilers;
  
    desktopItems = lib.lists.optional enableX11 (makeDesktopItem {
      name = pname;
      desktopName = "Unison";
      comment = "Bidirectional file synchronizer";
  
negative.code:     exec = "unison";
      icon = "unison";
      categories = "Utility;FileTools;GTK;";
      extraDesktopEntries = {
        StartupWMClass = "Unison";
        StartupNotify = "true";
        X-MultipleArgs = "false";
      };
    });
  
    meta = with lib; {
      homepage = "https://www.cis.upenn.edu/~bcpierce/unison/";
      description = "Bidirectional file synchronizer";
      license = licenses.gpl3Plus;
      maintainers = with maintainers; [ viric ];
      platforms = platforms.unix;
    };
  }
  