about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/X11
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/X11')
-rw-r--r--nixpkgs/pkgs/tools/X11/alttab/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/autocutsel/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/bgs/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/ckbcomp/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/devour/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/dex/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/dispad/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/ffcast/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/find-cursor/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/go-sct/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/X11/gobble/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/grobi/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/hsetroot/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/icon-slicer/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/imwheel/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/inputplug/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/kdocker/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/keynav/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/ksuperkey/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/nitrogen/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/obconf/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/paperview/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/pmenu/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/ratmen/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/run-scaled/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/sbs/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/setroot/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/smart-wallpaper/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/srandrd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/sselp/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/sx/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/vdpauinfo/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/wayv/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/wmctrl/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/x11vnc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/x2vnc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/x2x/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xannotate/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xbanish/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xbindkeys-config/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xborders/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xbrightness/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xcalib/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xcape/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xchainkeys/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xcwd/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/X11/xdotool/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xgeometry-select/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xidlehook/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xinput_calibrator/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xkb-switch-i3/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xkb-switch/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xkbset/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xkbvalidate/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xlayoutdisplay/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/X11/xlogo/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xmcp/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xmousepasteblock/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xnee/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/X11/xnotify/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xob/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xplugd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xpointerbarrier/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xprintidle-ng/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xprintidle/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xprompt/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xrectsel/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xrestop/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xtrace/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xtruss/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xvkbd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xwallpaper/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xwinmosaic/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xwinwrap/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/xzoom/default.nix1
75 files changed, 97 insertions, 22 deletions
diff --git a/nixpkgs/pkgs/tools/X11/alttab/default.nix b/nixpkgs/pkgs/tools/X11/alttab/default.nix
index 7e675c250175..99619bd88d2c 100644
--- a/nixpkgs/pkgs/tools/X11/alttab/default.nix
+++ b/nixpkgs/pkgs/tools/X11/alttab/default.nix
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.all;
     maintainers = [ ];
+    mainProgram = "alttab";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/autocutsel/default.nix b/nixpkgs/pkgs/tools/X11/autocutsel/default.nix
index 61a80bcbcdd6..e1b9a3c1c73a 100644
--- a/nixpkgs/pkgs/tools/X11/autocutsel/default.nix
+++ b/nixpkgs/pkgs/tools/X11/autocutsel/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     description = "Tracks changes in the server's cutbuffer and CLIPBOARD selection";
     license = lib.licenses.gpl2Plus;
     platforms = with lib.platforms; all;
+    mainProgram = "autocutsel";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/bgs/default.nix b/nixpkgs/pkgs/tools/X11/bgs/default.nix
index f0150e931551..b50f15a1929c 100644
--- a/nixpkgs/pkgs/tools/X11/bgs/default.nix
+++ b/nixpkgs/pkgs/tools/X11/bgs/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ];
+    mainProgram = "bgs";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix b/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
index f78e43dbcc8e..1b50b2456d0a 100644
--- a/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
+++ b/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ dezgeg ];
     platforms = platforms.unix;
+    mainProgram = "ckbcomp";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/devour/default.nix b/nixpkgs/pkgs/tools/X11/devour/default.nix
index 016ffa6215db..861eaf905f9d 100644
--- a/nixpkgs/pkgs/tools/X11/devour/default.nix
+++ b/nixpkgs/pkgs/tools/X11/devour/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ mazurel ];
     platforms = platforms.unix;
+    mainProgram = "devour";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/dex/default.nix b/nixpkgs/pkgs/tools/X11/dex/default.nix
index 5e0ef6002ce0..c194e1543f29 100644
--- a/nixpkgs/pkgs/tools/X11/dex/default.nix
+++ b/nixpkgs/pkgs/tools/X11/dex/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ nickcao ];
+    mainProgram = "dex";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/dispad/default.nix b/nixpkgs/pkgs/tools/X11/dispad/default.nix
index fbb7b117d298..11d46bf24cb6 100644
--- a/nixpkgs/pkgs/tools/X11/dispad/default.nix
+++ b/nixpkgs/pkgs/tools/X11/dispad/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ zimbatm ];
     platforms = platforms.linux;
