about summary refs log tree commit diff
path: root/pkgs/development/tools/misc
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/misc')
-rw-r--r--pkgs/development/tools/misc/abi-compliance-checker/default.nix1
-rw-r--r--pkgs/development/tools/misc/abi-dumper/default.nix1
-rw-r--r--pkgs/development/tools/misc/act/default.nix1
-rw-r--r--pkgs/development/tools/misc/astyle/default.nix1
-rw-r--r--pkgs/development/tools/misc/autogen/default.nix7
-rw-r--r--pkgs/development/tools/misc/automaticcomponenttoolkit/default.nix1
-rw-r--r--pkgs/development/tools/misc/aviator/default.nix1
-rw-r--r--pkgs/development/tools/misc/bashdb/default.nix1
-rw-r--r--pkgs/development/tools/misc/blackfire/default.nix12
-rw-r--r--pkgs/development/tools/misc/bonnmotion/default.nix1
-rw-r--r--pkgs/development/tools/misc/c2ffi/default.nix1
-rw-r--r--pkgs/development/tools/misc/cbrowser/default.nix1
-rw-r--r--pkgs/development/tools/misc/cflow/default.nix1
-rw-r--r--pkgs/development/tools/misc/cgdb/default.nix1
-rw-r--r--pkgs/development/tools/misc/checkbashisms/default.nix1
-rw-r--r--pkgs/development/tools/misc/chrpath/default.nix1
-rw-r--r--pkgs/development/tools/misc/circleci-cli/default.nix6
-rw-r--r--pkgs/development/tools/misc/complgen/default.nix1
-rw-r--r--pkgs/development/tools/misc/cppi/default.nix1
-rw-r--r--pkgs/development/tools/misc/cproto/default.nix1
-rw-r--r--pkgs/development/tools/misc/creduce/default.nix1
-rw-r--r--pkgs/development/tools/misc/ctags/default.nix1
-rw-r--r--pkgs/development/tools/misc/cvise/default.nix13
-rw-r--r--pkgs/development/tools/misc/d-spy/default.nix1
-rw-r--r--pkgs/development/tools/misc/dbench/default.nix1
-rw-r--r--pkgs/development/tools/misc/ddd/default.nix1
-rw-r--r--pkgs/development/tools/misc/deheader/default.nix1
-rw-r--r--pkgs/development/tools/misc/dfu-programmer/default.nix1
-rw-r--r--pkgs/development/tools/misc/direvent/default.nix1
-rw-r--r--pkgs/development/tools/misc/dura/default.nix1
-rw-r--r--pkgs/development/tools/misc/dwz/default.nix1
-rw-r--r--pkgs/development/tools/misc/edb/default.nix1
-rw-r--r--pkgs/development/tools/misc/editorconfig-checker/default.nix1
-rw-r--r--pkgs/development/tools/misc/elfinfo/default.nix1
-rw-r--r--pkgs/development/tools/misc/ezno/default.nix1
-rw-r--r--pkgs/development/tools/misc/findnewest/default.nix1
-rw-r--r--pkgs/development/tools/misc/fsatrace/default.nix1
-rw-r--r--pkgs/development/tools/misc/fswatch/default.nix1
-rw-r--r--pkgs/development/tools/misc/fzf-make/default.nix6
-rw-r--r--pkgs/development/tools/misc/gdbgui/default.nix1
-rw-r--r--pkgs/development/tools/misc/gede/default.nix1
-rw-r--r--pkgs/development/tools/misc/gef/default.nix1
-rw-r--r--pkgs/development/tools/misc/gengetopt/default.nix1
-rw-r--r--pkgs/development/tools/misc/go-licenses/default.nix1
-rw-r--r--pkgs/development/tools/misc/go-md2man/default.nix1
-rw-r--r--pkgs/development/tools/misc/gob2/default.nix1
-rw-r--r--pkgs/development/tools/misc/gopatch/default.nix1
-rw-r--r--pkgs/development/tools/misc/gperf/3.0.x.nix1
-rw-r--r--pkgs/development/tools/misc/gpuvis/default.nix1
-rw-r--r--pkgs/development/tools/misc/grcov/default.nix1
-rw-r--r--pkgs/development/tools/misc/grpc-client-cli/default.nix1
-rw-r--r--pkgs/development/tools/misc/gtkdialog/default.nix1
-rw-r--r--pkgs/development/tools/misc/gtkperf/default.nix1
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix1
-rw-r--r--pkgs/development/tools/misc/highlight-assertions/default.nix1
-rw-r--r--pkgs/development/tools/misc/httpref/default.nix1
-rw-r--r--pkgs/development/tools/misc/husky/default.nix1
-rw-r--r--pkgs/development/tools/misc/hydra-cli/default.nix1
-rw-r--r--pkgs/development/tools/misc/hydra/unstable.nix2
-rw-r--r--pkgs/development/tools/misc/indent/default.nix1
-rw-r--r--pkgs/development/tools/misc/itstool/default.nix1
-rw-r--r--pkgs/development/tools/misc/jcli/default.nix1
-rw-r--r--pkgs/development/tools/misc/jiq/default.nix1
-rw-r--r--pkgs/development/tools/misc/k2tf/default.nix1
-rw-r--r--pkgs/development/tools/misc/kdbg/default.nix1
-rw-r--r--pkgs/development/tools/misc/kool/default.nix1
-rw-r--r--pkgs/development/tools/misc/libtree/default.nix1
-rw-r--r--pkgs/development/tools/misc/libwhich/default.nix1
-rw-r--r--pkgs/development/tools/misc/licenseclassifier/default.nix1
-rw-r--r--pkgs/development/tools/misc/linuxkit/default.nix5
-rw-r--r--pkgs/development/tools/misc/loccount/default.nix1
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix1
-rw-r--r--pkgs/development/tools/misc/ltrace/default.nix1
-rw-r--r--pkgs/development/tools/misc/lttng-tools/default.nix1
-rw-r--r--pkgs/development/tools/misc/lttng-ust/generic.nix1
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix4
-rw-r--r--pkgs/development/tools/misc/micronucleus/default.nix1
-rw-r--r--pkgs/development/tools/misc/mkcert/default.nix1
-rw-r--r--pkgs/development/tools/misc/namaka/default.nix1
-rw-r--r--pkgs/development/tools/misc/ninka/default.nix1
-rw-r--r--pkgs/development/tools/misc/nix-build-uncached/default.nix1
-rw-r--r--pkgs/development/tools/misc/nixbang/default.nix1
-rw-r--r--pkgs/development/tools/misc/objconv/default.nix1
-rw-r--r--pkgs/development/tools/misc/opengrok/default.nix1
-rw-r--r--pkgs/development/tools/misc/pahole/default.nix4
-rw-r--r--pkgs/development/tools/misc/patchelf/default.nix1
-rw-r--r--pkgs/development/tools/misc/patchelf/unstable.nix1
-rw-r--r--pkgs/development/tools/misc/patsh/default.nix1
-rw-r--r--pkgs/development/tools/misc/perfect-hash/default.nix1
-rw-r--r--pkgs/development/tools/misc/planus/default.nix1
-rw-r--r--pkgs/development/tools/misc/polylith/default.nix1
-rw-r--r--pkgs/development/tools/misc/premake/3.nix1
-rw-r--r--pkgs/development/tools/misc/premake/5.nix1
-rw-r--r--pkgs/development/tools/misc/protox/default.nix1
-rw-r--r--pkgs/development/tools/misc/ptags/default.nix1
-rw-r--r--pkgs/development/tools/misc/pwndbg/default.nix1
-rw-r--r--pkgs/development/tools/misc/pwninit/default.nix1
-rw-r--r--pkgs/development/tools/misc/qtspim/default.nix1
-rw-r--r--pkgs/development/tools/misc/regex-cli/default.nix1
-rw-r--r--pkgs/development/tools/misc/replacement/default.nix1
-rw-r--r--pkgs/development/tools/misc/reviewdog/default.nix1
-rw-r--r--pkgs/development/tools/misc/riff/default.nix1
-rw-r--r--pkgs/development/tools/misc/rolespec/default.nix1
-rw-r--r--pkgs/development/tools/misc/rsass/default.nix1
-rw-r--r--pkgs/development/tools/misc/rtss/default.nix1
-rw-r--r--pkgs/development/tools/misc/runme/default.nix1
-rw-r--r--pkgs/development/tools/misc/rustywind/default.nix7
-rw-r--r--pkgs/development/tools/misc/samply/default.nix1
-rw-r--r--pkgs/development/tools/misc/sccache/default.nix1
-rw-r--r--pkgs/development/tools/misc/scip/default.nix1
-rw-r--r--pkgs/development/tools/misc/scriptisto/default.nix1
-rw-r--r--pkgs/development/tools/misc/seer/default.nix1
-rw-r--r--pkgs/development/tools/misc/sipp/default.nix1
-rw-r--r--pkgs/development/tools/misc/slint-lsp/default.nix7
-rw-r--r--pkgs/development/tools/misc/spruce/default.nix1
-rw-r--r--pkgs/development/tools/misc/sqitch/default.nix1
-rw-r--r--pkgs/development/tools/misc/strace-analyzer/default.nix1
-rw-r--r--pkgs/development/tools/misc/strace/default.nix4
-rw-r--r--pkgs/development/tools/misc/swig/default.nix1
-rw-r--r--pkgs/development/tools/misc/sysbench/default.nix1
-rw-r--r--pkgs/development/tools/misc/tcptrack/default.nix1
-rw-r--r--pkgs/development/tools/misc/terracognita/default.nix1
-rw-r--r--pkgs/development/tools/misc/terraform-ls/default.nix1
-rw-r--r--pkgs/development/tools/misc/terraform-lsp/default.nix1
-rw-r--r--pkgs/development/tools/misc/terraformer/default.nix1
-rw-r--r--pkgs/development/tools/misc/terser/default.nix7
-rw-r--r--pkgs/development/tools/misc/texi2html/default.nix1
-rw-r--r--pkgs/development/tools/misc/texlab/default.nix9
-rw-r--r--pkgs/development/tools/misc/tie/default.nix1
-rw-r--r--pkgs/development/tools/misc/tockloader/default.nix1
-rw-r--r--pkgs/development/tools/misc/topiary/default.nix8
-rw-r--r--pkgs/development/tools/misc/travis/default.nix1
-rw-r--r--pkgs/development/tools/misc/ttags/default.nix1
-rw-r--r--pkgs/development/tools/misc/typical/default.nix1
-rw-r--r--pkgs/development/tools/misc/tyson/default.nix1
-rw-r--r--pkgs/development/tools/misc/uncrustify/default.nix1
-rw-r--r--pkgs/development/tools/misc/vtable-dumper/default.nix1
-rw-r--r--pkgs/development/tools/misc/wasmer-pack/default.nix1
-rw-r--r--pkgs/development/tools/misc/whatstyle/default.nix1
-rw-r--r--pkgs/development/tools/misc/wishbone-tool/default.nix1
-rw-r--r--pkgs/development/tools/misc/xxdiff/default.nix1
-rw-r--r--pkgs/development/tools/misc/xxgdb/default.nix1
-rw-r--r--pkgs/development/tools/misc/ycmd/default.nix1
143 files changed, 177 insertions, 52 deletions
diff --git a/pkgs/development/tools/misc/abi-compliance-checker/default.nix b/pkgs/development/tools/misc/abi-compliance-checker/default.nix
index c4dda95a7f25..3b3888861ba5 100644
--- a/pkgs/development/tools/misc/abi-compliance-checker/default.nix
+++ b/pkgs/development/tools/misc/abi-compliance-checker/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://lvc.github.io/abi-compliance-checker";
     description = "A tool for checking backward API/ABI compatibility of a C/C++ library";
