anchor.diff:      ln -s "${cloudAgent}/bin/cloud-agent" $out/libexec/code-server/lib/coder-cloud-agent
   
       # create wrapper
  -    makeWrapper "${nodejs-12_x}/bin/node" "$out/bin/code-server" \
  +    makeWrapper "${nodejs-14_x}/bin/node" "$out/bin/code-server" \
         --add-flags "$out/libexec/code-server/out/node/entry.js"
     '';
   
  
positive.code: { lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper, runCommand
  , moreutils, jq, git, zip, rsync, pkg-config, yarn, python2
  , nodejs-12_x, libsecret, xorg, ripgrep
  , AppKit, Cocoa, Security, cctools }:
  
  let
    system = stdenv.hostPlatform.system;
  
    nodejs = nodejs-12_x;
    python = python2;
    yarn' = yarn.override { inherit nodejs; };
    defaultYarnOpts = [ "frozen-lockfile" "non-interactive" "no-progress"];
  
  in stdenv.mkDerivation rec {
    pname = "code-server";
    version = "3.8.0";
    commit = "c4610f7829701aadb045d450013b84491c30580d";
  
    src = fetchFromGitHub {
      owner = "cdr";
      repo = "code-server";
      rev = "v${version}";
      sha256 = "1snc7dbqfz53337h6av2zhkrn54ypanxljs5by4jqczq96c2v6yk";
    };
  
    cloudAgent = buildGoModule rec {
  
negative.code: 
      # to get hash values use nix-build -A code-server.prefetchYarnCache
      outputHash = {
        x86_64-linux = "01nkqcfvx2qw9g60h8k9x221ibv3j58vdkjzcjnj7ph54a33ifih";
        aarch64-linux = "01nkqcfvx2qw9g60h8k9x221ibv3j58vdkjzcjnj7ph54a33ifih";
        x86_64-darwin = "01nkqcfvx2qw9g60h8k9x221ibv3j58vdkjzcjnj7ph54a33ifih";
      }.${system} or (throw "Unsupported system ${system}");
    };
  
  