+    mainProgram = "dispad";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/ffcast/default.nix b/nixpkgs/pkgs/tools/X11/ffcast/default.nix
index 9723ef69b850..9b2611dde210 100644
--- a/nixpkgs/pkgs/tools/X11/ffcast/default.nix
+++ b/nixpkgs/pkgs/tools/X11/ffcast/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.linux;
+    mainProgram = "ffcast";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/find-cursor/default.nix b/nixpkgs/pkgs/tools/X11/find-cursor/default.nix
index 44a7c7662152..3b9862a47dea 100644
--- a/nixpkgs/pkgs/tools/X11/find-cursor/default.nix
+++ b/nixpkgs/pkgs/tools/X11/find-cursor/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = [ maintainers.yanganto ];
+    mainProgram = "find-cursor";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/go-sct/default.nix b/nixpkgs/pkgs/tools/X11/go-sct/default.nix
index 585e28971b49..5e464d43f81c 100644
--- a/nixpkgs/pkgs/tools/X11/go-sct/default.nix
+++ b/nixpkgs/pkgs/tools/X11/go-sct/default.nix
@@ -8,7 +8,7 @@ buildGoModule rec {
     owner = "d4l3k";
     repo = "go-sct";
     rev = "4ae88a6bf50e0b917541ddbcec1ff10ab77a0b15";
-    sha256 = "sha256-/0ilM1g3CNaseqV9i+cKWyzxvWnj+TFqazt+aYDtNVs=";
+    hash = "sha256-/0ilM1g3CNaseqV9i+cKWyzxvWnj+TFqazt+aYDtNVs=";
   };
 
   postPatch = ''
@@ -27,6 +27,7 @@ buildGoModule rec {
     homepage = "https://github.com/d4l3k/go-sct";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
+    platforms = platforms.linux;
     mainProgram = "sct";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/gobble/default.nix b/nixpkgs/pkgs/tools/X11/gobble/default.nix
index 46b1b2c4b482..b61cf78f9921 100644
--- a/nixpkgs/pkgs/tools/X11/gobble/default.nix
+++ b/nixpkgs/pkgs/tools/X11/gobble/default.nix
@@ -33,5 +33,6 @@ rustPlatform.buildRustPackage rec {
     license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ vuimuich ];
     platforms = lib.platforms.linux;
+    mainProgram = "gobble";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/grobi/default.nix b/nixpkgs/pkgs/tools/X11/grobi/default.nix
index 08b037972970..cea5fad51e55 100644
--- a/nixpkgs/pkgs/tools/X11/grobi/default.nix
+++ b/nixpkgs/pkgs/tools/X11/grobi/default.nix
@@ -26,5 +26,6 @@ buildGoModule rec {
     description = "Automatically configure monitors/outputs for Xorg via RANDR";
     license = with licenses; [ bsd2 ];
     platforms   = platforms.linux;
+    mainProgram = "grobi";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/hsetroot/default.nix b/nixpkgs/pkgs/tools/X11/hsetroot/default.nix
index 95ccd9586d9c..a3ebc33f56ba 100644
--- a/nixpkgs/pkgs/tools/X11/hsetroot/default.nix
+++ b/nixpkgs/pkgs/tools/X11/hsetroot/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "Allows you to compose wallpapers ('root pixmaps') for X";
     homepage = "https://github.com/himdel/hsetroot";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ henrytill shamilton ];
+    maintainers = with maintainers; [ shamilton ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/icon-slicer/default.nix b/nixpkgs/pkgs/tools/X11/icon-slicer/default.nix
index 37b309c54b76..514b39496ffa 100644
--- a/nixpkgs/pkgs/tools/X11/icon-slicer/default.nix
+++ b/nixpkgs/pkgs/tools/X11/icon-slicer/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ zaninime ];
     platforms = platforms.linux;
+    mainProgram = "icon-slicer";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/imwheel/default.nix b/nixpkgs/pkgs/tools/X11/imwheel/default.nix
index 79fbe65af1f2..bab363583a6c 100644
--- a/nixpkgs/pkgs/tools/X11/imwheel/default.nix
+++ b/nixpkgs/pkgs/tools/X11/imwheel/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ jhillyerd ];
     platforms = platforms.linux;
     license = licenses.gpl2;
+    mainProgram = "imwheel";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/inputplug/default.nix b/nixpkgs/pkgs/tools/X11/inputplug/default.nix
index e6bf334cf4c0..80d97190a0ce 100644
--- a/nixpkgs/pkgs/tools/X11/inputplug/default.nix
+++ b/nixpkgs/pkgs/tools/X11/inputplug/default.nix
@@ -34,6 +34,7 @@ rustPlatform.buildRustPackage rec {
     # `daemon(3)` is deprecated on macOS and `pidfile-rs` needs updating
     broken = stdenv.isDarwin;
     maintainers = with maintainers; [ jecaro ];
+    mainProgram = "inputplug";
   };
 }
 