+    mainProgram = "abi-compliance-checker";
     license = licenses.lgpl21;
     maintainers = [ maintainers.bhipple ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/misc/abi-dumper/default.nix b/pkgs/development/tools/misc/abi-dumper/default.nix
index 6dd2bf41ba6f..09b30b6c6231 100644
--- a/pkgs/development/tools/misc/abi-dumper/default.nix
+++ b/pkgs/development/tools/misc/abi-dumper/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/lvc/abi-dumper";
     description = "Dump ABI of an ELF object containing DWARF debug info";
+    mainProgram = "abi-dumper";
     license = licenses.lgpl21;
     maintainers = [ maintainers.bhipple ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/misc/act/default.nix b/pkgs/development/tools/misc/act/default.nix
index 23b9c24fe95c..7f4e992f0983 100644
--- a/pkgs/development/tools/misc/act/default.nix
+++ b/pkgs/development/tools/misc/act/default.nix
@@ -26,6 +26,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Run your GitHub Actions locally";
+    mainProgram = "act";
     homepage = "https://github.com/nektos/act";
     changelog = "https://github.com/nektos/act/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/astyle/default.nix b/pkgs/development/tools/misc/astyle/default.nix
index 541c9079db5b..6620207ae752 100644
--- a/pkgs/development/tools/misc/astyle/default.nix
+++ b/pkgs/development/tools/misc/astyle/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Source code indenter, formatter, and beautifier for C, C++, C# and Java";
+    mainProgram = "astyle";
     homepage = "https://astyle.sourceforge.net/";
     license = licenses.lgpl3;
     maintainers = with maintainers; [ carlossless ];
diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix
index a1e543f30fa0..3cb6760842f5 100644
--- a/pkgs/development/tools/misc/autogen/default.nix
+++ b/pkgs/development/tools/misc/autogen/default.nix
@@ -51,6 +51,12 @@ stdenv.mkDerivation rec {
       url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-devel/autogen/files/autogen-5.18.16-guile-3.patch?id=43bcc61c56a5a7de0eaf806efec7d8c0e4c01ae7";
       sha256 = "18d7y1f6164dm1wlh7rzbacfygiwrmbc35a7qqsbdawpkhydm5lr";
     })
+    (fetchpatch {
+      name = "lfs64.patch";
+      url = "https://cygwin.com/cgit/cygwin-packages/autogen/plain/5.16.2-cygwin17.patch?id=6f39882873b3d1290ba3739e0557a84bfe05ba60";
+      stripLen = 1;
+      hash = "sha256-6dk2imqForUHKhI82CTronWaS3KUWW/EKfA/JZZcRe0=";
+    })
   ];
 
   outputs = [ "bin" "dev" "lib" "out" "man" "info" ];
@@ -79,6 +85,7 @@ stdenv.mkDerivation rec {
     # If you are curious about the number 78, it has been cargo-culted from
     # Debian: https://salsa.debian.org/debian/autogen/-/blob/master/debian/rules#L21
     "--enable-timeout=78"
+    "CFLAGS=-D_FILE_OFFSET_BITS=64"
   ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     # the configure check for regcomp wants to run a host program
     "libopts_cv_with_libregex=yes"
diff --git a/pkgs/development/tools/misc/automaticcomponenttoolkit/default.nix b/pkgs/development/tools/misc/automaticcomponenttoolkit/default.nix
index cf84a98467d6..59a9914891d7 100644
--- a/pkgs/development/tools/misc/automaticcomponenttoolkit/default.nix
+++ b/pkgs/development/tools/misc/automaticcomponenttoolkit/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Toolkit to automatically generate software components: abstract API, implementation stubs and language bindings";
+    mainProgram = "act";
     homepage = "https://github.com/Autodesk/AutomaticComponentToolkit";
     license = licenses.bsd2;
     maintainers = with maintainers; [ gebner ];
diff --git a/pkgs/development/tools/misc/aviator/default.nix b/pkgs/development/tools/misc/aviator/default.nix
index fe7e1bc9cf81..69b076834f7e 100644
--- a/pkgs/development/tools/misc/aviator/default.nix
+++ b/pkgs/development/tools/misc/aviator/default.nix
@@ -20,6 +20,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Merge YAML/JSON files in a in a convenient fashion";
+    mainProgram = "aviator";
     homepage = "https://github.com/herrjulz/aviator";
     license = licenses.mit;
     maintainers = with maintainers; [ risson ];
diff --git a/pkgs/development/tools/misc/bashdb/default.nix b/pkgs/development/tools/misc/bashdb/default.nix
index 2babde7afa6b..52119250f69c 100644
--- a/pkgs/development/tools/misc/bashdb/default.nix
+++ b/pkgs/development/tools/misc/bashdb/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Bash script debugger";
+    mainProgram = "bashdb";
     homepage = "https://bashdb.sourceforge.net/";
     license = lib.licenses.gpl2;
     platforms = lib.platforms.linux;
diff --git a/pkgs/development/tools/misc/blackfire/default.nix b/pkgs/development/tools/misc/blackfire/default.nix
index 5561ea866738..a1bc14653478 100644
--- a/pkgs/development/tools/misc/blackfire/default.nix
+++ b/pkgs/development/tools/misc/blackfire/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "blackfire";
-  version = "2.26.0";
+  version = "2.26.1";
 
   src = passthru.sources.${stdenv.hostPlatform.system} or (throw "Unsupported platform for blackfire: ${stdenv.hostPlatform.system}");
 
@@ -57,23 +57,23 @@ stdenv.mkDerivation rec {
     sources = {
       "x86_64-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_amd64.deb";
-        sha256 = "MCEMWKKTvmenMsQ6Vxmi8rQ25kuOeUEES43tHaexAA8=";
+        sha256 = "Ujl9Uicz3erD6+eerlyk7JU07X9gkqVTAgEZipwWPLQ=";
       };
       "i686-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_i386.deb";
-        sha256 = "afDtzRpdvgbA/1zRbnQJsKrvSTfGLbjIgA88pAch7mA=";
+        sha256 = "aVXxPvS8ZbMYFVg5IlUwNCJTh3mPpG/r71mHvKw/tuQ=";
       };
       "aarch64-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_arm64.deb";
-        sha256 = "Noqle0K/H0wKwl4U8idoMT5wWY12W7p7nHMybbf3Ztc=";
+        sha256 = "I82I9+0IFPLkyfQJM1q/yYtX1QQhxPK0ZMm2tJaeDA8=";
       };
       "aarch64-darwin" = fetchurl {
         url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_arm64.pkg.tar.gz";
-        sha256 = "5AWsUUHTpCakG3WLUq+SZDjj0lvnYllzbBojpOgUQtA=";
+        sha256 = "yT3zZqtP7mInyjnfaalONvMNGywGylXsmReE3kzgKVg=";
       };
       "x86_64-darwin" = fetchurl {
         url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_amd64.pkg.tar.gz";
-        sha256 = "67xVi+FXztNIJe+kjXSwYHsX/1PWHP0QeFI8AwnrdP0=";
+        sha256 = "TlOa7/W1ChHV4Wwu6jEp9Jxl+PA/l48Te1H+u9sfiWc=";
       };
     };
 
diff --git a/pkgs/development/tools/misc/bonnmotion/default.nix b/pkgs/development/tools/misc/bonnmotion/default.nix
index cdd583bf4484..558902debd12 100644
--- a/pkgs/development/tools/misc/bonnmotion/default.nix
+++ b/pkgs/development/tools/misc/bonnmotion/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A mobility scenario generation and analysis tool";
+    mainProgram = "bm";
     longDescription = ''
       BonnMotion is a Java software which creates and analyzes mobility
       scenarios and is most commonly used as a tool for the investigation of
diff --git a/pkgs/development/tools/misc/c2ffi/default.nix b/pkgs/development/tools/misc/c2ffi/default.nix
index 77998dc339a0..a66ae2aa35ea 100644
--- a/pkgs/development/tools/misc/c2ffi/default.nix
+++ b/pkgs/development/tools/misc/c2ffi/default.nix
@@ -50,6 +50,7 @@ llvmPackages.stdenv.mkDerivation {
   meta = with lib; {
     homepage = "https://github.com/rpav/c2ffi";
     description = "An LLVM based tool for extracting definitions from C, C++, and Objective C header files for use with foreign function call interfaces";
+    mainProgram = "c2ffi";
     license = licenses.lgpl21Only;
     maintainers = with maintainers; [ ];
  };
diff --git a/pkgs/development/tools/misc/cbrowser/default.nix b/pkgs/development/tools/misc/cbrowser/default.nix
index a8f6e32f1e08..3bd4d3fc721c 100644
--- a/pkgs/development/tools/misc/cbrowser/default.nix
+++ b/pkgs/development/tools/misc/cbrowser/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Tcl/Tk GUI front-end to cscope";
+    mainProgram = "cbrowser";
 
     license = lib.licenses.gpl2Plus;
 
diff --git a/pkgs/development/tools/misc/cflow/default.nix b/pkgs/development/tools/misc/cflow/default.nix
index ab9966c6fca6..9cdd8595a421 100644
--- a/pkgs/development/tools/misc/cflow/default.nix
+++ b/pkgs/development/tools/misc/cflow/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tool to analyze the control flow of C programs";
+    mainProgram = "cflow";
 
     longDescription = ''
       GNU cflow analyzes a collection of C source files and prints a
diff --git a/pkgs/development/tools/misc/cgdb/default.nix b/pkgs/development/tools/misc/cgdb/default.nix
index 62d26c09e514..6bf752cb5bcf 100644
--- a/pkgs/development/tools/misc/cgdb/default.nix
+++ b/pkgs/development/tools/misc/cgdb/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A curses interface to gdb";
+    mainProgram = "cgdb";
 
     homepage = "https://cgdb.github.io/";
 
diff --git a/pkgs/development/tools/misc/checkbashisms/default.nix b/pkgs/development/tools/misc/checkbashisms/default.nix
index b648a082fa3f..a9840a7cf277 100644
--- a/pkgs/development/tools/misc/checkbashisms/default.nix
+++ b/pkgs/development/tools/misc/checkbashisms/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://sourceforge.net/projects/checkbaskisms/";
     description = "Check shell scripts for non-portable syntax";
+    mainProgram = "checkbashisms";
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ kaction ];
     platforms = lib.platforms.unix;
diff --git a/pkgs/development/tools/misc/chrpath/default.nix b/pkgs/development/tools/misc/chrpath/default.nix
index 97da80cc7339..32cb4864a357 100644
--- a/pkgs/development/tools/misc/chrpath/default.nix
+++ b/pkgs/development/tools/misc/chrpath/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Command line tool to adjust the RPATH or RUNPATH of ELF binaries";
+    mainProgram = "chrpath";
     longDescription = ''
       chrpath changes, lists or removes the rpath or runpath setting in a
       binary. The rpath, or runpath if it is present, is where the runtime
diff --git a/pkgs/development/tools/misc/circleci-cli/default.nix b/pkgs/development/tools/misc/circleci-cli/default.nix
index 5b3ac8eeb27f..4afcebe5d98f 100644
--- a/pkgs/development/tools/misc/circleci-cli/default.nix
+++ b/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "circleci-cli";
-  version = "0.1.30401";
+  version = "0.1.30549";
 
   src = fetchFromGitHub {
     owner = "CircleCI-Public";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ebZEZ24KQgGOimCIRHlI5Uwv1dO1W7s0dTrY/n3y9Ao=";
+    sha256 = "sha256-dzKMj1JKalbdID113cfFA1hbOW7PQk3pfJaRqIJdpts=";
   };
 
-  vendorHash = "sha256-GOC1ZL0F/VwLuQ5d8OpAczw59lnyindp8LKmBd+jwgI=";
+  vendorHash = "sha256-60edYYhbSPiJWmuQXXEt+xCnSxsHf8Q38RgyWwdP6vQ=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/misc/complgen/default.nix b/pkgs/development/tools/misc/complgen/default.nix
index 2f8d5e345678..8a540e77cfe2 100644
--- a/pkgs/development/tools/misc/complgen/default.nix
+++ b/pkgs/development/tools/misc/complgen/default.nix
@@ -18,6 +18,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Generate {bash,fish,zsh} completions from a single EBNF-like grammar";
+    mainProgram = "complgen";
     homepage = "https://github.com/adaszko/complgen";
     changelog = "https://github.com/adaszko/complgen/blob/${src.rev}/CHANGELOG.md";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/misc/cppi/default.nix b/pkgs/development/tools/misc/cppi/default.nix
