anchor.diff:                name = "thrift-${version}";
               in {
                 thrift93 = super.thrift.overrideAttrs ( oldAttrs: {
  -                version = version;
  -                name = name;
  -
  +                inherit name version;
                   src = self.fetchurl {
                     url = "http://archive.apache.org/dist/thrift/${version}/${name}.tar.gz";
                     sha256 = "17lnchan9q3qdg222rgjjai6819j9k755s239phdv6n0183hlx5h";
                   };
                 });
               })
  -           (self: super: {
  -              idea-ultimate = super.idea.idea-ultimate.overrideDerivation (innersuper: rec {
  -                name = "idea-ultimate-${version}";
  -                version = "2017.3.3";
  -                src = super.fetchurl {
  -                  url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
  -                  sha256 = "0mbyb31kc9d52hnbn9dclbw0q9y0c6pi8351rbq68jphslm3i9q5";
  -                };
  -              });
  -            })
  -          ];
  +            (self: super:
  +             let
  +               name = "idea-ultimate-${version}";
  +               version = "2017.3.3";
  +               oldVersion = "2017.2.5"; # super.lib.getVersion super.idea.idea-ultimate;
  +               overlayIsNewer =  super.lib.versionOlder oldVersion version;
  +             in super.lib.optionalAttrs overlayIsNewer {
  +               idea-ultimate = super.idea.idea-ultimate.overrideAttrs ( oldAttrs: {
  +                 inherit name version;
  +                 src = super.fetchurl {
  +                   url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
  +                   sha256 = "0mbyb31kc9d52hnbn9dclbw0q9y0c6pi8351rbq68jphslm3i9q5";
  +                 };
  +               });
  +             })];
           environment.systemPackages = with pkgs; [
             openvpn networkmanager_openvpn
             rdesktop
  -          # citrix_receiver
             unstable.openjdk unstable.maven unstable.gradle
             # libreoffice
             hipchat franz
  
positive.code: 
            inkscape
  
            blender
            librecad
          ];
        };
  
negative.code:           meld
            unstable.stack unstable.cabal-install unstable.cabal2nix
            gnumake cmake automake
            cloc
            gitAndTools.gitFull
            gitAndTools.tig
          ] ++ (with pkgs.unstable.haskellPackages; [
  