diff --git a/nixpkgs/pkgs/tools/X11/kdocker/default.nix b/nixpkgs/pkgs/tools/X11/kdocker/default.nix
index 21a11f8fa31a..e8c08e4c3832 100644
--- a/nixpkgs/pkgs/tools/X11/kdocker/default.nix
+++ b/nixpkgs/pkgs/tools/X11/kdocker/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ hexclover ];
     platforms = platforms.linux;
+    mainProgram = "kdocker";
   };
 })
diff --git a/nixpkgs/pkgs/tools/X11/keynav/default.nix b/nixpkgs/pkgs/tools/X11/keynav/default.nix
index 4a2a0e8b5904..63732f478cba 100644
--- a/nixpkgs/pkgs/tools/X11/keynav/default.nix
+++ b/nixpkgs/pkgs/tools/X11/keynav/default.nix
@@ -58,5 +58,6 @@ stdenv.mkDerivation {
     license = licenses.bsd3;
     maintainers = with maintainers; [ pSub ];
     platforms = platforms.linux;
+    mainProgram = "keynav";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/ksuperkey/default.nix b/nixpkgs/pkgs/tools/X11/ksuperkey/default.nix
index 8b77ae550300..733022948dbd 100644
--- a/nixpkgs/pkgs/tools/X11/ksuperkey/default.nix
+++ b/nixpkgs/pkgs/tools/X11/ksuperkey/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ ];
     platforms = platforms.linux;
+    mainProgram = "ksuperkey";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/nitrogen/default.nix b/nixpkgs/pkgs/tools/X11/nitrogen/default.nix
index deefddf23cea..6097948a7cd3 100644
--- a/nixpkgs/pkgs/tools/X11/nitrogen/default.nix
+++ b/nixpkgs/pkgs/tools/X11/nitrogen/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.auntie ];
+    mainProgram = "nitrogen";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/obconf/default.nix b/nixpkgs/pkgs/tools/X11/obconf/default.nix
index efd8b60419be..f4f9fd433fde 100644
--- a/nixpkgs/pkgs/tools/X11/obconf/default.nix
+++ b/nixpkgs/pkgs/tools/X11/obconf/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = [ lib.maintainers.sfrijters ];
     platforms = lib.platforms.linux;
+    mainProgram = "obconf";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/paperview/default.nix b/nixpkgs/pkgs/tools/X11/paperview/default.nix
index 790eaed53ab5..30f04702708a 100644
--- a/nixpkgs/pkgs/tools/X11/paperview/default.nix
+++ b/nixpkgs/pkgs/tools/X11/paperview/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ _3JlOy-PYCCKUi ];
+    mainProgram = "paperview";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/pmenu/default.nix b/nixpkgs/pkgs/tools/X11/pmenu/default.nix
index c5f6274d988e..278a181f5c92 100644
--- a/nixpkgs/pkgs/tools/X11/pmenu/default.nix
+++ b/nixpkgs/pkgs/tools/X11/pmenu/default.nix
@@ -56,5 +56,6 @@ stdenv.mkDerivation (finalAttrs: {
     '';
     maintainers = [ lib.maintainers.azahi ];
     platforms = lib.platforms.unix;
+    mainProgram = "pmenu";
   };
 })
diff --git a/nixpkgs/pkgs/tools/X11/ratmen/default.nix b/nixpkgs/pkgs/tools/X11/ratmen/default.nix
index 8a07b41ac371..0fe85a9ae452 100644
--- a/nixpkgs/pkgs/tools/X11/ratmen/default.nix
+++ b/nixpkgs/pkgs/tools/X11/ratmen/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     homepage = "http://www.update.uu.se/~zrajm/programs/";
     downloadPage = "http://www.update.uu.se/~zrajm/programs/ratmen/";
+    mainProgram = "ratmen";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/run-scaled/default.nix b/nixpkgs/pkgs/tools/X11/run-scaled/default.nix
index d62b38bdf287..b9cdc20f78aa 100644
--- a/nixpkgs/pkgs/tools/X11/run-scaled/default.nix
+++ b/nixpkgs/pkgs/tools/X11/run-scaled/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation {
     maintainers = [ maintainers.snaar ];
     license = licenses.bsd3;
     platforms = platforms.unix;
+    mainProgram = "run_scaled";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/sbs/default.nix b/nixpkgs/pkgs/tools/X11/sbs/default.nix
index 02a25ba467fb..8f16729cd256 100644
--- a/nixpkgs/pkgs/tools/X11/sbs/default.nix
+++ b/nixpkgs/pkgs/tools/X11/sbs/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ onur-ozkan ];
+    mainProgram = "sbs";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/setroot/default.nix b/nixpkgs/pkgs/tools/X11/setroot/default.nix
index bc7b468caaf8..2c7729eab3ad 100644
--- a/nixpkgs/pkgs/tools/X11/setroot/default.nix
+++ b/nixpkgs/pkgs/tools/X11/setroot/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.vyp ];
     platforms = platforms.unix;
