anchor.diff:    ] ++ appimageTools.defaultFhsEnvArgs.multiPkgs args;
   
     extraInstallCommands = ''
  +    # Add desktop convencience stuff
       mv $out/bin/{${name},${pname}}
       install -Dm444 ${appimageContents}/flexoptix-app.desktop -t $out/share/applications
       install -Dm444 ${appimageContents}/flexoptix-app.png -t $out/share/pixmaps
       substituteInPlace $out/share/applications/flexoptix-app.desktop \
  -      --replace 'Exec=AppRun' "Exec=$out/bin/${pname}"
  +      --replace 'Exec=AppRun' "Exec=$out/bin/${pname} --"
  +
  +    # Add udev rules
       mkdir -p $out/lib/udev/rules.d
       ln -s ${udevRules} $out/lib/udev/rules.d/99-tprogrammer.rules
     '';
  
positive.code: { lib, appimageTools, fetchurl }: let
    pname = "flexoptix-app";
    version = "5.9.0";
    name = "${pname}-${version}";
  
    src = fetchurl {
      name = "${name}.AppImage";
      url = "https://flexbox.reconfigure.me/download/electron/linux/x64/FLEXOPTIX%20App.${version}.AppImage";
      sha256 = "0gbqaj9b11mxx0knmmh2d5863kaslbb3r6c4h8rjhg8qy4cws7hj";
    };
  
    udevRules = fetchurl {
  
negative.code:     sha256 = "0mr1bhgvavq1ax4206z1vr2y64s3r676w9jjl9ysziklbrsvk5rr";
    };
  
    appimageContents = (appimageTools.extract { inherit name src; }).overrideAttrs (oA: {
      buildCommand = ''
        ${oA.buildCommand}
  
        # Get rid of the autoupdater
        ${nodePackages.asar}/bin/asar extract $out/resources/app.asar app
        sed -i 's/async isUpdateAvailable.*/async isUpdateAvailable(updateInfo) { return false;/g' app/node_modules/electron-updater/out/AppUpdater.js
        ${nodePackages.asar}/bin/asar pack app $out/resources/app.asar
      '';
    });
  
  in appimageTools.wrapAppImage {
    inherit name;
    src = appimageContents;
  
    multiPkgs = null; # no 32bit needed
    extraPkgs = { pkgs, ... }@args: [
  