anchor.diff: -{ lib, runCommandLocal }:
  +{ lib, runCommandLocal, desktop-file-utils }:
  +
   { name
   , type ? "Application"
   , exec
  
positive.code:     ${if extraEntries == null then ''EOF'' else ''
      ${extraEntries}
      EOF''}
    ''
  
negative.code: in
  runCommandLocal "${name}.desktop" {}
    ''
      mkdir -p "$out/share/applications"
      cat > "$out/share/applications/${name}.desktop" <<EOF
      [Desktop Entry]
      Type=${type}
      Exec=${exec}
  