+    mainProgram = "setroot";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/smart-wallpaper/default.nix b/nixpkgs/pkgs/tools/X11/smart-wallpaper/default.nix
index f992838935c7..8f41bb7a78af 100644
--- a/nixpkgs/pkgs/tools/X11/smart-wallpaper/default.nix
+++ b/nixpkgs/pkgs/tools/X11/smart-wallpaper/default.nix
@@ -34,5 +34,6 @@ stdenvNoCC.mkDerivation {
     license = licenses.bsd2;
     maintainers = with maintainers; [ baitinq ];
     platforms = platforms.linux;
+    mainProgram = "smart-wallpaper";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/srandrd/default.nix b/nixpkgs/pkgs/tools/X11/srandrd/default.nix
index 84f43301bbd7..0d51bf4785ec 100644
--- a/nixpkgs/pkgs/tools/X11/srandrd/default.nix
+++ b/nixpkgs/pkgs/tools/X11/srandrd/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = [ maintainers.utdemir ];
+    mainProgram = "srandrd";
   };
 
 }
diff --git a/nixpkgs/pkgs/tools/X11/sselp/default.nix b/nixpkgs/pkgs/tools/X11/sselp/default.nix
index d22884270dd4..de083a32028d 100644
--- a/nixpkgs/pkgs/tools/X11/sselp/default.nix
+++ b/nixpkgs/pkgs/tools/X11/sselp/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.mit;
     maintainers = [lib.maintainers.magnetophon ];
     platforms = lib.platforms.linux;
+    mainProgram = "sselp";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/sx/default.nix b/nixpkgs/pkgs/tools/X11/sx/default.nix
index f48e59c753eb..d408af8245bc 100644
--- a/nixpkgs/pkgs/tools/X11/sx/default.nix
+++ b/nixpkgs/pkgs/tools/X11/sx/default.nix
@@ -35,5 +35,6 @@ stdenvNoCC.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ figsoda thiagokokada ];
+    mainProgram = "sx";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/vdpauinfo/default.nix b/nixpkgs/pkgs/tools/X11/vdpauinfo/default.nix
index a5fc87aaf6f2..0ca3354433dc 100644
--- a/nixpkgs/pkgs/tools/X11/vdpauinfo/default.nix
+++ b/nixpkgs/pkgs/tools/X11/vdpauinfo/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit; # expat version
     platforms = platforms.unix;
     maintainers = with maintainers; [ vcunat ];
+    mainProgram = "vdpauinfo";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/wayv/default.nix b/nixpkgs/pkgs/tools/X11/wayv/default.nix
index 2bdeff6a5790..eae930de1dd9 100644
--- a/nixpkgs/pkgs/tools/X11/wayv/default.nix
+++ b/nixpkgs/pkgs/tools/X11/wayv/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
     homepage = "https://github.com/mikemb/wayV";
+    mainProgram = "wayv";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/wmctrl/default.nix b/nixpkgs/pkgs/tools/X11/wmctrl/default.nix
index 19a464aff72a..08a3e9c365f4 100644
--- a/nixpkgs/pkgs/tools/X11/wmctrl/default.nix
+++ b/nixpkgs/pkgs/tools/X11/wmctrl/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     platforms = with lib.platforms; all;
     maintainers = [ lib.maintainers.Anton-Latukha ];
+    mainProgram = "wmctrl";
   };
 
 }
diff --git a/nixpkgs/pkgs/tools/X11/x11vnc/default.nix b/nixpkgs/pkgs/tools/X11/x11vnc/default.nix
index e9e9e4b4daba..8c48951b2d42 100644
--- a/nixpkgs/pkgs/tools/X11/x11vnc/default.nix
+++ b/nixpkgs/pkgs/tools/X11/x11vnc/default.nix
@@ -57,5 +57,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl2;
     maintainers = with maintainers; [ OPNA2608 ];