index b0dcfc6aa5ca..d8144dd5e9b0 100644
--- a/pkgs/development/tools/misc/cppi/default.nix
+++ b/pkgs/development/tools/misc/cppi/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     homepage = "https://savannah.gnu.org/projects/cppi/";
 
     description = "A C preprocessor directive indenter";
+    mainProgram = "cppi";
 
     longDescription =
       '' GNU cppi indents C preprocessor directives to reflect their nesting
diff --git a/pkgs/development/tools/misc/cproto/default.nix b/pkgs/development/tools/misc/cproto/default.nix
index 9131a1795a25..976f34f35fb5 100644
--- a/pkgs/development/tools/misc/cproto/default.nix
+++ b/pkgs/development/tools/misc/cproto/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tool to generate C function prototypes from C source code";
+    mainProgram = "cproto";
     homepage = "https://invisible-island.net/cproto/";
     license = licenses.publicDomain;
     platforms = platforms.all;
diff --git a/pkgs/development/tools/misc/creduce/default.nix b/pkgs/development/tools/misc/creduce/default.nix
index 918bd2efab73..90da97ae9e18 100644
--- a/pkgs/development/tools/misc/creduce/default.nix
+++ b/pkgs/development/tools/misc/creduce/default.nix
@@ -59,6 +59,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A C program reducer";
+    mainProgram = "creduce";
     homepage = "https://embed.cs.utah.edu/creduce";
     # Officially, the license is: https://github.com/csmith-project/creduce/blob/master/COPYING
     license = licenses.ncsa;
diff --git a/pkgs/development/tools/misc/ctags/default.nix b/pkgs/development/tools/misc/ctags/default.nix
index b33d6cafbe4a..228de9300b0c 100644
--- a/pkgs/development/tools/misc/ctags/default.nix
+++ b/pkgs/development/tools/misc/ctags/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A tool for fast source code browsing (exuberant ctags)";
+    mainProgram = "ctags";
     longDescription = ''
       Ctags generates an index (or tag) file of language objects found
       in source files that allows these items to be quickly and easily
diff --git a/pkgs/development/tools/misc/cvise/default.nix b/pkgs/development/tools/misc/cvise/default.nix
index f65b0386cfd8..129b534339ee 100644
--- a/pkgs/development/tools/misc/cvise/default.nix
+++ b/pkgs/development/tools/misc/cvise/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonApplication
 , fetchFromGitHub
-, fetchpatch
 , bash
 , cmake
 , colordiff
@@ -17,27 +16,19 @@
 
 buildPythonApplication rec {
   pname = "cvise";
-  version = "2.9.0";
+  version = "2.10.0";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "marxin";
     repo = "cvise";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4LEKVh3jNU3xOq75+IQezjhbL/6uAGQ3r0Au2cxx1WA=";
+    hash = "sha256-0gk4O1q90eH1FMhj4ncNVqX/MfVyaU0nckh1xny2wlM=";
   };
 
   patches = [
     # Refer to unifdef by absolute path.
     ./unifdef.patch
-
-    # Refer to shell via /usr/bin/env:
-    #   https://github.com/marxin/cvise/pull/121
-    (fetchpatch {
-      name = "env-shell.patch";
-      url = "https://github.com/marxin/cvise/commit/6a416eb590be978a2ad25c610974fdde84e88651.patch";
-      hash = "sha256-Kn6+TXP+wJpMs6jrgsa9OwjXf6vmIgGzny8jg3dfKWA=";
-    })
   ];
 
   postPatch = ''
diff --git a/pkgs/development/tools/misc/d-spy/default.nix b/pkgs/development/tools/misc/d-spy/default.nix
index 2d2ca20c0bc4..e48a51f4870f 100644
--- a/pkgs/development/tools/misc/d-spy/default.nix
+++ b/pkgs/development/tools/misc/d-spy/default.nix
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "D-Bus exploration tool";
+    mainProgram = "d-spy";
     homepage = "https://gitlab.gnome.org/GNOME/d-spy";
     license = with licenses; [
       lgpl3Plus # library
diff --git a/pkgs/development/tools/misc/dbench/default.nix b/pkgs/development/tools/misc/dbench/default.nix
index bb95f21f68d6..796536b9e2aa 100644
--- a/pkgs/development/tools/misc/dbench/default.nix
+++ b/pkgs/development/tools/misc/dbench/default.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Filesystem benchmark tool based on load patterns";
+    mainProgram = "dbench";
     homepage = "https://dbench.samba.org/";
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/misc/ddd/default.nix b/pkgs/development/tools/misc/ddd/default.nix
index e3d55472faac..10f3fa161f73 100644
--- a/pkgs/development/tools/misc/ddd/default.nix
+++ b/pkgs/development/tools/misc/ddd/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://www.gnu.org/software/ddd";
     description = "Graphical front-end for command-line debuggers";
+    mainProgram = "ddd";
     license = lib.licenses.gpl3Plus;
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ emilytrau ];
diff --git a/pkgs/development/tools/misc/deheader/default.nix b/pkgs/development/tools/misc/deheader/default.nix
index 7847c29f67c5..5c2fdb20376f 100644
--- a/pkgs/development/tools/misc/deheader/default.nix
+++ b/pkgs/development/tools/misc/deheader/default.nix
@@ -51,6 +51,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tool to find and optionally remove unneeded includes in C or C++ source files";
+    mainProgram = "deheader";
     longDescription = ''
       This tool takes a list of C or C++ sourcefiles and generates a report
       on which #includes can be omitted from them -- the test, for each foo.c
diff --git a/pkgs/development/tools/misc/dfu-programmer/default.nix b/pkgs/development/tools/misc/dfu-programmer/default.nix
index 062f68c83438..71658e18d552 100644
--- a/pkgs/development/tools/misc/dfu-programmer/default.nix
+++ b/pkgs/development/tools/misc/dfu-programmer/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     license = licenses.gpl2;
     description = "A Device Firmware Update based USB programmer for Atmel chips with a USB bootloader";
+    mainProgram = "dfu-programmer";
     homepage = "http://dfu-programmer.sourceforge.net/";
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/tools/misc/direvent/default.nix b/pkgs/development/tools/misc/direvent/default.nix
index 79a238ad0c0c..bc7b7b5160a1 100644
--- a/pkgs/development/tools/misc/direvent/default.nix
+++ b/pkgs/development/tools/misc/direvent/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Directory event monitoring daemon";
+    mainProgram = "direvent";
     homepage = "https://www.gnu.org.ua/software/direvent/";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/misc/dura/default.nix b/pkgs/development/tools/misc/dura/default.nix
index eba3f16c3659..f82205dacaa7 100644
--- a/pkgs/development/tools/misc/dura/default.nix
+++ b/pkgs/development/tools/misc/dura/default.nix
@@ -31,6 +31,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A background process that saves uncommitted changes on git";
+    mainProgram = "dura";
     longDescription = ''
       Dura is a background process that watches your Git repositories and
       commits your uncommitted changes without impacting HEAD, the current
diff --git a/pkgs/development/tools/misc/dwz/default.nix b/pkgs/development/tools/misc/dwz/default.nix
index 0a13d4a68dd0..852201cf7114 100644
--- a/pkgs/development/tools/misc/dwz/default.nix
+++ b/pkgs/development/tools/misc/dwz/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://sourceware.org/dwz/";
     description = "DWARF optimization and duplicate removal tool";
+    mainProgram = "dwz";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ jbcrail ];
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/misc/edb/default.nix b/pkgs/development/tools/misc/edb/default.nix
index fdde4064698c..d6fac75190f6 100644
--- a/pkgs/development/tools/misc/edb/default.nix
+++ b/pkgs/development/tools/misc/edb/default.nix
@@ -34,6 +34,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Cross platform AArch32/x86/x86-64 debugger";
+    mainProgram = "edb";
     homepage = "https://github.com/eteran/edb-debugger";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ lihop maxxk ];
diff --git a/pkgs/development/tools/misc/editorconfig-checker/default.nix b/pkgs/development/tools/misc/editorconfig-checker/default.nix
index 3aedd876de6d..2b3844cefcbc 100644
--- a/pkgs/development/tools/misc/editorconfig-checker/default.nix
+++ b/pkgs/development/tools/misc/editorconfig-checker/default.nix
@@ -30,6 +30,7 @@ buildGoModule rec {
   meta = with lib; {
     changelog = "https://github.com/editorconfig-checker/editorconfig-checker/releases/tag/${src.rev}";
     description = "A tool to verify that your files are in harmony with your .editorconfig";
+    mainProgram = "editorconfig-checker";
     homepage = "https://editorconfig-checker.github.io/";
     license = licenses.mit;
     maintainers = with maintainers; [ uri-canva zowoq ];
diff --git a/pkgs/development/tools/misc/elfinfo/default.nix b/pkgs/development/tools/misc/elfinfo/default.nix
index 5ea97b77eeb8..6b0c5b21af41 100644
--- a/pkgs/development/tools/misc/elfinfo/default.nix
+++ b/pkgs/development/tools/misc/elfinfo/default.nix
@@ -18,6 +18,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Small utility for showing information about ELF files";
+    mainProgram = "elfinfo";
     homepage = "https://elfinfo.roboticoverlords.org/";
     changelog = "https://github.com/xyproto/elfinfo/releases/tag/${version}";
     license = licenses.bsd3;
diff --git a/pkgs/development/tools/misc/ezno/default.nix b/pkgs/development/tools/misc/ezno/default.nix
index a31ab1560746..89654eef5c56 100644
--- a/pkgs/development/tools/misc/ezno/default.nix
+++ b/pkgs/development/tools/misc/ezno/default.nix
@@ -26,6 +26,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A JavaScript compiler and TypeScript checker with a focus on static analysis and runtime performance";
+    mainProgram = "ezno";
     homepage = "https://github.com/kaleidawave/ezno";
     changelog = "https://github.com/kaleidawave/ezno/releases/tag/${src.rev}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/findnewest/default.nix b/pkgs/development/tools/misc/findnewest/default.nix
index 6773e9bc0bd4..adf791cf6030 100644
--- a/pkgs/development/tools/misc/findnewest/default.nix
+++ b/pkgs/development/tools/misc/findnewest/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/0-wiz-0/findnewest";
     description = "Recursively find newest file in a hierarchy and print its timestamp";
+    mainProgram = "fn";
     license = licenses.bsd2;
     maintainers = with maintainers; [ bhipple ];
   };
diff --git a/pkgs/development/tools/misc/fsatrace/default.nix b/pkgs/development/tools/misc/fsatrace/default.nix
index 408a88687e64..d99374ac5373 100644
--- a/pkgs/development/tools/misc/fsatrace/default.nix
+++ b/pkgs/development/tools/misc/fsatrace/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/jacereda/fsatrace";
     description = "filesystem access tracer";
+    mainProgram = "fsatrace";
     license = licenses.isc;
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/tools/misc/fswatch/default.nix b/pkgs/development/tools/misc/fswatch/default.nix
index 7b8f9638b7b9..0422da98839b 100644
--- a/pkgs/development/tools/misc/fswatch/default.nix
+++ b/pkgs/development/tools/misc/fswatch/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A cross-platform file change monitor with multiple backends";
+    mainProgram = "fswatch";
     homepage = "https://github.com/emcrisostomo/fswatch";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
diff --git a/pkgs/development/tools/misc/fzf-make/default.nix b/pkgs/development/tools/misc/fzf-make/default.nix
index faf9a8740e11..c51e14bc3cd6 100644
--- a/pkgs/development/tools/misc/fzf-make/default.nix
+++ b/pkgs/development/tools/misc/fzf-make/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fzf-make";
-  version = "0.24.0";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "kyu08";
     repo = "fzf-make";
     rev = "v${version}";
-    hash = "sha256-2RA4EVhmn8edolUeL7y9b8PssPSGIZZjHx340J0GqVE=";
+    hash = "sha256-jElKCOCTG33ysePz4SfrbN9xWdTB83G+/9DUqNKI6x8=";
   };
 
