anchor.diff:  , optipng
   , sassc
   , which
  +, buttonSizeVariants ? [] # default to standard
  +, buttonVariants ? [] # default to all
  +, colorVariants ? [] # default to all
  +, opacityVariants ? [] # default to all
  +, themeVariants ? [] # default to MacOS blue
  +, wallpapers ? false
   }:
   
  +let
  +  pname = "mojave-gtk-theme";
  +in
  +lib.checkListOfEnum "${pname}: button size variants" [ "standard" "small" ] buttonSizeVariants
  +lib.checkListOfEnum "${pname}: button variants" [ "standard" "alt" ] buttonVariants
  +lib.checkListOfEnum "${pname}: color variants" [ "light" "dark" ] colorVariants
  +lib.checkListOfEnum "${pname}: opacity variants" [ "standard" "solid" ] opacityVariants
  +lib.checkListOfEnum "${pname}: theme variants" [ "default" "blue" "purple" "pink" "red" "orange" "yellow" "green" "grey" "all" ] themeVariants
  +
   stdenv.mkDerivation rec {
  -  pname = "mojave-gtk-theme";
  +  inherit pname;
     version = "unstable-2021-12-20";
   
     srcs = [
  
positive.code:   installPhase = ''
      runHook preInstall
  
      name= ./install.sh --theme all --dest $out/share/themes
  
      install -D -t $out/share/wallpapers ../"macOS Mojave Wallpapers"/*
  
      # Replace duplicate files with hardlinks to the first file in each
      # set of duplicates, reducing the installed size in about 53%
  
negative.code:       rev = "c148646ccab382f7a2d5fdc421fc32d843cb4172";
        sha256 = "sha256-h4MSSh8cu9M81bM+WJSyl1SQ7CVth1DvjIVOUJXqpxs";
      })
    ]
    ++
    lib.optional wallpapers
      (fetchurl {
        url = "https://github.com/vinceliuice/Mojave-gtk-theme/raw/11741a99d96953daf9c27e44c94ae50a7247c0ed/macOS_Mojave_Wallpapers.tar.xz";
        sha256 = "18zzkwm1kqzsdaj8swf0xby1n65gxnyslpw4lnxcx1rphip0rwf7";
      })
    ;
  
    sourceRoot = "source";
  
  