+    mainProgram = "x11vnc";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/x2vnc/default.nix b/nixpkgs/pkgs/tools/X11/x2vnc/default.nix
index ed4a83fc8de0..8c9648e71d37 100644
--- a/nixpkgs/pkgs/tools/X11/x2vnc/default.nix
+++ b/nixpkgs/pkgs/tools/X11/x2vnc/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     description = "A program to control a remote VNC server";
     platforms = platforms.unix;
     license = licenses.gpl2;
+    mainProgram = "x2vnc";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/x2x/default.nix b/nixpkgs/pkgs/tools/X11/x2x/default.nix
index 3a766d63ba97..061f1d190318 100644
--- a/nixpkgs/pkgs/tools/X11/x2x/default.nix
+++ b/nixpkgs/pkgs/tools/X11/x2x/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/dottedmag/x2x";
     license = licenses.bsd3;
     platforms = platforms.linux;
+    mainProgram = "x2x";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xannotate/default.nix b/nixpkgs/pkgs/tools/X11/xannotate/default.nix
index fe6d5cae6ee1..148bbcfe7af4 100644
--- a/nixpkgs/pkgs/tools/X11/xannotate/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xannotate/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
     homepage = "https://github.com/blais/xannotate";
+    mainProgram = "xannotate";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xbanish/default.nix b/nixpkgs/pkgs/tools/X11/xbanish/default.nix
index 9aa7e4f5b023..9a8780324b84 100644
--- a/nixpkgs/pkgs/tools/X11/xbanish/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xbanish/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.bsd3;
     maintainers = [lib.maintainers.choochootrain];
     platforms = lib.platforms.linux;
+    mainProgram = "xbanish";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xbindkeys-config/default.nix b/nixpkgs/pkgs/tools/X11/xbindkeys-config/default.nix
index e9d6d42b0689..8a5c07ef96ec 100644
--- a/nixpkgs/pkgs/tools/X11/xbindkeys-config/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xbindkeys-config/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [benley];
     platforms = with lib.platforms; linux;
+    mainProgram = "xbindkeys-config";
   };
 
   patches = [ ./xbindkeys-config-patch1.patch ];