-  cargoHash = "sha256-Jfh+PMOep1WWTyt+LTGg+3f9pb6DlWu4ZLE9qvv8QyQ=";
+  cargoHash = "sha256-kXp/2F32aJFQ5z0TeggZWv1S2rDpnTPEYyHNZCtEjtg=";
 
   nativeBuildInputs = [ makeBinaryWrapper ];
 
diff --git a/pkgs/development/tools/misc/gdbgui/default.nix b/pkgs/development/tools/misc/gdbgui/default.nix
index d42639892062..8702fc32b481 100644
--- a/pkgs/development/tools/misc/gdbgui/default.nix
+++ b/pkgs/development/tools/misc/gdbgui/default.nix
@@ -44,6 +44,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "A browser-based frontend for GDB";
+    mainProgram = "gdbgui";
     homepage = "https://www.gdbgui.com/";
     license = licenses.gpl3;
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/misc/gede/default.nix b/pkgs/development/tools/misc/gede/default.nix
index 12fe5b19a986..6ae512657666 100644
--- a/pkgs/development/tools/misc/gede/default.nix
+++ b/pkgs/development/tools/misc/gede/default.nix
@@ -27,6 +27,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Graphical frontend (GUI) to GDB";
+    mainProgram = "gede";
     homepage = "http://gede.dexar.se";
     license = licenses.bsd2;
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/misc/gef/default.nix b/pkgs/development/tools/misc/gef/default.nix
index ddd1bf746e6c..9b9d81ca5c0e 100644
--- a/pkgs/development/tools/misc/gef/default.nix
+++ b/pkgs/development/tools/misc/gef/default.nix
@@ -75,6 +75,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A modern experience for GDB with advanced debugging features for exploit developers & reverse engineers";
+    mainProgram = "gef";
     homepage = "https://github.com/hugsy/gef";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/development/tools/misc/gengetopt/default.nix b/pkgs/development/tools/misc/gengetopt/default.nix
index 6420d56bba2f..9ef5ec24d545 100644
--- a/pkgs/development/tools/misc/gengetopt/default.nix
+++ b/pkgs/development/tools/misc/gengetopt/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Command-line option parser generator";
+    mainProgram = "gengetopt";
 
     longDescription =
       '' GNU Gengetopt program generates a C function that uses getopt_long
diff --git a/pkgs/development/tools/misc/go-licenses/default.nix b/pkgs/development/tools/misc/go-licenses/default.nix
index d6bea02c05bd..6d1e6dce1609 100644
--- a/pkgs/development/tools/misc/go-licenses/default.nix
+++ b/pkgs/development/tools/misc/go-licenses/default.nix
@@ -53,6 +53,7 @@ buildGoModule rec {
   meta = with lib; {
     changelog = "https://github.com/google/go-licenses/releases/tag/v${version}";
     description = "Reports on the licenses used by a Go package and its dependencies";
+    mainProgram = "go-licenses";
     homepage = "https://github.com/google/go-licenses";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ Luflosi ];
diff --git a/pkgs/development/tools/misc/go-md2man/default.nix b/pkgs/development/tools/misc/go-md2man/default.nix
index e569009f273d..86d27a587b73 100644
--- a/pkgs/development/tools/misc/go-md2man/default.nix
+++ b/pkgs/development/tools/misc/go-md2man/default.nix
@@ -15,6 +15,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Go tool to convert markdown to man pages";
+    mainProgram = "go-md2man";
     license = licenses.mit;
     homepage = "https://github.com/cpuguy83/go-md2man";
     maintainers = with maintainers; [offline];
diff --git a/pkgs/development/tools/misc/gob2/default.nix b/pkgs/development/tools/misc/gob2/default.nix
index 06487845fb3d..deef55569e90 100644
--- a/pkgs/development/tools/misc/gob2/default.nix
+++ b/pkgs/development/tools/misc/gob2/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Preprocessor for making GObjects with inline C code";
+    mainProgram = "gob2";
     homepage = "https://www.jirka.org/gob.html";
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.unix;
diff --git a/pkgs/development/tools/misc/gopatch/default.nix b/pkgs/development/tools/misc/gopatch/default.nix
index 162f60cb30c1..afa2bd752296 100644
--- a/pkgs/development/tools/misc/gopatch/default.nix
+++ b/pkgs/development/tools/misc/gopatch/default.nix
@@ -36,6 +36,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Refactoring and code transformation tool for Go";
+    mainProgram = "gopatch";
     homepage = "https://github.com/uber-go/gopatch";
     changelog = "https://github.com/uber-go/gopatch/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/gperf/3.0.x.nix b/pkgs/development/tools/misc/gperf/3.0.x.nix
index 8a2fdf6ec4b3..bceef7502a87 100644
--- a/pkgs/development/tools/misc/gperf/3.0.x.nix
+++ b/pkgs/development/tools/misc/gperf/3.0.x.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Perfect hash function generator";
+    mainProgram = "gperf";
 
     longDescription = ''
       GNU gperf is a perfect hash function generator.  For a given
diff --git a/pkgs/development/tools/misc/gpuvis/default.nix b/pkgs/development/tools/misc/gpuvis/default.nix
index c0a10a09b02b..d553f29db06e 100644
--- a/pkgs/development/tools/misc/gpuvis/default.nix
+++ b/pkgs/development/tools/misc/gpuvis/default.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "GPU Trace Visualizer";
+    mainProgram = "gpuvis";
     homepage = "https://github.com/mikesart/gpuvis";
     license = licenses.mit;
     maintainers = with maintainers; [ emantor ];
diff --git a/pkgs/development/tools/misc/grcov/default.nix b/pkgs/development/tools/misc/grcov/default.nix
index c40fea7f397e..d097f389deb9 100644
--- a/pkgs/development/tools/misc/grcov/default.nix
+++ b/pkgs/development/tools/misc/grcov/default.nix
@@ -31,6 +31,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description =
       "Rust tool to collect and aggregate code coverage data for multiple source files";
+    mainProgram = "grcov";
     homepage = "https://github.com/mozilla/grcov";
     license = licenses.mpl20;
     maintainers = with maintainers; [ DieracDelta ];
diff --git a/pkgs/development/tools/misc/grpc-client-cli/default.nix b/pkgs/development/tools/misc/grpc-client-cli/default.nix
index a44a550c2fb8..5a337aafb9e9 100644
--- a/pkgs/development/tools/misc/grpc-client-cli/default.nix
+++ b/pkgs/development/tools/misc/grpc-client-cli/default.nix
@@ -15,6 +15,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "generic gRPC command line client";
+    mainProgram = "grpc-client-cli";
     maintainers = with maintainers; [ Philipp-M ];
     homepage = "https://github.com/vadimi/grpc-client-cli";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/gtkdialog/default.nix b/pkgs/development/tools/misc/gtkdialog/default.nix
index 995a6bb9cdb9..378cdb5705d2 100644
--- a/pkgs/development/tools/misc/gtkdialog/default.nix
+++ b/pkgs/development/tools/misc/gtkdialog/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
     homepage = "https://code.google.com/archive/p/gtkdialog/";
     # community links: http://murga-linux.com/puppy/viewtopic.php?t=111923 -> https://github.com/01micko/gtkdialog
     description = "Small utility for fast and easy GUI building from many scripted and compiled languages";
+    mainProgram = "gtkdialog";
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.linux;
   };
