anchor.diff:      owner = "martanne";
     };
   
  -  nativeBuildInputs = [ pkg-config makeWrapper ];
  +  nativeBuildInputs = [ pkg-config makeWrapper copyDesktopItems ];
   
     buildInputs = [
       ncurses
       libtermkey
       luaEnv
  +    tre
     ] ++ lib.optionals stdenv.isLinux [
       acl
       libselinux
  
positive.code: { lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper, makeDesktopItem
  , ncurses, libtermkey, lua
  , acl ? null, libselinux ? null
  }:
  
  let
  
negative.code:   '';
  
    postInstall = ''
      wrapProgram $out/bin/vis \
        --prefix LUA_CPATH ';' "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \
        --prefix LUA_PATH ';' "${luaEnv}/share/lua/${lua.luaversion}/?.lua" \
        --prefix VIS_PATH : "\$HOME/.config:$out/share/vis"
    '';
  
    desktopItems = [
      (makeDesktopItem {
        name = "vis";
        exec = "vis %U";
        type = "Application";
        icon = "accessories-text-editor";
        comment = meta.description;
        desktopName = "vis";
        genericName = "Text editor";
        categories = [ "Application" "Development" "IDE" ];
        mimeTypes = [ "text/plain" "application/octet-stream" ];
        startupNotify = false;
        terminal = true;
      })
    ];
  
    meta = with lib; {
      description = "A vim like editor";
  