diff --git a/nixpkgs/pkgs/tools/X11/xborders/default.nix b/nixpkgs/pkgs/tools/X11/xborders/default.nix
index f9e78034c3c0..379f976acf45 100644
--- a/nixpkgs/pkgs/tools/X11/xborders/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xborders/default.nix
@@ -53,5 +53,6 @@ python3Packages.buildPythonPackage rec {
     license = licenses.unlicense;
     maintainers = with maintainers; [ elnudev ];
     platforms = platforms.linux;
+    mainProgram = "xborders";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xbrightness/default.nix b/nixpkgs/pkgs/tools/X11/xbrightness/default.nix
index 1445c60ccb19..c022371c01d9 100644
--- a/nixpkgs/pkgs/tools/X11/xbrightness/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xbrightness/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage = "http://shallowsky.com/software";
     license = lib.licenses.mit;
     platforms = lib.platforms.linux;
+    mainProgram = "xbrightness";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xcalib/default.nix b/nixpkgs/pkgs/tools/X11/xcalib/default.nix
index 09d5cde88fe6..4960aff0f7b0 100644
--- a/nixpkgs/pkgs/tools/X11/xcalib/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xcalib/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [];
     platforms = platforms.linux;
+    mainProgram = "xcalib";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xcape/default.nix b/nixpkgs/pkgs/tools/X11/xcape/default.nix
index f8d4376017bd..c62e29cedc15 100644
--- a/nixpkgs/pkgs/tools/X11/xcape/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xcape/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3 ;
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
+    mainProgram = "xcape";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xchainkeys/default.nix b/nixpkgs/pkgs/tools/X11/xchainkeys/default.nix
index 5c154f8a1116..7a251b30a47b 100644
--- a/nixpkgs/pkgs/tools/X11/xchainkeys/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xchainkeys/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
     description = "A standalone X11 program to create chained key bindings";
     license = lib.licenses.gpl3;
     platforms = lib.platforms.unix;
+    mainProgram = "xchainkeys";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xcwd/default.nix b/nixpkgs/pkgs/tools/X11/xcwd/default.nix
index 6dbd8606485a..897c4af95edc 100644
--- a/nixpkgs/pkgs/tools/X11/xcwd/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xcwd/default.nix
@@ -1,31 +1,32 @@
 { lib, stdenv, fetchFromGitHub, libX11 }:
 
-stdenv.mkDerivation rec {
-  version = "1.0";
+stdenv.mkDerivation (finalAttrs: {
   pname = "xcwd";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner   = "schischi";
     repo    = "xcwd";
-    rev     = "v${version}";
-    sha256  = "sha256-M6/1H6hI50Cvx40RTKzZXoUui0FGZfwe1IwdaxMJIQo=";
+    rev     = "v${finalAttrs.version}";
+    hash    = "sha256-M6/1H6hI50Cvx40RTKzZXoUui0FGZfwe1IwdaxMJIQo=";
   };
 
   buildInputs = [ libX11 ];
 
   makeFlags = [ "prefix=$(out)" ];
 
-  installPhase = ''
-    install -D xcwd "$out/bin/xcwd"
+  preInstall = ''
+    mkdir -p $out/bin
   '';
 
-  meta = with lib; {
+  meta = {
     description = ''
-      A simple tool which print the current working directory of the currently focused window
+      A simple tool which prints the current working directory of the currently focused window
     '';
     homepage = "https://github.com/schischi/xcwd";
-    maintainers = [ maintainers.grburst ];
-    license = licenses.bsd3;
-    platforms = platforms.linux;
+    license = lib.licenses.bsd3;
+    mainProgram = "xcwd";
+    maintainers = [ lib.maintainers.grburst ];
+    platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/nixpkgs/pkgs/tools/X11/xdotool/default.nix b/nixpkgs/pkgs/tools/X11/xdotool/default.nix
index 736c05c7c7db..bcb48ac44fac 100644
--- a/nixpkgs/pkgs/tools/X11/xdotool/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xdotool/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [viric];
     platforms = with lib.platforms; linux;
+    mainProgram = "xdotool";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xgeometry-select/default.nix b/nixpkgs/pkgs/tools/X11/xgeometry-select/default.nix
index 9f9b50feab90..005bf302cc34 100644
--- a/nixpkgs/pkgs/tools/X11/xgeometry-select/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xgeometry-select/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     homepage    = "https://bbs.archlinux.org/viewtopic.php?pid=660837";
     maintainers = with maintainers; [ obadz ];
     platforms   = platforms.linux;
+    mainProgram = "xgeometry-select";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xidlehook/default.nix b/nixpkgs/pkgs/tools/X11/xidlehook/default.nix
index bb86014257b8..c23acbedafdf 100644
--- a/nixpkgs/pkgs/tools/X11/xidlehook/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xidlehook/default.nix
@@ -44,5 +44,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = with maintainers; [ ];
     platforms = platforms.unix;
     badPlatforms = platforms.darwin;
+    mainProgram = "xidlehook";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xinput_calibrator/default.nix b/nixpkgs/pkgs/tools/X11/xinput_calibrator/default.nix
index 25b419ade4e3..d8afb3e4a896 100644
--- a/nixpkgs/pkgs/tools/X11/xinput_calibrator/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xinput_calibrator/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.flosse ];
     platforms = lib.platforms.linux;
+    mainProgram = "xinput_calibrator";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xkb-switch-i3/default.nix b/nixpkgs/pkgs/tools/X11/xkb-switch-i3/default.nix
index 6333c1abc740..975eeb986614 100644
--- a/nixpkgs/pkgs/tools/X11/xkb-switch-i3/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xkb-switch-i3/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ewok ];
     platforms = platforms.linux;
+    mainProgram = "xkb-switch";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xkb-switch/default.nix b/nixpkgs/pkgs/tools/X11/xkb-switch/default.nix
index e2f15d969edd..7db592532234 100644
--- a/nixpkgs/pkgs/tools/X11/xkb-switch/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xkb-switch/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ smironov ];
     platforms = platforms.linux;
+    mainProgram = "xkb-switch";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xkbset/default.nix b/nixpkgs/pkgs/tools/X11/xkbset/default.nix
index 645770f7e015..9c4bc81744fa 100644
--- a/nixpkgs/pkgs/tools/X11/xkbset/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xkbset/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ drets ];
     platforms = platforms.linux;
     license = licenses.bsd3;
+    mainProgram = "xkbset";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xkbvalidate/default.nix b/nixpkgs/pkgs/tools/X11/xkbvalidate/default.nix
index 92a47aa65638..b39e697f7741 100644
--- a/nixpkgs/pkgs/tools/X11/xkbvalidate/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xkbvalidate/default.nix
@@ -7,6 +7,7 @@ runCommandCC "xkbvalidate" {
     license = lib.licenses.mit;
     platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.aszlig ];
+    mainProgram = "xkbvalidate";
   };
 } ''
   mkdir -p "$out/bin"