diff --git a/pkgs/development/tools/misc/gtkperf/default.nix b/pkgs/development/tools/misc/gtkperf/default.nix
index c977ca3070e4..a478306cad67 100644
--- a/pkgs/development/tools/misc/gtkperf/default.nix
+++ b/pkgs/development/tools/misc/gtkperf/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Application designed to test GTK performance";
+    mainProgram = "gtkperf";
     homepage = "https://gtkperf.sourceforge.net/";
     license = with licenses; [ gpl2 ];
     maintainers = with maintainers; [ dtzWill ];
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index 5c54941b9077..9fd35a094db8 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Generate man pages from `--help' output";
+    mainProgram = "help2man";
     longDescription = ''
       help2man produces simple manual pages from the ‘--help’ and ‘--version’ output of other commands.
     '';
diff --git a/pkgs/development/tools/misc/highlight-assertions/default.nix b/pkgs/development/tools/misc/highlight-assertions/default.nix
index 9e4ed0e61dd8..5db0a722dc10 100644
--- a/pkgs/development/tools/misc/highlight-assertions/default.nix
+++ b/pkgs/development/tools/misc/highlight-assertions/default.nix
@@ -18,6 +18,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A tool for unit testing tree sitter highlights for nvim-treesitter";
+    mainProgram = "highlight-assertions";
     homepage = "https://github.com/thehamsta/highlight-assertions";
     license = licenses.asl20;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/development/tools/misc/httpref/default.nix b/pkgs/development/tools/misc/httpref/default.nix
index 4417a81b66ec..f2c0f58a3094 100644
--- a/pkgs/development/tools/misc/httpref/default.nix
+++ b/pkgs/development/tools/misc/httpref/default.nix
@@ -20,6 +20,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Command line, offline, access to HTTP status code, common header, and port references";
+    mainProgram = "httpref";
     homepage = "https://github.com/dnnrly/httpref";
     changelog = "https://github.com/dnnrly/httpref/releases/tag/${src.rev}";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/misc/husky/default.nix b/pkgs/development/tools/misc/husky/default.nix
index dd2fef2a6026..cd613b925b2d 100644
--- a/pkgs/development/tools/misc/husky/default.nix
+++ b/pkgs/development/tools/misc/husky/default.nix
@@ -15,6 +15,7 @@ buildNpmPackage rec {
 
   meta = with lib; {
     description = "Git hooks made easy 🐶 woof!";
+    mainProgram = "husky";
     homepage = "https://github.com/typicode/husky";
     changelog = "https://github.com/typicode/husky/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/hydra-cli/default.nix b/pkgs/development/tools/misc/hydra-cli/default.nix
index 05829eb0c999..6044aa99216b 100644
--- a/pkgs/development/tools/misc/hydra-cli/default.nix
+++ b/pkgs/development/tools/misc/hydra-cli/default.nix
@@ -41,6 +41,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A client for the Hydra CI";
+    mainProgram = "hydra-cli";
     homepage = "https://github.com/nlewo/hydra-cli";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ gilligan lewo ];
diff --git a/pkgs/development/tools/misc/hydra/unstable.nix b/pkgs/development/tools/misc/hydra/unstable.nix
index 3d5d81452af3..a45cb9883b39 100644
--- a/pkgs/development/tools/misc/hydra/unstable.nix
+++ b/pkgs/development/tools/misc/hydra/unstable.nix
@@ -234,8 +234,6 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  dontStrip = true;
-
   doCheck = true;
 
   passthru = {
diff --git a/pkgs/development/tools/misc/indent/default.nix b/pkgs/development/tools/misc/indent/default.nix
index 8e6ba9b70c04..c7cef90d0a43 100644
--- a/pkgs/development/tools/misc/indent/default.nix
+++ b/pkgs/development/tools/misc/indent/default.nix
@@ -56,6 +56,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://www.gnu.org/software/indent/";
     description = "A source code reformatter";
+    mainProgram = "indent";
     license = lib.licenses.gpl3Plus;
     maintainers = [ lib.maintainers.mmahut ];
     platforms = lib.platforms.unix;
diff --git a/pkgs/development/tools/misc/itstool/default.nix b/pkgs/development/tools/misc/itstool/default.nix
index 0f2633d71e6f..c8889d33401b 100644
--- a/pkgs/development/tools/misc/itstool/default.nix
+++ b/pkgs/development/tools/misc/itstool/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://itstool.org/";
     description = "XML to PO and back again";
+    mainProgram = "itstool";
     license = lib.licenses.gpl3Plus;
     platforms = lib.platforms.all;
     maintainers = [ ];
diff --git a/pkgs/development/tools/misc/jcli/default.nix b/pkgs/development/tools/misc/jcli/default.nix
index 0333b74e3e0c..f5d9d7a85899 100644
--- a/pkgs/development/tools/misc/jcli/default.nix
+++ b/pkgs/development/tools/misc/jcli/default.nix
@@ -21,6 +21,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Jenkins CLI allows you to manage your Jenkins in an easy way";
+    mainProgram = "jcli";
     homepage = "https://jcli.jenkins-zh.cn/";
     license = licenses.mit;
     maintainers = with maintainers; [ sikmir ];
diff --git a/pkgs/development/tools/misc/jiq/default.nix b/pkgs/development/tools/misc/jiq/default.nix
index 2a0f0ed822c0..34177e142d1c 100644
--- a/pkgs/development/tools/misc/jiq/default.nix
+++ b/pkgs/development/tools/misc/jiq/default.nix
@@ -26,6 +26,7 @@ buildGoModule rec {
     homepage = "https://github.com/fiatjaf/jiq";
     license = licenses.mit;
     description = "jid on jq - interactive JSON query tool using jq expressions";
+    mainProgram = "jiq";
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/misc/k2tf/default.nix b/pkgs/development/tools/misc/k2tf/default.nix
index 35eb679281aa..0da0d51f3bc4 100644
--- a/pkgs/development/tools/misc/k2tf/default.nix
+++ b/pkgs/development/tools/misc/k2tf/default.nix
@@ -26,6 +26,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Kubernetes YAML to Terraform HCL converter";
+    mainProgram = "k2tf";
     homepage = "https://github.com/sl1pm4t/k2tf";
     license = licenses.mpl20;
     maintainers = [ maintainers.flokli ];
diff --git a/pkgs/development/tools/misc/kdbg/default.nix b/pkgs/development/tools/misc/kdbg/default.nix
index 283089abb99a..cd3284023944 100644
--- a/pkgs/development/tools/misc/kdbg/default.nix
+++ b/pkgs/development/tools/misc/kdbg/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
       intuitive interface for setting breakpoints, inspecting variables, and
       stepping through code.
     '';
+    mainProgram = "kdbg";
     license = licenses.gpl2;
     maintainers = [ maintainers.catern ];
   };
diff --git a/pkgs/development/tools/misc/kool/default.nix b/pkgs/development/tools/misc/kool/default.nix
index fc747a476bdc..dd5a79f17ee4 100644
--- a/pkgs/development/tools/misc/kool/default.nix
+++ b/pkgs/development/tools/misc/kool/default.nix
@@ -32,6 +32,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "From local development to the cloud: development workflow made easy";
+    mainProgram = "kool";
     homepage = "https://kool.dev";
     changelog = "https://github.com/kool-dev/kool/releases/tag/${src.rev}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/libtree/default.nix b/pkgs/development/tools/misc/libtree/default.nix
index 24083a60d28e..621ab218669e 100644
--- a/pkgs/development/tools/misc/libtree/default.nix
+++ b/pkgs/development/tools/misc/libtree/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "Tree ldd with an option to bundle dependencies into a single folder";
+    mainProgram = "libtree";
     homepage = "https://github.com/haampie/libtree";
     license = licenses.mit;
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/misc/libwhich/default.nix b/pkgs/development/tools/misc/libwhich/default.nix
index aee79b826444..915e1018c561 100644
--- a/pkgs/development/tools/misc/libwhich/default.nix
+++ b/pkgs/development/tools/misc/libwhich/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Like `which`, for dynamic libraries";
+    mainProgram = "libwhich";
     homepage = "https://github.com/vtjnash/libwhich";
     license = licenses.mit;
     maintainers = with maintainers; [ dtzWill ];
diff --git a/pkgs/development/tools/misc/licenseclassifier/default.nix b/pkgs/development/tools/misc/licenseclassifier/default.nix
index 05a858130b39..11e986c245b0 100644
--- a/pkgs/development/tools/misc/licenseclassifier/default.nix
+++ b/pkgs/development/tools/misc/licenseclassifier/default.nix
@@ -23,6 +23,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A License Classifier";
+    mainProgram = "identify_license";
     longDescription = ''
       The license classifier can analyze text to determine what type of license
       it contains. It searches for license texts in a file and compares them to
diff --git a/pkgs/development/tools/misc/linuxkit/default.nix b/pkgs/development/tools/misc/linuxkit/default.nix
index 73ea58a17e4d..ebad2ed30f3b 100644
--- a/pkgs/development/tools/misc/linuxkit/default.nix
+++ b/pkgs/development/tools/misc/linuxkit/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "linuxkit";
-  version = "1.0.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "linuxkit";
     repo = "linuxkit";
     rev = "v${version}";
-    sha256 = "sha256-8x9oJaYb/mN2TUaVrGOYi5/6TETD78jif0SwCSc0kyo=";
+    sha256 = "sha256-PrHGIP74mDt+mJDRaCsroiJ4QEW4/tzgsZI2JlZ8TEA=";
   };
 
   vendorHash = null;
@@ -53,6 +53,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A toolkit for building secure, portable and lean operating systems for containers";
+    mainProgram = "linuxkit";
     license = licenses.asl20;
     homepage = "https://github.com/linuxkit/linuxkit";
     maintainers = with maintainers; [ nicknovitski ];
diff --git a/pkgs/development/tools/misc/loccount/default.nix b/pkgs/development/tools/misc/loccount/default.nix
index d51cec639c1d..fa128cf3cb5c 100644
--- a/pkgs/development/tools/misc/loccount/default.nix
+++ b/pkgs/development/tools/misc/loccount/default.nix
@@ -26,6 +26,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Re-implementation of sloccount in Go";
+    mainProgram = "loccount";
     longDescription = ''
       loccount is a re-implementation of David A. Wheeler's sloccount tool
       in Go.  It is faster and handles more different languages. Because
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index eece4f972231..4cce674820af 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -56,6 +56,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/lsof-org/lsof";
     description = "A tool to list open files";
+    mainProgram = "lsof";
     longDescription = ''
       List open files. Can show what process has opened some file,
       socket (IPv6/IPv4/UNIX local), or partition (by opening a file
diff --git a/pkgs/development/tools/misc/ltrace/default.nix b/pkgs/development/tools/misc/ltrace/default.nix
index 9114e7cf4cef..c9ba073f6b34 100644
--- a/pkgs/development/tools/misc/ltrace/default.nix
+++ b/pkgs/development/tools/misc/ltrace/default.nix
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Library call tracer";
+    mainProgram = "ltrace";
     homepage = "https://www.ltrace.org/";
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix
index b3660f7cad9b..bce8c2583fe6 100644
--- a/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tracing tools (kernel + user space) for Linux";
+    mainProgram = "lttng";
     homepage = "https://lttng.org/";
     license = with licenses; [ lgpl21Only gpl2Only ];
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/misc/lttng-ust/generic.nix b/pkgs/development/tools/misc/lttng-ust/generic.nix
index 60b133f73144..89bc888828e2 100644
--- a/pkgs/development/tools/misc/lttng-ust/generic.nix
+++ b/pkgs/development/tools/misc/lttng-ust/generic.nix
@@ -41,6 +41,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "LTTng Userspace Tracer libraries";
+    mainProgram = "lttng-gen-tp";
     homepage = "https://lttng.org/";
     license = with licenses; [ lgpl21Only gpl2Only mit ];
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index 8936f4a15b57..8622ca5acd38 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "luarocks";
-  version = "3.9.2";
+  version = "3.10.0";
 
   src = fetchFromGitHub {
     owner = "luarocks";
     repo = "luarocks";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-D5jH7QuPayDNskIhiPeqKzI9m33MjRjQ8ReghFIUlPo=";
+    hash = "sha256-lM0jbKbV1fNz6AgJX6Pu6rlAzos/wEzn8wTvCBrOOe4=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/misc/micronucleus/default.nix b/pkgs/development/tools/misc/micronucleus/default.nix
index 560cfa0c0dce..d7141324dc97 100644
--- a/pkgs/development/tools/misc/micronucleus/default.nix
+++ b/pkgs/development/tools/misc/micronucleus/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Upload tool for micronucleus";
+    mainProgram = "micronucleus";
     homepage = "https://github.com/micronucleus/micronucleus";
     license = licenses.gpl3;
     maintainers = [ maintainers.cab404 ];
diff --git a/pkgs/development/tools/misc/mkcert/default.nix b/pkgs/development/tools/misc/mkcert/default.nix
index 0022dd003cd9..8da04668ec13 100644
--- a/pkgs/development/tools/misc/mkcert/default.nix
+++ b/pkgs/development/tools/misc/mkcert/default.nix
@@ -22,6 +22,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://github.com/FiloSottile/mkcert";
     description = "A simple tool for making locally-trusted development certificates";
+    mainProgram = "mkcert";
     license = licenses.bsd3;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/pkgs/development/tools/misc/namaka/default.nix b/pkgs/development/tools/misc/namaka/default.nix
index 185f24b47211..50259d691cbc 100644
--- a/pkgs/development/tools/misc/namaka/default.nix
+++ b/pkgs/development/tools/misc/namaka/default.nix
@@ -40,6 +40,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Snapshot testing tool for Nix based on haumea";
+    mainProgram = "namaka";
     homepage = "https://github.com/nix-community/namaka";
     changelog = "https://github.com/nix-community/namaka/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mpl20;
diff --git a/pkgs/development/tools/misc/ninka/default.nix b/pkgs/development/tools/misc/ninka/default.nix
index 2b45af77e7a9..cfdf1d5bb3dc 100644
--- a/pkgs/development/tools/misc/ninka/default.nix
+++ b/pkgs/development/tools/misc/ninka/default.nix
@@ -26,6 +26,7 @@ perlPackages.buildPerlPackage {
 
   meta = with lib; {
     description = "A sentence based license detector";
+    mainProgram = "ninka";
     homepage = "http://ninka.turingmachine.org/";
     license = licenses.gpl2;
     maintainers = [ maintainers.vrthra ];
diff --git a/pkgs/development/tools/misc/nix-build-uncached/default.nix b/pkgs/development/tools/misc/nix-build-uncached/default.nix
index 960b744dc738..4471b30fc7c0 100644
--- a/pkgs/development/tools/misc/nix-build-uncached/default.nix
+++ b/pkgs/development/tools/misc/nix-build-uncached/default.nix
@@ -19,6 +19,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A CI friendly wrapper around nix-build";
+    mainProgram = "nix-build-uncached";
     license = licenses.mit;
     homepage = "https://github.com/Mic92/nix-build-uncached";
     maintainers = [ maintainers.mic92 ];
diff --git a/pkgs/development/tools/misc/nixbang/default.nix b/pkgs/development/tools/misc/nixbang/default.nix
index bcddf4479eb0..cc5edb162a4c 100644
--- a/pkgs/development/tools/misc/nixbang/default.nix
+++ b/pkgs/development/tools/misc/nixbang/default.nix
@@ -15,6 +15,7 @@ pythonPackages.buildPythonApplication rec {
   meta = {
     homepage = "https://github.com/madjar/nixbang";
     description = "A special shebang to run scripts in a nix-shell";
+    mainProgram = "nixbang";
     maintainers = [ lib.maintainers.madjar ];
     platforms = lib.platforms.all;
   };
diff --git a/pkgs/development/tools/misc/objconv/default.nix b/pkgs/development/tools/misc/objconv/default.nix
index ec0f5a367d1c..9eee3cca1051 100644
--- a/pkgs/development/tools/misc/objconv/default.nix
+++ b/pkgs/development/tools/misc/objconv/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Object and executable file converter, modifier and disassembler";
+    mainProgram = "objconv";
     homepage = "https://www.agner.org/optimize/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ orivej vrthra ];
diff --git a/pkgs/development/tools/misc/opengrok/default.nix b/pkgs/development/tools/misc/opengrok/default.nix
index bf566188e5d7..88639c752fab 100644
--- a/pkgs/development/tools/misc/opengrok/default.nix
+++ b/pkgs/development/tools/misc/opengrok/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Source code search and cross reference engine";
+    mainProgram = "opengrok";
     homepage = "https://opengrok.github.io/OpenGrok/";
     changelog = "https://github.com/oracle/opengrok/releases/tag/${version}";
     license = licenses.cddl;
diff --git a/pkgs/development/tools/misc/pahole/default.nix b/pkgs/development/tools/misc/pahole/default.nix
index 8b8d4e8c6e2f..275044ee40c0 100644
--- a/pkgs/development/tools/misc/pahole/default.nix
+++ b/pkgs/development/tools/misc/pahole/default.nix
@@ -13,10 +13,10 @@
 
 stdenv.mkDerivation rec {
   pname = "pahole";
-  version = "1.25";
+  version = "1.26";
   src = fetchzip {
     url = "https://git.kernel.org/pub/scm/devel/pahole/pahole.git/snapshot/pahole-${version}.tar.gz";
-    hash = "sha256-s0YVT2UnMSO8jS/4XCt06wNPV4czHH6bmZRy/snO3jg=";
+    hash = "sha256-Lf9Z4vHRFplMrUf4VhJ7EDPn+S4RaS1Emm0wyEcG2HU=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix
index fc71c4aa4ea4..94c05394a901 100644
--- a/pkgs/development/tools/misc/patchelf/default.nix
+++ b/pkgs/development/tools/misc/patchelf/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/NixOS/patchelf";
     license = licenses.gpl3Plus;
     description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
+    mainProgram = "patchelf";
     maintainers = [ maintainers.eelco ];
     platforms = platforms.all;
   };
diff --git a/pkgs/development/tools/misc/patchelf/unstable.nix b/pkgs/development/tools/misc/patchelf/unstable.nix
index a4061855d997..c2d9b2c0bede 100644
--- a/pkgs/development/tools/misc/patchelf/unstable.nix
+++ b/pkgs/development/tools/misc/patchelf/unstable.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/NixOS/patchelf";
     license = licenses.gpl3;
     description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
+    mainProgram = "patchelf";
     maintainers = [ maintainers.eelco ];
     platforms = platforms.all;
   };
diff --git a/pkgs/development/tools/misc/patsh/default.nix b/pkgs/development/tools/misc/patsh/default.nix
index 9fabbf789db9..0e8bafc86bd7 100644
--- a/pkgs/development/tools/misc/patsh/default.nix
+++ b/pkgs/development/tools/misc/patsh/default.nix
@@ -43,6 +43,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A command-line tool for patching shell scripts inspired by resholve";
+    mainProgram = "patsh";
     homepage = "https://github.com/nix-community/patsh";
     changelog = "https://github.com/nix-community/patsh/blob/v${version}/CHANGELOG.md";
     license = licenses.mpl20;
diff --git a/pkgs/development/tools/misc/perfect-hash/default.nix b/pkgs/development/tools/misc/perfect-hash/default.nix
index 71747f0d1172..124758e571e9 100644
--- a/pkgs/development/tools/misc/perfect-hash/default.nix
+++ b/pkgs/development/tools/misc/perfect-hash/default.nix
@@ -20,6 +20,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Minimal perfect hash function generator";
+    mainProgram = "perfect-hash";
     longDescription = ''
       Generate a minimal perfect hash function for a given set of keys.
       A given code template is filled with parameters, such that the
diff --git a/pkgs/development/tools/misc/planus/default.nix b/pkgs/development/tools/misc/planus/default.nix
index 9074debb2633..6580c7b21304 100644
--- a/pkgs/development/tools/misc/planus/default.nix
+++ b/pkgs/development/tools/misc/planus/default.nix
@@ -30,6 +30,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "An alternative compiler for flatbuffers";
+    mainProgram = "planus";
     homepage = "https://github.com/planus-org/planus";
     changelog = "https://github.com/planus-org/planus/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 mit ];
diff --git a/pkgs/development/tools/misc/polylith/default.nix b/pkgs/development/tools/misc/polylith/default.nix
index 06aadb009207..66e274026a0c 100644
--- a/pkgs/development/tools/misc/polylith/default.nix
+++ b/pkgs/development/tools/misc/polylith/default.nix
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A tool used to develop Polylith based architectures in Clojure";
+    mainProgram = "poly";
     homepage = "https://github.com/polyfy/polylith";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.epl10;
diff --git a/pkgs/development/tools/misc/premake/3.nix b/pkgs/development/tools/misc/premake/3.nix
index c05581f5591a..f0891873eb58 100644
--- a/pkgs/development/tools/misc/premake/3.nix
+++ b/pkgs/development/tools/misc/premake/3.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://premake.github.io/";
     description = "A simple build configuration and project generation tool using lua";
+    mainProgram = "premake";
     license = lib.licenses.bsd3;
     platforms = lib.platforms.unix;
   };
diff --git a/pkgs/development/tools/misc/premake/5.nix b/pkgs/development/tools/misc/premake/5.nix
index a42d4c1a7b6e..841e8480da1a 100644
--- a/pkgs/development/tools/misc/premake/5.nix
+++ b/pkgs/development/tools/misc/premake/5.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://premake.github.io";
     description = "A simple build configuration and project generation tool using lua";
+    mainProgram = "premake5";
     license = lib.licenses.bsd3;
     platforms = lib.platforms.darwin ++ lib.platforms.linux;
     broken = stdenv.isDarwin && stdenv.isAarch64;
diff --git a/pkgs/development/tools/misc/protox/default.nix b/pkgs/development/tools/misc/protox/default.nix
index 82849b6d9478..415f19aa71b0 100644
--- a/pkgs/development/tools/misc/protox/default.nix
+++ b/pkgs/development/tools/misc/protox/default.nix
@@ -21,6 +21,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A rust implementation of the protobuf compiler";
+    mainProgram = "protox";
     homepage = "https://github.com/andrewhickman/protox";
     changelog = "https://github.com/andrewhickman/protox/blob/${version}/CHANGELOG.md";
     license = with licenses; [ asl20 mit ];
diff --git a/pkgs/development/tools/misc/ptags/default.nix b/pkgs/development/tools/misc/ptags/default.nix
index 8af08bd8311f..aa7980158356 100644
--- a/pkgs/development/tools/misc/ptags/default.nix
+++ b/pkgs/development/tools/misc/ptags/default.nix
@@ -34,6 +34,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A parallel universal-ctags wrapper for git repository";
+    mainProgram = "ptags";
     homepage = "https://github.com/dalance/ptags";
     maintainers = with maintainers; [ pamplemousse ];
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/pwndbg/default.nix b/pkgs/development/tools/misc/pwndbg/default.nix
index d80fa230c8a4..b9156abf84b8 100644
--- a/pkgs/development/tools/misc/pwndbg/default.nix
+++ b/pkgs/development/tools/misc/pwndbg/default.nix
@@ -52,6 +52,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Exploit Development and Reverse Engineering with GDB Made Easy";
+    mainProgram = "pwndbg";
     homepage = "https://github.com/pwndbg/pwndbg";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/development/tools/misc/pwninit/default.nix b/pkgs/development/tools/misc/pwninit/default.nix
index 92cfa6f4fcb0..341532d00422 100644
--- a/pkgs/development/tools/misc/pwninit/default.nix
+++ b/pkgs/development/tools/misc/pwninit/default.nix
@@ -33,6 +33,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = {
     description = "Automate starting binary exploit challenges";
+    mainProgram = "pwninit";
     homepage = "https://github.com/io12/pwninit";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.scoder12 ];
diff --git a/pkgs/development/tools/misc/qtspim/default.nix b/pkgs/development/tools/misc/qtspim/default.nix
index 1ef63f1a431d..15fd8dd13b2c 100644
--- a/pkgs/development/tools/misc/qtspim/default.nix
+++ b/pkgs/development/tools/misc/qtspim/default.nix
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "New user interface for spim, a MIPS simulator";
+    mainProgram = "qtspim";
     homepage = "https://spimsimulator.sourceforge.net/";
     license = licenses.bsdOriginal;
     maintainers = with maintainers; [ emilytrau ];
diff --git a/pkgs/development/tools/misc/regex-cli/default.nix b/pkgs/development/tools/misc/regex-cli/default.nix
index 4ce731042589..f30d02bcf29f 100644
--- a/pkgs/development/tools/misc/regex-cli/default.nix
+++ b/pkgs/development/tools/misc/regex-cli/default.nix
@@ -16,6 +16,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A command line tool for debugging, ad hoc benchmarking and generating regular expressions";
+    mainProgram = "regex-cli";
     homepage = "https://github.com/rust-lang/regex/tree/master/regex-cli";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/development/tools/misc/replacement/default.nix b/pkgs/development/tools/misc/replacement/default.nix
index 75c5363ff672..dde607419cae 100644
--- a/pkgs/development/tools/misc/replacement/default.nix
+++ b/pkgs/development/tools/misc/replacement/default.nix
@@ -28,6 +28,7 @@ python3Packages.buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://github.com/siriobalmelli/replacement";
     description = "A tool to execute yaml templates and output text";
+    mainProgram = "replacement";
     longDescription = ''
         Replacement is a python utility
         that parses a yaml template and outputs text.
diff --git a/pkgs/development/tools/misc/reviewdog/default.nix b/pkgs/development/tools/misc/reviewdog/default.nix
index b08fa9d5568d..8339c0625100 100644
--- a/pkgs/development/tools/misc/reviewdog/default.nix
+++ b/pkgs/development/tools/misc/reviewdog/default.nix
@@ -21,6 +21,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Automated code review tool integrated with any code analysis tools regardless of programming language";
+    mainProgram = "reviewdog";
     homepage = "https://github.com/reviewdog/reviewdog";
     changelog = "https://github.com/reviewdog/reviewdog/blob/v${version}/CHANGELOG.md";
     maintainers = [ maintainers.marsam ];
diff --git a/pkgs/development/tools/misc/riff/default.nix b/pkgs/development/tools/misc/riff/default.nix
index 94096a2bc5e2..fe2e2f310fa1 100644
--- a/pkgs/development/tools/misc/riff/default.nix
+++ b/pkgs/development/tools/misc/riff/default.nix
@@ -38,6 +38,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A tool that automatically provides external dependencies for software projects";
+    mainProgram = "riff";
     homepage = "https://riff.sh";
     changelog = "https://github.com/DeterminateSystems/riff/releases/tag/v${version}";
     license = licenses.mpl20;
diff --git a/pkgs/development/tools/misc/rolespec/default.nix b/pkgs/development/tools/misc/rolespec/default.nix
index 7b084fae891e..cd90d1cda963 100644
--- a/pkgs/development/tools/misc/rolespec/default.nix
+++ b/pkgs/development/tools/misc/rolespec/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/nickjj/rolespec";
     description = "A test library for testing Ansible roles";
+    mainProgram = "rolespec";
     longDescription = ''
       A shell based test library for Ansible that works both locally and over
       Travis-CI.
diff --git a/pkgs/development/tools/misc/rsass/default.nix b/pkgs/development/tools/misc/rsass/default.nix
index 1804c1301230..0e2e4d57823a 100644
--- a/pkgs/development/tools/misc/rsass/default.nix
+++ b/pkgs/development/tools/misc/rsass/default.nix
@@ -14,6 +14,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Sass reimplemented in rust with nom";
+    mainProgram = "rsass";
     homepage = "https://github.com/kaj/rsass";
     changelog = "https://github.com/kaj/rsass/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit /* or */ asl20 ];
diff --git a/pkgs/development/tools/misc/rtss/default.nix b/pkgs/development/tools/misc/rtss/default.nix
index cb5b55b8894c..4172919d42f2 100644
--- a/pkgs/development/tools/misc/rtss/default.nix
+++ b/pkgs/development/tools/misc/rtss/default.nix
@@ -15,6 +15,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Annotate output with relative durations between lines";
+    mainProgram = "rtss";
     homepage = "https://github.com/Freaky/rtss";
     license = licenses.mit;
     maintainers = with maintainers; [ djanatyn ];
diff --git a/pkgs/development/tools/misc/runme/default.nix b/pkgs/development/tools/misc/runme/default.nix
index d7850c18fabe..8299ceba5395 100644
--- a/pkgs/development/tools/misc/runme/default.nix
+++ b/pkgs/development/tools/misc/runme/default.nix
@@ -67,6 +67,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Execute commands inside your runbooks, docs, and READMEs";
+    mainProgram = "runme";
     homepage = "https://runme.dev";
     changelog = "https://github.com/stateful/runme/releases/tag/v${version}";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/misc/rustywind/default.nix b/pkgs/development/tools/misc/rustywind/default.nix
index 5fe1e15b8fa5..f8281f9ca10c 100644
--- a/pkgs/development/tools/misc/rustywind/default.nix
+++ b/pkgs/development/tools/misc/rustywind/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rustywind";
-  version = "0.21.0";
+  version = "0.21.1";
 
   src = fetchFromGitHub {
     owner = "avencera";
     repo = "rustywind";
     rev = "v${version}";
-    hash = "sha256-gcSpifeOWq9kKmOqyO02DbcvR9tyTlE2kVkezpy7D5k=";
+    hash = "sha256-cRgMTM4u8Nm+5eD3rNsx/1+PdS08+0N53m8NAlzVcXc=";
   };
 
-  cargoHash = "sha256-m++IeB0XvfeARkh+yO9WQtc7luz+ThGD5niwwOPobKY=";
+  cargoHash = "sha256-utqo3w5itQa5pJTDWhEYIRj9OAZ+K6SgrPHXi3WE6+Q=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
@@ -24,6 +24,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "CLI for organizing Tailwind CSS classes";
+    mainProgram = "rustywind";
     homepage = "https://github.com/avencera/rustywind";
     changelog = "https://github.com/avencera/rustywind/blob/${src.rev}/CHANGELOG.md";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/misc/samply/default.nix b/pkgs/development/tools/misc/samply/default.nix
index 9d70b9bc14d6..9109de361779 100644
--- a/pkgs/development/tools/misc/samply/default.nix
+++ b/pkgs/development/tools/misc/samply/default.nix
@@ -47,6 +47,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A command line profiler for macOS and Linux";
+    mainProgram = "samply";
     homepage = "https://github.com/mstange/samply";
     changelog = "https://github.com/mstange/samply/releases/tag/samply-v${version}";
     license = with licenses; [ asl20 mit ];
diff --git a/pkgs/development/tools/misc/sccache/default.nix b/pkgs/development/tools/misc/sccache/default.nix
index 9b9311529b77..1f6e6e7a040b 100644
--- a/pkgs/development/tools/misc/sccache/default.nix
+++ b/pkgs/development/tools/misc/sccache/default.nix
@@ -36,6 +36,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Ccache with Cloud Storage";
+    mainProgram = "sccache";
     homepage = "https://github.com/mozilla/sccache";
     changelog = "https://github.com/mozilla/sccache/releases/tag/v${version}";
     maintainers = with maintainers; [ doronbehar figsoda ];
diff --git a/pkgs/development/tools/misc/scip/default.nix b/pkgs/development/tools/misc/scip/default.nix
index 176ddccbe34e..c36d4c5b0886 100644
--- a/pkgs/development/tools/misc/scip/default.nix
+++ b/pkgs/development/tools/misc/scip/default.nix
@@ -39,6 +39,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "SCIP Code Intelligence Protocol CLI";
+    mainProgram = "scip";
     homepage = "https://github.com/sourcegraph/scip";
     changelog = "https://github.com/sourcegraph/scip/blob/${src.rev}/CHANGELOG.md";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/misc/scriptisto/default.nix b/pkgs/development/tools/misc/scriptisto/default.nix
index 9b7b287fce5d..f3a3ba18240b 100644
--- a/pkgs/development/tools/misc/scriptisto/default.nix
+++ b/pkgs/development/tools/misc/scriptisto/default.nix
@@ -27,6 +27,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A language-agnostic \"shebang interpreter\" that enables you to write scripts in compiled languages";
+    mainProgram = "scriptisto";
     homepage = "https://github.com/igor-petruk/scriptisto";
     changelog = "https://github.com/igor-petruk/scriptisto/releases/tag/${src.rev}";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/misc/seer/default.nix b/pkgs/development/tools/misc/seer/default.nix
index 92bc871185ff..b797287a02dc 100644
--- a/pkgs/development/tools/misc/seer/default.nix
+++ b/pkgs/development/tools/misc/seer/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A Qt gui frontend for GDB";
+    mainProgram = "seergdb";
     homepage = "https://github.com/epasveer/seer";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/misc/sipp/default.nix b/pkgs/development/tools/misc/sipp/default.nix
index 297669733c0e..43dcd2aea9b4 100644
--- a/pkgs/development/tools/misc/sipp/default.nix
+++ b/pkgs/development/tools/misc/sipp/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://sipp.sf.net";
     description = "The SIPp testing tool";
+    mainProgram = "sipp";
     license = licenses.gpl3;
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/tools/misc/slint-lsp/default.nix b/pkgs/development/tools/misc/slint-lsp/default.nix
index 85977e549797..126167b475e6 100644
--- a/pkgs/development/tools/misc/slint-lsp/default.nix
+++ b/pkgs/development/tools/misc/slint-lsp/default.nix
@@ -25,14 +25,14 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "slint-lsp";
-  version = "1.4.1";
+  version = "1.5.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-m1W+Q/SD5DmI3XGRZRAWj/dVY7fQM9CeIvX3E1GQdlU=";
+    sha256 = "sha256-wqAcHBHWtYavAakHLhHHCI+Yercgdtzo1EAOilsZOK0=";
   };
 
-  cargoHash = "sha256-X4xBPU49XskmRg8TuLtiAqpoeZOBTIFvhj7WWFNBRDw=";
+  cargoHash = "sha256-XjVXhXoGEhxWc+LZa0EsPiw3Gq2pg03YjKONTptSQvA=";
 
   nativeBuildInputs = [ cmake pkg-config fontconfig ];
   buildInputs = rpathLibs ++ [ xorg.libxcb.dev ]
@@ -54,6 +54,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Language Server Protocol (LSP) for Slint UI language";
+    mainProgram = "slint-lsp";
     homepage = "https://slint-ui.com/";
     changelog = "https://github.com/slint-ui/slint/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ gpl3Plus ];
diff --git a/pkgs/development/tools/misc/spruce/default.nix b/pkgs/development/tools/misc/spruce/default.nix
index 2cf0f184a729..4c03d0acfab6 100644
--- a/pkgs/development/tools/misc/spruce/default.nix
+++ b/pkgs/development/tools/misc/spruce/default.nix
@@ -15,6 +15,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A BOSH template merge tool";
+    mainProgram = "spruce";
     homepage = "https://github.com/geofffranks/spruce";
     license = licenses.mit;
     maintainers = with maintainers; [ risson ];
diff --git a/pkgs/development/tools/misc/sqitch/default.nix b/pkgs/development/tools/misc/sqitch/default.nix
index 32235e85c48d..612ef223e67b 100644
--- a/pkgs/development/tools/misc/sqitch/default.nix
+++ b/pkgs/development/tools/misc/sqitch/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation {
 
   meta = {
     inherit (sqitch.meta) description homepage license platforms;
+    mainProgram = "sqitch";
   };
 }
diff --git a/pkgs/development/tools/misc/strace-analyzer/default.nix b/pkgs/development/tools/misc/strace-analyzer/default.nix
index db0591cab10a..33371bee9373 100644
--- a/pkgs/development/tools/misc/strace-analyzer/default.nix
+++ b/pkgs/development/tools/misc/strace-analyzer/default.nix
@@ -27,6 +27,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Analyzes strace output";
+    mainProgram = "strace-analyzer";
     homepage = "https://github.com/wookietreiber/strace-analyzer";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 5dc67a627a55..3cae7fc017d4 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "strace";
-  version = "6.7";
+  version = "6.8";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-IJAgHho/8yhG9P5CHBFjsV9EC7OOMTVdCfgtOUmSKvc=";
+    sha256 = "sha256-umlQqWgkzfk6WE+gTwpzOJbSprxfCtn/5QXZtB6XAUk=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix
index 41f33f4db67f..ad7b64c25568 100644
--- a/pkgs/development/tools/misc/swig/default.nix
+++ b/pkgs/development/tools/misc/swig/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "SWIG, an interface compiler that connects C/C++ code to higher-level languages";
+    mainProgram = "swig";
     homepage = "https://swig.org/";
     # Different types of licenses available: http://www.swig.org/Release/LICENSE .
     license = licenses.gpl3Plus;
diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix
index 85d289e49b7a..6bba1ebfd611 100644
--- a/pkgs/development/tools/misc/sysbench/default.nix
+++ b/pkgs/development/tools/misc/sysbench/default.nix
@@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Modular, cross-platform and multi-threaded benchmark tool";
+    mainProgram = "sysbench";
     longDescription = ''
       sysbench is a scriptable multi-threaded benchmark tool based on LuaJIT.
       It is most frequently used for database benchmarks, but can also be used
diff --git a/pkgs/development/tools/misc/tcptrack/default.nix b/pkgs/development/tools/misc/tcptrack/default.nix
index cf3cdf586cc4..5c1fe8c5b9b7 100644
--- a/pkgs/development/tools/misc/tcptrack/default.nix
+++ b/pkgs/development/tools/misc/tcptrack/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     inherit (src.meta) homepage;
     description = "libpcap based program for live TCP connection monitoring";
+    mainProgram = "tcptrack";
     license = licenses.lgpl21;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor maintainers.vrthra ];
diff --git a/pkgs/development/tools/misc/terracognita/default.nix b/pkgs/development/tools/misc/terracognita/default.nix
index 55b13dad748b..b01d73ecc172 100644
--- a/pkgs/development/tools/misc/terracognita/default.nix
+++ b/pkgs/development/tools/misc/terracognita/default.nix
@@ -21,6 +21,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration";
+    mainProgram = "terracognita";
     homepage = "https://github.com/cycloidio/terracognita";
     changelog = "https://github.com/cycloidio/terracognita/raw/v${version}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/terraform-ls/default.nix b/pkgs/development/tools/misc/terraform-ls/default.nix
index 814f6872d3f3..4499d113e838 100644
--- a/pkgs/development/tools/misc/terraform-ls/default.nix
+++ b/pkgs/development/tools/misc/terraform-ls/default.nix
@@ -28,6 +28,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Terraform Language Server (official)";
+    mainProgram = "terraform-ls";
     homepage = "https://github.com/hashicorp/terraform-ls";
     changelog = "https://github.com/hashicorp/terraform-ls/blob/v${version}/CHANGELOG.md";
     license = licenses.mpl20;
diff --git a/pkgs/development/tools/misc/terraform-lsp/default.nix b/pkgs/development/tools/misc/terraform-lsp/default.nix
index 332913e71130..74070bd6ea8c 100644
--- a/pkgs/development/tools/misc/terraform-lsp/default.nix
+++ b/pkgs/development/tools/misc/terraform-lsp/default.nix
@@ -20,6 +20,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Language Server Protocol for Terraform";
+    mainProgram = "terraform-lsp";
     homepage = "https://github.com/juliosueiras/terraform-lsp";
     license = licenses.mit;
     maintainers = with maintainers; [ marsam ];
diff --git a/pkgs/development/tools/misc/terraformer/default.nix b/pkgs/development/tools/misc/terraformer/default.nix
index 4b6001a17c70..dc8ad0644fcb 100644
--- a/pkgs/development/tools/misc/terraformer/default.nix
+++ b/pkgs/development/tools/misc/terraformer/default.nix
@@ -17,6 +17,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code";
+    mainProgram = "terraformer";
     homepage = "https://github.com/GoogleCloudPlatform/terraformer";
     license = licenses.asl20;
     maintainers = [ maintainers.marsam ];
diff --git a/pkgs/development/tools/misc/terser/default.nix b/pkgs/development/tools/misc/terser/default.nix
index e51d5328db26..2b9052ad79e6 100644
--- a/pkgs/development/tools/misc/terser/default.nix
+++ b/pkgs/development/tools/misc/terser/default.nix
@@ -2,19 +2,20 @@
 
 buildNpmPackage rec {
   pname = "terser";
-  version = "5.28.1";
+  version = "5.29.2";
 
   src = fetchFromGitHub {
     owner = "terser";
     repo = "terser";
     rev = "v${version}";
-    hash = "sha256-iThO12jPzwCyfi69Z0YpttRxhVnSVirKbttN6R5iqRg=";
+    hash = "sha256-VGQ/mgMeeNA0koYgmb6PAZqBdVljgqY3MwuG0RLllCU=";
   };
 
-  npmDepsHash = "sha256-CptJkwC0A03v2CeYSCKXq7fOhPdLWPrVJYpayzKbdkQ=";
+  npmDepsHash = "sha256-8wKvV3vSzF6WdHzox1LXVi2FmeZf7qSo2rg93uCN3fI=";
 
   meta = with lib; {
     description = "JavaScript parser, mangler and compressor toolkit for ES6+";
+    mainProgram = "terser";
     homepage = "https://terser.org";
     license = licenses.bsd2;
     maintainers = with maintainers; [ talyz ];
diff --git a/pkgs/development/tools/misc/texi2html/default.nix b/pkgs/development/tools/misc/texi2html/default.nix
index 98f846b7c2f7..66609d8d17e1 100644
--- a/pkgs/development/tools/misc/texi2html/default.nix
+++ b/pkgs/development/tools/misc/texi2html/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Perl script which converts Texinfo source files to HTML output";
+    mainProgram = "texi2html";
     homepage = "https://www.nongnu.org/texi2html/";
     license = licenses.gpl2;
     maintainers = [ maintainers.marcweber ];
diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix
index c1ba1b482232..9a6a1ad33139 100644
--- a/pkgs/development/tools/misc/texlab/default.nix
+++ b/pkgs/development/tools/misc/texlab/default.nix
@@ -15,16 +15,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "texlab";
-  version = "5.13.0";
+  version = "5.13.1";
 
   src = fetchFromGitHub {
     owner = "latex-lsp";
     repo = "texlab";
     rev = "refs/tags/v${version}";
-    hash = "sha256-k/Hfl9SZxjdNLzvGrMMu/DPQpXsW21FC/WvJbz1IhSY=";
+    hash = "sha256-fmtNalpOOPEiMO5zDD6m01cDfFuaLQsYPk6cc7yvjog=";
   };
 
-  cargoHash = "sha256-tM/y1A/aCkcpU/1nZfUrNYDI0jiGn8qzvmP244tEJac=";
+  cargoHash = "sha256-5ojXplzkBwchnSZLkwR5jz8WgyEA14Y1iVQ+Q19U8Tg=";
 
   outputs = [ "out" ] ++ lib.optional (!isCross) "man";
 
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
   # generate the man page
   postInstall = lib.optionalString (!isCross) ''
     # TexLab builds man page separately in CI:
-    # https://github.com/latex-lsp/texlab/blob/v5.13.0/.github/workflows/publish.yml#L117-L121
+    # https://github.com/latex-lsp/texlab/blob/v5.13.1/.github/workflows/publish.yml#L117-L121
     help2man --no-info "$out/bin/texlab" > texlab.1
     installManPage texlab.1
   '';
@@ -50,6 +50,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "An implementation of the Language Server Protocol for LaTeX";
+    mainProgram = "texlab";
     homepage = "https://github.com/latex-lsp/texlab";
     changelog = "https://github.com/latex-lsp/texlab/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/tie/default.nix b/pkgs/development/tools/misc/tie/default.nix
index 52a740ed1c8c..70d64af37186 100644
--- a/pkgs/development/tools/misc/tie/default.nix
+++ b/pkgs/development/tools/misc/tie/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.ctan.org/tex-archive/web/tie";
     description = "Allow multiple web change files";
+    mainProgram = "tie";
     platforms = platforms.all;
     maintainers = with maintainers; [ vrthra ];
     license = licenses.abstyles;
diff --git a/pkgs/development/tools/misc/tockloader/default.nix b/pkgs/development/tools/misc/tockloader/default.nix
index fbca0b0359de..d81760daa5fc 100644
--- a/pkgs/development/tools/misc/tockloader/default.nix
+++ b/pkgs/development/tools/misc/tockloader/default.nix
@@ -32,6 +32,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Tool for programming Tock onto hardware boards";
+    mainProgram = "tockloader";
     homepage = "https://github.com/tock/tockloader";
     changelog = "https://github.com/tock/tockloader/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/topiary/default.nix b/pkgs/development/tools/misc/topiary/default.nix
index cb4f3884d79f..467cd8cbacd8 100644
--- a/pkgs/development/tools/misc/topiary/default.nix
+++ b/pkgs/development/tools/misc/topiary/default.nix
@@ -35,12 +35,7 @@ rustPlatform.buildRustPackage rec {
   cargoBuildFlags = [ "-p" "topiary-cli" ];
   cargoTestFlags = cargoBuildFlags;
 
-  env = {
-    TOPIARY_LANGUAGE_DIR = "${placeholder "out"}/share/queries";
-  } // lib.optionalAttrs stdenv.cc.isClang {
-    # Work around https://github.com/NixOS/nixpkgs/issues/166205.
-    NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
-  };
+  env.TOPIARY_LANGUAGE_DIR = "${placeholder "out"}/share/queries";
 
   postInstall = ''
     install -Dm444 queries/* -t $out/share/queries
@@ -50,6 +45,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A uniform formatter for simple languages, as part of the Tree-sitter ecosystem";
+    mainProgram = "topiary";
     homepage = "https://github.com/tweag/topiary";
     changelog = "https://github.com/tweag/topiary/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/travis/default.nix b/pkgs/development/tools/misc/travis/default.nix
index 0be7721fe080..494604e975f1 100644
--- a/pkgs/development/tools/misc/travis/default.nix
+++ b/pkgs/development/tools/misc/travis/default.nix
@@ -9,6 +9,7 @@ bundlerEnv {
 
   meta = with lib; {
     description = "CLI and Ruby client library for Travis CI";
+    mainProgram = "travis";
     homepage    = "https://github.com/travis-ci/travis.rb";
     license     = licenses.mit;
     maintainers = with maintainers; [ zimbatm nicknovitski ];
diff --git a/pkgs/development/tools/misc/ttags/default.nix b/pkgs/development/tools/misc/ttags/default.nix
index f07f2d3ef5e8..c765d0c308d4 100644
--- a/pkgs/development/tools/misc/ttags/default.nix
+++ b/pkgs/development/tools/misc/ttags/default.nix
@@ -21,6 +21,7 @@ in rustPlatform.buildRustPackage {
 
   meta = with lib; {
     description = "Generate tags using tree-sitter";
+    mainProgram = "ttags";
     longDescription = ''
       ttags generates tags (similar to ctags) for various
       languages, using tree-sitter.
diff --git a/pkgs/development/tools/misc/typical/default.nix b/pkgs/development/tools/misc/typical/default.nix
index 7944f14ca4d6..8c094a2e1f18 100644
--- a/pkgs/development/tools/misc/typical/default.nix
+++ b/pkgs/development/tools/misc/typical/default.nix
@@ -35,6 +35,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Data interchange with algebraic data types";
+    mainProgram = "typical";
     homepage = "https://github.com/stepchowfun/typical";
     changelog = "https://github.com/stepchowfun/typical/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/tyson/default.nix b/pkgs/development/tools/misc/tyson/default.nix
index b10b78708b58..2809c881c945 100644
--- a/pkgs/development/tools/misc/tyson/default.nix
+++ b/pkgs/development/tools/misc/tyson/default.nix
@@ -32,6 +32,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "TypeScript as a configuration language";
+    mainProgram = "tyson";
     homepage = "https://github.com/jetpack-io/tyson";
     changelog = "https://github.com/jetpack-io/tyson/releases/tag/${src.rev}";
     license = licenses.asl20;
diff --git a/pkgs/development/tools/misc/uncrustify/default.nix b/pkgs/development/tools/misc/uncrustify/default.nix
index d57010a4bad3..a8fef714cada 100644
--- a/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/pkgs/development/tools/misc/uncrustify/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA";
+    mainProgram = "uncrustify";
     homepage = "https://uncrustify.sourceforge.net/";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/misc/vtable-dumper/default.nix b/pkgs/development/tools/misc/vtable-dumper/default.nix
index 1bd59aa9944a..deed8e3af962 100644
--- a/pkgs/development/tools/misc/vtable-dumper/default.nix
+++ b/pkgs/development/tools/misc/vtable-dumper/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/lvc/vtable-dumper";
     description = "A tool to list content of virtual tables in a C++ shared library";
+    mainProgram = "vtable-dumper";
     license = licenses.lgpl21;
     maintainers = [ maintainers.bhipple ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/misc/wasmer-pack/default.nix b/pkgs/development/tools/misc/wasmer-pack/default.nix
index 0f5e85349833..7c1d84de885d 100644
--- a/pkgs/development/tools/misc/wasmer-pack/default.nix
+++ b/pkgs/development/tools/misc/wasmer-pack/default.nix
@@ -29,6 +29,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Import your WebAssembly code just like any other dependency";
+    mainProgram = "wasmer-pack";
     homepage = "https://github.com/wasmerio/wasmer-pack";
     changelog = "https://github.com/wasmerio/wasmer-pack/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/development/tools/misc/whatstyle/default.nix b/pkgs/development/tools/misc/whatstyle/default.nix
index 08f5b85bc5ed..4293a458977b 100644
--- a/pkgs/development/tools/misc/whatstyle/default.nix
+++ b/pkgs/development/tools/misc/whatstyle/default.nix
@@ -22,6 +22,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Find a code format style that fits given source files";
+    mainProgram = "whatstyle";
     homepage = "https://github.com/mikr/whatstyle";
     license = licenses.mit;
     maintainers = with maintainers; [ dtzWill ];
diff --git a/pkgs/development/tools/misc/wishbone-tool/default.nix b/pkgs/development/tools/misc/wishbone-tool/default.nix
index 0465fb74aa1a..829ccd8775f6 100644
--- a/pkgs/development/tools/misc/wishbone-tool/default.nix
+++ b/pkgs/development/tools/misc/wishbone-tool/default.nix
@@ -25,6 +25,7 @@ rustPlatform.buildRustPackage {
 
   meta = with lib; {
     description = "Manipulate a Wishbone device over some sort of bridge";
+    mainProgram = "wishbone-tool";
     homepage = "https://github.com/litex-hub/wishbone-utils";
     license = licenses.bsd2;
     maintainers = with maintainers; [ edef ];
diff --git a/pkgs/development/tools/misc/xxdiff/default.nix b/pkgs/development/tools/misc/xxdiff/default.nix
index 8f30a165df3c..87097ef819e3 100644
--- a/pkgs/development/tools/misc/xxdiff/default.nix
+++ b/pkgs/development/tools/misc/xxdiff/default.nix
@@ -43,6 +43,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Graphical file and directories comparator and merge tool";
+    mainProgram = "xxdiff";
     homepage = "http://furius.ca/xxdiff/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ pSub raskin ];
diff --git a/pkgs/development/tools/misc/xxgdb/default.nix b/pkgs/development/tools/misc/xxgdb/default.nix
index cc093476fec7..eee3a860e9fe 100644
--- a/pkgs/development/tools/misc/xxgdb/default.nix
+++ b/pkgs/development/tools/misc/xxgdb/default.nix
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     broken = stdenv.isDarwin;
     description = "A simple but powerful graphical interface to gdb";
+    mainProgram = "xxgdb";
     license = licenses.mit;
     maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix
index ae741234a8e2..4d5230f3159b 100644
--- a/pkgs/development/tools/misc/ycmd/default.nix
+++ b/pkgs/development/tools/misc/ycmd/default.nix
@@ -84,6 +84,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "A code-completion and comprehension server";
+    mainProgram = "ycmd";
     homepage = "https://github.com/ycm-core/ycmd";
     license = licenses.gpl3;
     maintainers = with maintainers; [ rasendubi lnl7 siriobalmelli ];