diff --git a/nixpkgs/pkgs/tools/X11/xlayoutdisplay/default.nix b/nixpkgs/pkgs/tools/X11/xlayoutdisplay/default.nix
index 593b40a2ade7..5ab9ca0b86ff 100644
--- a/nixpkgs/pkgs/tools/X11/xlayoutdisplay/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xlayoutdisplay/default.nix
@@ -1,27 +1,23 @@
-{ lib, stdenv, fetchFromGitHub, xorg, boost, gtest }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, xorg, boost, gtest }:
 
 stdenv.mkDerivation rec {
   pname = "xlayoutdisplay";
-  version = "1.3.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "alex-courtis";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8K9SoZToJTk/sL4PC4Fcsu9XzGLYfNIZlbIyxc9jf84=";
+    hash = "sha256-A37jFhVTW/3QNEf776Oi3ViRK+ebOPRTsEQqdmNhA7E=";
   };
 
+  nativeBuildInputs = [ pkg-config ];
   buildInputs = with xorg; [ libX11 libXrandr libXcursor boost ];
   nativeCheckInputs = [ gtest ];
 
   doCheck = true;
   checkTarget = "gtest";
 
-  # Fixup reference to hardcoded boost path, dynamically link as seems fine and we don't have static for this
-  postPatch = ''
-    substituteInPlace config.mk --replace '/usr/lib/libboost_program_options.a' '-lboost_program_options'
-  '';
-
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
   enableParallelBuilding = true;
 
@@ -31,5 +27,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ dtzWill ];
     license = licenses.asl20;
     platforms = platforms.linux;
+    mainProgram = "xlayoutdisplay";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xlogo/default.nix b/nixpkgs/pkgs/tools/X11/xlogo/default.nix
index 8c30b34eca75..7b8e9bf52212 100644
--- a/nixpkgs/pkgs/tools/X11/xlogo/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xlogo/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raboof ];
     platforms = platforms.unix;
     license = licenses.mit;
+    mainProgram = "xlogo";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xmcp/default.nix b/nixpkgs/pkgs/tools/X11/xmcp/default.nix
index 178861d63724..228d502c4b7c 100644
--- a/nixpkgs/pkgs/tools/X11/xmcp/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xmcp/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ azahi ];
     platforms = platforms.linux;
+    mainProgram = "xmcp";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xmousepasteblock/default.nix b/nixpkgs/pkgs/tools/X11/xmousepasteblock/default.nix
index ec6a5b0b8e11..121ec93b2242 100644
--- a/nixpkgs/pkgs/tools/X11/xmousepasteblock/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xmousepasteblock/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/milaq/XMousePasteBlock";
     license = lib.licenses.gpl2;
     maintainers = [ maintainers.petercommand ];
+    mainProgram = "xmousepasteblock";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xnee/default.nix b/nixpkgs/pkgs/tools/X11/xnee/default.nix
index ac232f917bd7..b6fe79c7b9cf 100644
--- a/nixpkgs/pkgs/tools/X11/xnee/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xnee/default.nix
@@ -74,6 +74,12 @@ stdenv.mkDerivation (finalAttrs: {
     "LDFLAGS=-lXi"
   ];
 
+  # error: call to undeclared function 'xnee_check_key';
+  # ISO C99 and later do not support implicit function declarations
+  env = lib.optionalAttrs stdenv.cc.isClang {
+    NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
+  };
+
   # XXX: Actually tests require an X server.
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/tools/X11/xnotify/default.nix b/nixpkgs/pkgs/tools/X11/xnotify/default.nix
index e5c6c31e7dbb..cdd7d54b5294 100644
--- a/nixpkgs/pkgs/tools/X11/xnotify/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xnotify/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ azahi ];
     platforms = platforms.unix;
+    mainProgram = "xnotify";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xob/default.nix b/nixpkgs/pkgs/tools/X11/xob/default.nix
index 71e50248df97..e6e2fc273020 100644
--- a/nixpkgs/pkgs/tools/X11/xob/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xob/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ florentc ];
+    mainProgram = "xob";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xplugd/default.nix b/nixpkgs/pkgs/tools/X11/xplugd/default.nix
index aa07c7f37b1b..f5b81571ef2d 100644
--- a/nixpkgs/pkgs/tools/X11/xplugd/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xplugd/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ akho ];
+    mainProgram = "xplugd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xpointerbarrier/default.nix b/nixpkgs/pkgs/tools/X11/xpointerbarrier/default.nix
index 33271090678f..8621e7644365 100644
--- a/nixpkgs/pkgs/tools/X11/xpointerbarrier/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xpointerbarrier/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres xzfc ];
     platforms = platforms.linux;
+    mainProgram = "xpointerbarrier";
   };
 })
diff --git a/nixpkgs/pkgs/tools/X11/xprintidle-ng/default.nix b/nixpkgs/pkgs/tools/X11/xprintidle-ng/default.nix
index ec8a2ed459d3..ebe3d2a61992 100644
--- a/nixpkgs/pkgs/tools/X11/xprintidle-ng/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xprintidle-ng/default.nix
@@ -67,5 +67,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Only;
     maintainers = [ lib.maintainers.raskin ];
     platforms = lib.platforms.linux;
+    mainProgram = "xprintidle-ng";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xprintidle/default.nix b/nixpkgs/pkgs/tools/X11/xprintidle/default.nix
index 400306db6efd..4a0d371a7fd6 100644
--- a/nixpkgs/pkgs/tools/X11/xprintidle/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xprintidle/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ fgaz ];
     platforms = platforms.linux;
+    mainProgram = "xprintidle";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xprompt/default.nix b/nixpkgs/pkgs/tools/X11/xprompt/default.nix
index 191b0316fa80..15f7b337c879 100644
--- a/nixpkgs/pkgs/tools/X11/xprompt/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xprompt/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ azahi ];
     platforms = platforms.unix;
+    mainProgram = "xprompt";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xrectsel/default.nix b/nixpkgs/pkgs/tools/X11/xrectsel/default.nix
index 8b37a6792424..7eef352aea53 100644
--- a/nixpkgs/pkgs/tools/X11/xrectsel/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xrectsel/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.linux;
+    mainProgram = "xrectsel";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xrestop/default.nix b/nixpkgs/pkgs/tools/X11/xrestop/default.nix
index dd3766160c01..2837d2a83d73 100644
--- a/nixpkgs/pkgs/tools/X11/xrestop/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xrestop/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ qyliss ];
     platforms = platforms.unix;
     license = licenses.gpl2Plus;
+    mainProgram = "xrestop";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xtrace/default.nix b/nixpkgs/pkgs/tools/X11/xtrace/default.nix
index dfd834e67b80..de1ea88266e2 100644
--- a/nixpkgs/pkgs/tools/X11/xtrace/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xtrace/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ viric ];
     platforms = with platforms; linux;
+    mainProgram = "xtrace";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xtruss/default.nix b/nixpkgs/pkgs/tools/X11/xtruss/default.nix
index 9e2ee94efa4a..790312335ab2 100644
--- a/nixpkgs/pkgs/tools/X11/xtruss/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xtruss/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.chiark.greenend.org.uk/~sgtatham/xtruss";
     license = licenses.mit;
     maintainers = with maintainers; [ dtzWill ];
+    mainProgram = "xtruss";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xvkbd/default.nix b/nixpkgs/pkgs/tools/X11/xvkbd/default.nix
index 32355205d59a..7ed6b355a799 100644
--- a/nixpkgs/pkgs/tools/X11/xvkbd/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xvkbd/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.bennofs ];
     platforms = platforms.linux;
+    mainProgram = "xvkbd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix b/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix
index 051a3a0d0fe7..df93e10fe194 100644
--- a/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     maintainers = with maintainers; [ ivar ];
     platforms = platforms.linux;
+    mainProgram = "xwallpaper";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xwinmosaic/default.nix b/nixpkgs/pkgs/tools/X11/xwinmosaic/default.nix
index 51ba815f1de4..1189fd8f86aa 100644
--- a/nixpkgs/pkgs/tools/X11/xwinmosaic/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xwinmosaic/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.bsd2 ;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
+    mainProgram = "xwinmosaic";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xwinwrap/default.nix b/nixpkgs/pkgs/tools/X11/xwinwrap/default.nix
index e5bc5743c28d..d36d2c51de5e 100644
--- a/nixpkgs/pkgs/tools/X11/xwinwrap/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xwinwrap/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     homepage = "https://shantanugoel.com/2008/09/03/shantz-xwinwrap/";
     maintainers = with maintainers; [ infinisil ];
     platforms = platforms.linux;
+    mainProgram = "xwinwrap";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xzoom/default.nix b/nixpkgs/pkgs/tools/X11/xzoom/default.nix
index 7ba6bbee223d..0e368651000d 100644
--- a/nixpkgs/pkgs/tools/X11/xzoom/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xzoom/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.free ;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
+    mainProgram = "xzoom";
   };
 }