about summary refs log tree commit diff
path: root/pkgs/kde
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/kde')
-rw-r--r--pkgs/kde/frameworks/kcmutils/default.nix1
-rw-r--r--pkgs/kde/frameworks/kdbusaddons/default.nix1
-rw-r--r--pkgs/kde/frameworks/kded/default.nix1
-rw-r--r--pkgs/kde/frameworks/kguiaddons/default.nix1
-rw-r--r--pkgs/kde/frameworks/kiconthemes/default.nix1
-rw-r--r--pkgs/kde/frameworks/knewstuff/default.nix1
-rw-r--r--pkgs/kde/frameworks/kpackage/default.nix1
-rw-r--r--pkgs/kde/frameworks/kservice/default.nix1
-rw-r--r--pkgs/kde/frameworks/solid/default.nix1
-rw-r--r--pkgs/kde/frameworks/sonnet/default.nix1
-rw-r--r--pkgs/kde/frameworks/syntax-highlighting/default.nix1
-rw-r--r--pkgs/kde/gear/akonadi-calendar/default.nix1
-rw-r--r--pkgs/kde/gear/akonadi-import-wizard/default.nix1
-rw-r--r--pkgs/kde/gear/akonadiconsole/default.nix1
-rw-r--r--pkgs/kde/gear/alligator/default.nix1
-rw-r--r--pkgs/kde/gear/arianna/default.nix1
-rw-r--r--pkgs/kde/gear/ark/default.nix1
-rw-r--r--pkgs/kde/gear/audiotube/default.nix1
-rw-r--r--pkgs/kde/gear/baloo-widgets/default.nix1
-rw-r--r--pkgs/kde/gear/blinken/default.nix1
-rw-r--r--pkgs/kde/gear/bomber/default.nix1
-rw-r--r--pkgs/kde/gear/bovo/default.nix1
-rw-r--r--pkgs/kde/gear/colord-kde/default.nix1
-rw-r--r--pkgs/kde/gear/dragon/default.nix1
-rw-r--r--pkgs/kde/gear/elisa/default.nix1
-rw-r--r--pkgs/kde/gear/falkon/default.nix1
-rw-r--r--pkgs/kde/gear/filelight/default.nix1
-rw-r--r--pkgs/kde/gear/ghostwriter/default.nix1
-rw-r--r--pkgs/kde/gear/granatier/default.nix1
-rw-r--r--pkgs/kde/gear/isoimagewriter/default.nix1
-rw-r--r--pkgs/kde/gear/itinerary/default.nix1
-rw-r--r--pkgs/kde/gear/juk/default.nix1
-rw-r--r--pkgs/kde/gear/k3b/default.nix1
-rw-r--r--pkgs/kde/gear/kaddressbook/default.nix1
-rw-r--r--pkgs/kde/gear/kalk/default.nix1
-rw-r--r--pkgs/kde/gear/kalzium/default.nix1
-rw-r--r--pkgs/kde/gear/kanagram/default.nix1
-rw-r--r--pkgs/kde/gear/kapman/default.nix1
-rw-r--r--pkgs/kde/gear/kapptemplate/default.nix1
-rw-r--r--pkgs/kde/gear/kasts/default.nix1
-rw-r--r--pkgs/kde/gear/katomic/default.nix1
-rw-r--r--pkgs/kde/gear/kbackup/default.nix1
-rw-r--r--pkgs/kde/gear/kblackbox/default.nix1
-rw-r--r--pkgs/kde/gear/kblocks/default.nix1
-rw-r--r--pkgs/kde/gear/kbounce/default.nix1
-rw-r--r--pkgs/kde/gear/kbreakout/default.nix1
-rw-r--r--pkgs/kde/gear/kbruch/default.nix1
-rw-r--r--pkgs/kde/gear/kcalc/default.nix1
-rw-r--r--pkgs/kde/gear/kcharselect/default.nix1
-rw-r--r--pkgs/kde/gear/kcolorchooser/default.nix1
-rw-r--r--pkgs/kde/gear/kde-inotify-survey/default.nix1
-rw-r--r--pkgs/kde/gear/kdebugsettings/default.nix1
-rw-r--r--pkgs/kde/gear/kdiamond/default.nix1
-rw-r--r--pkgs/kde/gear/keysmith/default.nix1
-rw-r--r--pkgs/kde/gear/kfind/default.nix1
-rw-r--r--pkgs/kde/gear/kgeography/default.nix1
-rw-r--r--pkgs/kde/gear/kget/default.nix1
-rw-r--r--pkgs/kde/gear/kgoldrunner/default.nix1
-rw-r--r--pkgs/kde/gear/kgpg/default.nix1
-rw-r--r--pkgs/kde/gear/khangman/default.nix1
-rw-r--r--pkgs/kde/gear/khelpcenter/default.nix1
-rw-r--r--pkgs/kde/gear/kigo/default.nix1
-rw-r--r--pkgs/kde/gear/killbots/default.nix1
-rw-r--r--pkgs/kde/gear/kimagemapeditor/default.nix1
-rw-r--r--pkgs/kde/gear/kiriki/default.nix1
-rw-r--r--pkgs/kde/gear/kjournald/default.nix1
-rw-r--r--pkgs/kde/gear/kjumpingcube/default.nix1
-rw-r--r--pkgs/kde/gear/klettres/default.nix1
-rw-r--r--pkgs/kde/gear/klickety/default.nix1
-rw-r--r--pkgs/kde/gear/klines/default.nix1
-rw-r--r--pkgs/kde/gear/kmag/default.nix1
-rw-r--r--pkgs/kde/gear/kmahjongg/default.nix1
-rw-r--r--pkgs/kde/gear/kmail-account-wizard/default.nix1
-rw-r--r--pkgs/kde/gear/kmines/default.nix1
-rw-r--r--pkgs/kde/gear/kmousetool/default.nix1
-rw-r--r--pkgs/kde/gear/kmouth/default.nix1
-rw-r--r--pkgs/kde/gear/kmplot/default.nix1
-rw-r--r--pkgs/kde/gear/knavalbattle/default.nix1
-rw-r--r--pkgs/kde/gear/knetwalk/default.nix1
-rw-r--r--pkgs/kde/gear/knights/default.nix1
-rw-r--r--pkgs/kde/gear/koko/default.nix1
-rw-r--r--pkgs/kde/gear/kolf/default.nix1
-rw-r--r--pkgs/kde/gear/kollision/default.nix1
-rw-r--r--pkgs/kde/gear/kolourpaint/default.nix1
-rw-r--r--pkgs/kde/gear/kompare/default.nix1
-rw-r--r--pkgs/kde/gear/konquest/default.nix1
-rw-r--r--pkgs/kde/gear/kontact/default.nix1
-rw-r--r--pkgs/kde/gear/kontrast/default.nix1
-rw-r--r--pkgs/kde/gear/konversation/default.nix1
-rw-r--r--pkgs/kde/gear/korganizer/default.nix1
-rw-r--r--pkgs/kde/gear/kpat/default.nix1
-rw-r--r--pkgs/kde/gear/krdc/default.nix1
-rw-r--r--pkgs/kde/gear/krecorder/default.nix1
-rw-r--r--pkgs/kde/gear/kreversi/default.nix1
-rw-r--r--pkgs/kde/gear/kruler/default.nix1
-rw-r--r--pkgs/kde/gear/kshisen/default.nix1
-rw-r--r--pkgs/kde/gear/ksnakeduel/default.nix1
-rw-r--r--pkgs/kde/gear/kspaceduel/default.nix1
-rw-r--r--pkgs/kde/gear/ksquares/default.nix1
-rw-r--r--pkgs/kde/gear/ksudoku/default.nix1
-rw-r--r--pkgs/kde/gear/ksystemlog/default.nix1
-rw-r--r--pkgs/kde/gear/kteatime/default.nix1
-rw-r--r--pkgs/kde/gear/ktimer/default.nix1
-rw-r--r--pkgs/kde/gear/ktrip/default.nix1
-rw-r--r--pkgs/kde/gear/ktuberling/default.nix1
-rw-r--r--pkgs/kde/gear/kturtle/default.nix1
-rw-r--r--pkgs/kde/gear/kubrick/default.nix1
-rw-r--r--pkgs/kde/gear/kwalletmanager/default.nix1
-rw-r--r--pkgs/kde/gear/kweather/default.nix1
-rw-r--r--pkgs/kde/gear/kwordquiz/default.nix1
-rw-r--r--pkgs/kde/gear/lskat/default.nix1
-rw-r--r--pkgs/kde/gear/mbox-importer/default.nix1
-rw-r--r--pkgs/kde/gear/minuet/default.nix1
-rw-r--r--pkgs/kde/gear/neochat/default.nix1
-rw-r--r--pkgs/kde/gear/okular/default.nix1
-rw-r--r--pkgs/kde/gear/palapeli/default.nix1
-rw-r--r--pkgs/kde/gear/parley/default.nix1
-rw-r--r--pkgs/kde/gear/partitionmanager/default.nix1
-rw-r--r--pkgs/kde/gear/picmi/default.nix1
-rw-r--r--pkgs/kde/gear/pim-sieve-editor/default.nix1
-rw-r--r--pkgs/kde/gear/plasmatube/default.nix1
-rw-r--r--pkgs/kde/gear/qmlkonsole/default.nix1
-rw-r--r--pkgs/kde/gear/skanlite/default.nix1
-rw-r--r--pkgs/kde/gear/skanpage/default.nix1
-rw-r--r--pkgs/kde/gear/spectacle/default.nix1
-rw-r--r--pkgs/kde/gear/step/default.nix1
-rw-r--r--pkgs/kde/gear/sweeper/default.nix1
-rw-r--r--pkgs/kde/gear/telly-skout/default.nix1
-rw-r--r--pkgs/kde/gear/tokodon/default.nix1
-rw-r--r--pkgs/kde/gear/yakuake/default.nix1
-rw-r--r--pkgs/kde/misc/alpaka/default.nix1
-rw-r--r--pkgs/kde/misc/kunifiedpush/default.nix1
-rw-r--r--pkgs/kde/misc/phonon/default.nix1
-rw-r--r--pkgs/kde/plasma/breeze/default.nix1
-rw-r--r--pkgs/kde/plasma/kinfocenter/default.nix1
-rw-r--r--pkgs/kde/plasma/kmenuedit/default.nix1
-rw-r--r--pkgs/kde/plasma/kscreen/default.nix1
-rw-r--r--pkgs/kde/plasma/ksshaskpass/default.nix1
-rw-r--r--pkgs/kde/plasma/kwrited/default.nix1
-rw-r--r--pkgs/kde/plasma/libkscreen/default.nix1
-rw-r--r--pkgs/kde/plasma/plasma-activities/default.nix1
-rw-r--r--pkgs/kde/plasma/plasma-browser-integration/default.nix1
-rw-r--r--pkgs/kde/plasma/plasma-systemmonitor/default.nix1
-rw-r--r--pkgs/kde/plasma/plasma-welcome/default.nix1
-rw-r--r--pkgs/kde/plasma/plymouth-kcm/default.nix1
-rw-r--r--pkgs/kde/plasma/sddm-kcm/default.nix1
-rw-r--r--pkgs/kde/plasma/systemsettings/default.nix1
-rw-r--r--pkgs/kde/plasma/wacomtablet/default.nix1
148 files changed, 148 insertions, 0 deletions
diff --git a/pkgs/kde/frameworks/kcmutils/default.nix b/pkgs/kde/frameworks/kcmutils/default.nix
index bb6ecb110ee02..617fb5978d116 100644
--- a/pkgs/kde/frameworks/kcmutils/default.nix
+++ b/pkgs/kde/frameworks/kcmutils/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kcmutils";
 
   extraPropagatedBuildInputs = [qtdeclarative];
+  meta.mainProgram = "kcmshell6";
 }
diff --git a/pkgs/kde/frameworks/kdbusaddons/default.nix b/pkgs/kde/frameworks/kdbusaddons/default.nix
index f7d80a5746f32..6803331b1e366 100644
--- a/pkgs/kde/frameworks/kdbusaddons/default.nix
+++ b/pkgs/kde/frameworks/kdbusaddons/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kdbusaddons";
 
   extraNativeBuildInputs = [qttools];
+  meta.mainProgram = "kquitapp6";
 }
diff --git a/pkgs/kde/frameworks/kded/default.nix b/pkgs/kde/frameworks/kded/default.nix
index dc6fa84d5347f..aa2ec5fc5ac22 100644
--- a/pkgs/kde/frameworks/kded/default.nix
+++ b/pkgs/kde/frameworks/kded/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kded";
+  meta.mainProgram = "kded6";
 }
diff --git a/pkgs/kde/frameworks/kguiaddons/default.nix b/pkgs/kde/frameworks/kguiaddons/default.nix
index 899786eefbdae..3c1fb8034a0a4 100644
--- a/pkgs/kde/frameworks/kguiaddons/default.nix
+++ b/pkgs/kde/frameworks/kguiaddons/default.nix
@@ -9,4 +9,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [pkg-config];
   extraBuildInputs = [qtwayland wayland];
+  meta.mainProgram = "kde-geo-uri-handler";
 }
diff --git a/pkgs/kde/frameworks/kiconthemes/default.nix b/pkgs/kde/frameworks/kiconthemes/default.nix
index 378a3f7f87b7d..de93cd9d8360e 100644
--- a/pkgs/kde/frameworks/kiconthemes/default.nix
+++ b/pkgs/kde/frameworks/kiconthemes/default.nix
@@ -12,4 +12,5 @@ mkKdeDerivation {
     qtsvg
     qttools
   ];
+  meta.mainProgram = "kiconfinder6";
 }
diff --git a/pkgs/kde/frameworks/knewstuff/default.nix b/pkgs/kde/frameworks/knewstuff/default.nix
index 934167daf055e..26e3207764e7c 100644
--- a/pkgs/kde/frameworks/knewstuff/default.nix
+++ b/pkgs/kde/frameworks/knewstuff/default.nix
@@ -13,4 +13,5 @@ mkKdeDerivation {
 
   extraBuildInputs = [qtdeclarative qttools];
   extraPropagatedBuildInputs = [kcmutils];
+  meta.mainProgram = "knewstuff-dialog6";
 }
diff --git a/pkgs/kde/frameworks/kpackage/default.nix b/pkgs/kde/frameworks/kpackage/default.nix
index 8f99e10047c04..19e4d7932a568 100644
--- a/pkgs/kde/frameworks/kpackage/default.nix
+++ b/pkgs/kde/frameworks/kpackage/default.nix
@@ -5,4 +5,5 @@ mkKdeDerivation {
   # Follow symlinks when resolving packages
   # FIXME(later): upstream
   patches = [./follow-symlinks.patch];
+  meta.mainProgram = "kpackagetool6";
 }
diff --git a/pkgs/kde/frameworks/kservice/default.nix b/pkgs/kde/frameworks/kservice/default.nix
index 3da4fd1fdd754..7451647081e50 100644
--- a/pkgs/kde/frameworks/kservice/default.nix
+++ b/pkgs/kde/frameworks/kservice/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
     # FIXME(later): upstream
     ./qdiriterator-follow-symlinks.patch
   ];
+  meta.mainProgram = "kbuildsycoca6";
 }
diff --git a/pkgs/kde/frameworks/solid/default.nix b/pkgs/kde/frameworks/solid/default.nix
index 9414228480582..08419f4b97849 100644
--- a/pkgs/kde/frameworks/solid/default.nix
+++ b/pkgs/kde/frameworks/solid/default.nix
@@ -13,4 +13,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [qttools bison flex];
   extraBuildInputs = [libimobiledevice];
+  meta.mainProgram = "solid-hardware6";
 }
diff --git a/pkgs/kde/frameworks/sonnet/default.nix b/pkgs/kde/frameworks/sonnet/default.nix
index d0775de9bb18d..b5b82f6e675c5 100644
--- a/pkgs/kde/frameworks/sonnet/default.nix
+++ b/pkgs/kde/frameworks/sonnet/default.nix
@@ -11,4 +11,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [qttools pkg-config];
   extraBuildInputs = [qtdeclarative aspell hunspell];
+  meta.mainProgram = "parsetrigrams6";
 }
diff --git a/pkgs/kde/frameworks/syntax-highlighting/default.nix b/pkgs/kde/frameworks/syntax-highlighting/default.nix
index 4ce448e937d59..1a5430901f2e5 100644
--- a/pkgs/kde/frameworks/syntax-highlighting/default.nix
+++ b/pkgs/kde/frameworks/syntax-highlighting/default.nix
@@ -9,4 +9,5 @@ mkKdeDerivation {
 
   extraBuildInputs = [qtdeclarative];
   extraNativeBuildInputs = [qttools perl];
+  meta.mainProgram = "ksyntaxhighlighter6";
 }
diff --git a/pkgs/kde/gear/akonadi-calendar/default.nix b/pkgs/kde/gear/akonadi-calendar/default.nix
index ffa28766a4e1c..66c615e53b189 100644
--- a/pkgs/kde/gear/akonadi-calendar/default.nix
+++ b/pkgs/kde/gear/akonadi-calendar/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "akonadi-calendar";
+  meta.mainProgram = "kalendarac";
 }
diff --git a/pkgs/kde/gear/akonadi-import-wizard/default.nix b/pkgs/kde/gear/akonadi-import-wizard/default.nix
index 191944a9e90d2..9037457ee8b06 100644
--- a/pkgs/kde/gear/akonadi-import-wizard/default.nix
+++ b/pkgs/kde/gear/akonadi-import-wizard/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "akonadi-import-wizard";
+  meta.mainProgram = "akonadiimportwizard";
 }
diff --git a/pkgs/kde/gear/akonadiconsole/default.nix b/pkgs/kde/gear/akonadiconsole/default.nix
index 4820faea57059..ca116910011c9 100644
--- a/pkgs/kde/gear/akonadiconsole/default.nix
+++ b/pkgs/kde/gear/akonadiconsole/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "akonadiconsole";
 
   extraBuildInputs = [xapian];
+  meta.mainProgram = "akonadiconsole";
 }
diff --git a/pkgs/kde/gear/alligator/default.nix b/pkgs/kde/gear/alligator/default.nix
index bf3a4fb53b9d4..c2f7a14734e2f 100644
--- a/pkgs/kde/gear/alligator/default.nix
+++ b/pkgs/kde/gear/alligator/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "alligator";
+  meta.mainProgram = "alligator";
 }
diff --git a/pkgs/kde/gear/arianna/default.nix b/pkgs/kde/gear/arianna/default.nix
index d3a63bc194552..9e56cfda9efe7 100644
--- a/pkgs/kde/gear/arianna/default.nix
+++ b/pkgs/kde/gear/arianna/default.nix
@@ -18,4 +18,5 @@ mkKdeDerivation {
     kitemmodels
     kquickcharts
   ];
+  meta.mainProgram = "arianna";
 }
diff --git a/pkgs/kde/gear/ark/default.nix b/pkgs/kde/gear/ark/default.nix
index ae443c21cf847..fb9c3d8e596fe 100644
--- a/pkgs/kde/gear/ark/default.nix
+++ b/pkgs/kde/gear/ark/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
   pname = "ark";
 
   extraBuildInputs = [libarchive libzip];
+  meta.mainProgram = "ark";
 }
diff --git a/pkgs/kde/gear/audiotube/default.nix b/pkgs/kde/gear/audiotube/default.nix
index 60e646cd71c17..c9ae14f3be9b9 100644
--- a/pkgs/kde/gear/audiotube/default.nix
+++ b/pkgs/kde/gear/audiotube/default.nix
@@ -50,4 +50,5 @@ in
     qtWrapperArgs = [
       "--prefix PYTHONPATH : ${ps.makePythonPath pythonDeps}"
     ];
+    meta.mainProgram = "audiotube";
   }
diff --git a/pkgs/kde/gear/baloo-widgets/default.nix b/pkgs/kde/gear/baloo-widgets/default.nix
index ca638bef60742..7e576348f0606 100644
--- a/pkgs/kde/gear/baloo-widgets/default.nix
+++ b/pkgs/kde/gear/baloo-widgets/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "baloo-widgets";
+  meta.mainProgram = "baloo_filemetadata_temp_extractor";
 }
diff --git a/pkgs/kde/gear/blinken/default.nix b/pkgs/kde/gear/blinken/default.nix
index ac5f4273ebd5f..8b6fbc68066a9 100644
--- a/pkgs/kde/gear/blinken/default.nix
+++ b/pkgs/kde/gear/blinken/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "blinken";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "blinken";
 }
diff --git a/pkgs/kde/gear/bomber/default.nix b/pkgs/kde/gear/bomber/default.nix
index a0e2ea97428c7..611edb5d2c7aa 100644
--- a/pkgs/kde/gear/bomber/default.nix
+++ b/pkgs/kde/gear/bomber/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "bomber";
 
   extraNativeBuildInputs = [_7zz];
+  meta.mainProgram = "bomber";
 }
diff --git a/pkgs/kde/gear/bovo/default.nix b/pkgs/kde/gear/bovo/default.nix
index bc48853616ef2..9e8ae9b05153d 100644
--- a/pkgs/kde/gear/bovo/default.nix
+++ b/pkgs/kde/gear/bovo/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "bovo";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "bovo";
 }
diff --git a/pkgs/kde/gear/colord-kde/default.nix b/pkgs/kde/gear/colord-kde/default.nix
index adacf19ba9a35..9e2aa630d6883 100644
--- a/pkgs/kde/gear/colord-kde/default.nix
+++ b/pkgs/kde/gear/colord-kde/default.nix
@@ -9,4 +9,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [pkg-config];
   extraBuildInputs = [lcms2 xorg.libXrandr];
+  meta.mainProgram = "colord-kde-icc-importer";
 }
diff --git a/pkgs/kde/gear/dragon/default.nix b/pkgs/kde/gear/dragon/default.nix
index 0b1900203c052..3b49b3372ce6a 100644
--- a/pkgs/kde/gear/dragon/default.nix
+++ b/pkgs/kde/gear/dragon/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "dragon";
+  meta.mainProgram = "dragon";
 }
diff --git a/pkgs/kde/gear/elisa/default.nix b/pkgs/kde/gear/elisa/default.nix
index 4f4437a5794c6..74331ebdace9d 100644
--- a/pkgs/kde/gear/elisa/default.nix
+++ b/pkgs/kde/gear/elisa/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
   pname = "elisa";
 
   extraBuildInputs = [qtmultimedia vlc];
+  meta.mainProgram = "elisa";
 }
diff --git a/pkgs/kde/gear/falkon/default.nix b/pkgs/kde/gear/falkon/default.nix
index 3fb5a9e16dbbe..bc8125b99ec8f 100644
--- a/pkgs/kde/gear/falkon/default.nix
+++ b/pkgs/kde/gear/falkon/default.nix
@@ -11,4 +11,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [qttools qtwebchannel qtwebengine];
   extraBuildInputs = [extra-cmake-modules qtwebchannel qtwebengine python3Packages.pyside6];
+  meta.mainProgram = "falkon";
 }
diff --git a/pkgs/kde/gear/filelight/default.nix b/pkgs/kde/gear/filelight/default.nix
index 1136a3b688445..fa80c1ea2ab38 100644
--- a/pkgs/kde/gear/filelight/default.nix
+++ b/pkgs/kde/gear/filelight/default.nix
@@ -12,4 +12,5 @@ mkKdeDerivation {
     kquickcharts
     qqc2-desktop-style
   ];
+  meta.mainProgram = "filelight";
 }
diff --git a/pkgs/kde/gear/ghostwriter/default.nix b/pkgs/kde/gear/ghostwriter/default.nix
index b3620992ee400..f4b4a3cee21e3 100644
--- a/pkgs/kde/gear/ghostwriter/default.nix
+++ b/pkgs/kde/gear/ghostwriter/default.nix
@@ -14,4 +14,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [pkg-config kdoctools];
   extraBuildInputs = [qtsvg qttools qtwebchannel qtwebengine qt5compat hunspell];
+  meta.mainProgram = "ghostwriter";
 }
diff --git a/pkgs/kde/gear/granatier/default.nix b/pkgs/kde/gear/granatier/default.nix
index 66a763a962fee..1c8593258ca3a 100644
--- a/pkgs/kde/gear/granatier/default.nix
+++ b/pkgs/kde/gear/granatier/default.nix
@@ -8,4 +8,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [_7zz];
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "granatier";
 }
diff --git a/pkgs/kde/gear/isoimagewriter/default.nix b/pkgs/kde/gear/isoimagewriter/default.nix
index daad31ea436b4..e9b41bcb84e95 100644
--- a/pkgs/kde/gear/isoimagewriter/default.nix
+++ b/pkgs/kde/gear/isoimagewriter/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "isoimagewriter";
 
   extraBuildInputs = [qgpgme];
+  meta.mainProgram = "isoimagewriter";
 }
diff --git a/pkgs/kde/gear/itinerary/default.nix b/pkgs/kde/gear/itinerary/default.nix
index 29c1291320716..ca1872662f32b 100644
--- a/pkgs/kde/gear/itinerary/default.nix
+++ b/pkgs/kde/gear/itinerary/default.nix
@@ -14,4 +14,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [pkg-config shared-mime-info];
   extraBuildInputs = [qtlocation qtpositioning libical];
+  meta.mainProgram = "itinerary";
 }
diff --git a/pkgs/kde/gear/juk/default.nix b/pkgs/kde/gear/juk/default.nix
index dec454d2385b6..53eff6a9cc183 100644
--- a/pkgs/kde/gear/juk/default.nix
+++ b/pkgs/kde/gear/juk/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
   pname = "juk";
 
   extraBuildInputs = [qtsvg taglib];
+  meta.mainProgram = "juk";
 }
diff --git a/pkgs/kde/gear/k3b/default.nix b/pkgs/kde/gear/k3b/default.nix
index ab6b39a2f5e47..9eba27da8639c 100644
--- a/pkgs/kde/gear/k3b/default.nix
+++ b/pkgs/kde/gear/k3b/default.nix
@@ -50,4 +50,5 @@ mkKdeDerivation {
       flac
     ]}"
   ];
+  meta.mainProgram = "k3b";
 }
diff --git a/pkgs/kde/gear/kaddressbook/default.nix b/pkgs/kde/gear/kaddressbook/default.nix
index d4e2c58200381..a5ef9c659f4ec 100644
--- a/pkgs/kde/gear/kaddressbook/default.nix
+++ b/pkgs/kde/gear/kaddressbook/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kaddressbook";
+  meta.mainProgram = "kaddressbook";
 }
diff --git a/pkgs/kde/gear/kalk/default.nix b/pkgs/kde/gear/kalk/default.nix
index b2cce371346ea..bc2afd2425bf2 100644
--- a/pkgs/kde/gear/kalk/default.nix
+++ b/pkgs/kde/gear/kalk/default.nix
@@ -22,4 +22,5 @@ mkKdeDerivation {
     mpfr
     libqalculate
   ];
+  meta.mainProgram = "kalk";
 }
diff --git a/pkgs/kde/gear/kalzium/default.nix b/pkgs/kde/gear/kalzium/default.nix
index 7e46128dc967b..1c45498294d06 100644
--- a/pkgs/kde/gear/kalzium/default.nix
+++ b/pkgs/kde/gear/kalzium/default.nix
@@ -13,4 +13,5 @@ mkKdeDerivation {
   # FIXME: look into how to make it find libfacile
   extraNativeBuildInputs = [pkg-config ocaml];
   extraBuildInputs = [eigen openbabel qtsvg qtscxml];
+  meta.mainProgram = "kalzium";
 }
diff --git a/pkgs/kde/gear/kanagram/default.nix b/pkgs/kde/gear/kanagram/default.nix
index 4a12b6153e150..e7d3d7b443ed4 100644
--- a/pkgs/kde/gear/kanagram/default.nix
+++ b/pkgs/kde/gear/kanagram/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kanagram";
 
   extraBuildInputs = [qtspeech];
+  meta.mainProgram = "kanagram";
 }
diff --git a/pkgs/kde/gear/kapman/default.nix b/pkgs/kde/gear/kapman/default.nix
index 2b3599ccd3f3d..61cfb1fdf3faa 100644
--- a/pkgs/kde/gear/kapman/default.nix
+++ b/pkgs/kde/gear/kapman/default.nix
@@ -8,4 +8,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [_7zz];
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "kapman";
 }
diff --git a/pkgs/kde/gear/kapptemplate/default.nix b/pkgs/kde/gear/kapptemplate/default.nix
index 0559bc33e522c..9b4f350b1b658 100644
--- a/pkgs/kde/gear/kapptemplate/default.nix
+++ b/pkgs/kde/gear/kapptemplate/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kapptemplate";
+  meta.mainProgram = "kapptemplate";
 }
diff --git a/pkgs/kde/gear/kasts/default.nix b/pkgs/kde/gear/kasts/default.nix
index 94fa949a78d7c..860af4a1f0817 100644
--- a/pkgs/kde/gear/kasts/default.nix
+++ b/pkgs/kde/gear/kasts/default.nix
@@ -18,4 +18,5 @@ mkKdeDerivation {
     taglib
     libvlc
   ];
+  meta.mainProgram = "kasts";
 }
diff --git a/pkgs/kde/gear/katomic/default.nix b/pkgs/kde/gear/katomic/default.nix
index 22ce4c19c216c..9a0f9b743d9e0 100644
--- a/pkgs/kde/gear/katomic/default.nix
+++ b/pkgs/kde/gear/katomic/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "katomic";
+  meta.mainProgram = "katomic";
 }
diff --git a/pkgs/kde/gear/kbackup/default.nix b/pkgs/kde/gear/kbackup/default.nix
index aca459e19264a..49e43996b9321 100644
--- a/pkgs/kde/gear/kbackup/default.nix
+++ b/pkgs/kde/gear/kbackup/default.nix
@@ -9,4 +9,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [shared-mime-info];
   extraBuildInputs = [qt5compat libarchive];
+  meta.mainProgram = "kbackup";
 }
diff --git a/pkgs/kde/gear/kblackbox/default.nix b/pkgs/kde/gear/kblackbox/default.nix
index 2aba074ac5626..3f8995ce537e3 100644
--- a/pkgs/kde/gear/kblackbox/default.nix
+++ b/pkgs/kde/gear/kblackbox/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kblackbox";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "kblackbox";
 }
diff --git a/pkgs/kde/gear/kblocks/default.nix b/pkgs/kde/gear/kblocks/default.nix
index e184971a9491f..1e4628b03037e 100644
--- a/pkgs/kde/gear/kblocks/default.nix
+++ b/pkgs/kde/gear/kblocks/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kblocks";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "kblocks";
 }
diff --git a/pkgs/kde/gear/kbounce/default.nix b/pkgs/kde/gear/kbounce/default.nix
index d94cd2cbf351d..8ddeef47bfb6e 100644
--- a/pkgs/kde/gear/kbounce/default.nix
+++ b/pkgs/kde/gear/kbounce/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kbounce";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "kbounce";
 }
diff --git a/pkgs/kde/gear/kbreakout/default.nix b/pkgs/kde/gear/kbreakout/default.nix
index 34e9e84357791..541ae0789ed46 100644
--- a/pkgs/kde/gear/kbreakout/default.nix
+++ b/pkgs/kde/gear/kbreakout/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kbreakout";
 
   extraNativeBuildInputs = [_7zz];
+  meta.mainProgram = "kbreakout";
 }
diff --git a/pkgs/kde/gear/kbruch/default.nix b/pkgs/kde/gear/kbruch/default.nix
index ea034aa275b90..9533db2c30e52 100644
--- a/pkgs/kde/gear/kbruch/default.nix
+++ b/pkgs/kde/gear/kbruch/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kbruch";
+  meta.mainProgram = "kbruch";
 }
diff --git a/pkgs/kde/gear/kcalc/default.nix b/pkgs/kde/gear/kcalc/default.nix
index 66bffedbb3c02..fdc55b3532782 100644
--- a/pkgs/kde/gear/kcalc/default.nix
+++ b/pkgs/kde/gear/kcalc/default.nix
@@ -10,4 +10,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [kdoctools];
   extraBuildInputs = [qt5compat gmp mpfr];
+  meta.mainProgram = "kcalc";
 }
diff --git a/pkgs/kde/gear/kcharselect/default.nix b/pkgs/kde/gear/kcharselect/default.nix
index 1fffb87d32cdf..9ee054d9339aa 100644
--- a/pkgs/kde/gear/kcharselect/default.nix
+++ b/pkgs/kde/gear/kcharselect/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kcharselect";
+  meta.mainProgram = "kcharselect";
 }
diff --git a/pkgs/kde/gear/kcolorchooser/default.nix b/pkgs/kde/gear/kcolorchooser/default.nix
index 5e82c5c2c36f2..f4c5132800e36 100644
--- a/pkgs/kde/gear/kcolorchooser/default.nix
+++ b/pkgs/kde/gear/kcolorchooser/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kcolorchooser";
+  meta.mainProgram = "kcolorchooser";
 }
diff --git a/pkgs/kde/gear/kde-inotify-survey/default.nix b/pkgs/kde/gear/kde-inotify-survey/default.nix
index 810fa3984093c..6e319b60c81d5 100644
--- a/pkgs/kde/gear/kde-inotify-survey/default.nix
+++ b/pkgs/kde/gear/kde-inotify-survey/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kde-inotify-survey";
+  meta.mainProgram = "kde-inotify-survey";
 }
diff --git a/pkgs/kde/gear/kdebugsettings/default.nix b/pkgs/kde/gear/kdebugsettings/default.nix
index 47431c60aa2d8..21477c6656945 100644
--- a/pkgs/kde/gear/kdebugsettings/default.nix
+++ b/pkgs/kde/gear/kdebugsettings/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kdebugsettings";
+  meta.mainProgram = "kdebugsettings";
 }
diff --git a/pkgs/kde/gear/kdiamond/default.nix b/pkgs/kde/gear/kdiamond/default.nix
index a45a3c6f10936..1636a80fd727f 100644
--- a/pkgs/kde/gear/kdiamond/default.nix
+++ b/pkgs/kde/gear/kdiamond/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kdiamond";
 
   extraNativeBuildInputs = [_7zz];
+  meta.mainProgram = "kdiamond";
 }
diff --git a/pkgs/kde/gear/keysmith/default.nix b/pkgs/kde/gear/keysmith/default.nix
index a468409ff1828..4d96f630a661a 100644
--- a/pkgs/kde/gear/keysmith/default.nix
+++ b/pkgs/kde/gear/keysmith/default.nix
@@ -9,4 +9,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [pkg-config];
   extraBuildInputs = [qtsvg libsodium];
+  meta.mainProgram = "keysmith";
 }
diff --git a/pkgs/kde/gear/kfind/default.nix b/pkgs/kde/gear/kfind/default.nix
index c0216e3015759..b652b790eb7ff 100644
--- a/pkgs/kde/gear/kfind/default.nix
+++ b/pkgs/kde/gear/kfind/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kfind";
 
   extraBuildInputs = [qt5compat];
+  meta.mainProgram = "kfind";
 }
diff --git a/pkgs/kde/gear/kgeography/default.nix b/pkgs/kde/gear/kgeography/default.nix
index aa9f878bbb9b5..560faec8e010b 100644
--- a/pkgs/kde/gear/kgeography/default.nix
+++ b/pkgs/kde/gear/kgeography/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kgeography";
+  meta.mainProgram = "kgeography";
 }
diff --git a/pkgs/kde/gear/kget/default.nix b/pkgs/kde/gear/kget/default.nix
index d6a4fadfd5d66..e88cd601bb0eb 100644
--- a/pkgs/kde/gear/kget/default.nix
+++ b/pkgs/kde/gear/kget/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
   pname = "kget";
 
   extraBuildInputs = [qgpgme libmms];
+  meta.mainProgram = "kget";
 }
diff --git a/pkgs/kde/gear/kgoldrunner/default.nix b/pkgs/kde/gear/kgoldrunner/default.nix
index 8d303e07cac72..ba82b55cccad1 100644
--- a/pkgs/kde/gear/kgoldrunner/default.nix
+++ b/pkgs/kde/gear/kgoldrunner/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kgoldrunner";
 
   extraNativeBuildInputs = [_7zz];
+  meta.mainProgram = "kgoldrunner";
 }
diff --git a/pkgs/kde/gear/kgpg/default.nix b/pkgs/kde/gear/kgpg/default.nix
index 65f9a55221b55..2b974de5123c1 100644
--- a/pkgs/kde/gear/kgpg/default.nix
+++ b/pkgs/kde/gear/kgpg/default.nix
@@ -8,4 +8,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [pkg-config];
   extraBuildInputs = [gpgme];
+  meta.mainProgram = "kgpg";
 }
diff --git a/pkgs/kde/gear/khangman/default.nix b/pkgs/kde/gear/khangman/default.nix
index 27da76e397e3b..e3f95b7a6a5ad 100644
--- a/pkgs/kde/gear/khangman/default.nix
+++ b/pkgs/kde/gear/khangman/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "khangman";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "khangman";
 }
diff --git a/pkgs/kde/gear/khelpcenter/default.nix b/pkgs/kde/gear/khelpcenter/default.nix
index d60e16e3c163e..231d1036b0b12 100644
--- a/pkgs/kde/gear/khelpcenter/default.nix
+++ b/pkgs/kde/gear/khelpcenter/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
   pname = "khelpcenter";
 
   extraBuildInputs = [qtwebengine xapian];
+  meta.mainProgram = "khelpcenter";
 }
diff --git a/pkgs/kde/gear/kigo/default.nix b/pkgs/kde/gear/kigo/default.nix
index 819fb69b0c0f4..4fd00e721f81b 100644
--- a/pkgs/kde/gear/kigo/default.nix
+++ b/pkgs/kde/gear/kigo/default.nix
@@ -8,4 +8,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [_7zz];
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "kigo";
 }
diff --git a/pkgs/kde/gear/killbots/default.nix b/pkgs/kde/gear/killbots/default.nix
index 03dcdb0d31fe2..592cb97ba681b 100644
--- a/pkgs/kde/gear/killbots/default.nix
+++ b/pkgs/kde/gear/killbots/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "killbots";
 
   extraNativeBuildInputs = [_7zz];
+  meta.mainProgram = "killbots";
 }
diff --git a/pkgs/kde/gear/kimagemapeditor/default.nix b/pkgs/kde/gear/kimagemapeditor/default.nix
index fa19f24cd34be..71efc86fd2ae3 100644
--- a/pkgs/kde/gear/kimagemapeditor/default.nix
+++ b/pkgs/kde/gear/kimagemapeditor/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kimagemapeditor";
 
   extraBuildInputs = [qtwebengine];
+  meta.mainProgram = "kimagemapeditor";
 }
diff --git a/pkgs/kde/gear/kiriki/default.nix b/pkgs/kde/gear/kiriki/default.nix
index a8344ef973cb0..50d04e49e9393 100644
--- a/pkgs/kde/gear/kiriki/default.nix
+++ b/pkgs/kde/gear/kiriki/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kiriki";
+  meta.mainProgram = "kiriki";
 }
diff --git a/pkgs/kde/gear/kjournald/default.nix b/pkgs/kde/gear/kjournald/default.nix
index d03e8b815ae41..879e698db4d1e 100644
--- a/pkgs/kde/gear/kjournald/default.nix
+++ b/pkgs/kde/gear/kjournald/default.nix
@@ -9,4 +9,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [pkg-config];
   extraBuildInputs = [qtdeclarative systemd];
+  meta.mainProgram = "kjournaldbrowser";
 }
diff --git a/pkgs/kde/gear/kjumpingcube/default.nix b/pkgs/kde/gear/kjumpingcube/default.nix
index c13ece29da89e..1f1daf12d2348 100644
--- a/pkgs/kde/gear/kjumpingcube/default.nix
+++ b/pkgs/kde/gear/kjumpingcube/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kjumpingcube";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "kjumpingcube";
 }
diff --git a/pkgs/kde/gear/klettres/default.nix b/pkgs/kde/gear/klettres/default.nix
index ecf58d98fc375..ef6305d0f1216 100644
--- a/pkgs/kde/gear/klettres/default.nix
+++ b/pkgs/kde/gear/klettres/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "klettres";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "klettres";
 }
diff --git a/pkgs/kde/gear/klickety/default.nix b/pkgs/kde/gear/klickety/default.nix
index 0df68937124b5..574bddccf00b3 100644
--- a/pkgs/kde/gear/klickety/default.nix
+++ b/pkgs/kde/gear/klickety/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "klickety";
+  meta.mainProgram = "klickety";
 }
diff --git a/pkgs/kde/gear/klines/default.nix b/pkgs/kde/gear/klines/default.nix
index 5399962382b06..58a8f6f8c4654 100644
--- a/pkgs/kde/gear/klines/default.nix
+++ b/pkgs/kde/gear/klines/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "klines";
+  meta.mainProgram = "klines";
 }
diff --git a/pkgs/kde/gear/kmag/default.nix b/pkgs/kde/gear/kmag/default.nix
index 24e6643b3b590..3d8046715dca7 100644
--- a/pkgs/kde/gear/kmag/default.nix
+++ b/pkgs/kde/gear/kmag/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kmag";
+  meta.mainProgram = "kmag";
 }
diff --git a/pkgs/kde/gear/kmahjongg/default.nix b/pkgs/kde/gear/kmahjongg/default.nix
index 9ad776f3c6f4b..9d01f435be006 100644
--- a/pkgs/kde/gear/kmahjongg/default.nix
+++ b/pkgs/kde/gear/kmahjongg/default.nix
@@ -10,4 +10,5 @@ mkKdeDerivation {
   extraBuildInputs = [qtdeclarative qtsvg];
 
   qtWrapperArgs = ["--prefix XDG_DATA_DIRS : ${libkmahjongg}/share"];
+  meta.mainProgram = "kmahjongg";
 }
diff --git a/pkgs/kde/gear/kmail-account-wizard/default.nix b/pkgs/kde/gear/kmail-account-wizard/default.nix
index d030eabcce015..acd23f72d6838 100644
--- a/pkgs/kde/gear/kmail-account-wizard/default.nix
+++ b/pkgs/kde/gear/kmail-account-wizard/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kmail-account-wizard";
+  meta.mainProgram = "accountwizard";
 }
diff --git a/pkgs/kde/gear/kmines/default.nix b/pkgs/kde/gear/kmines/default.nix
index 32a8c179f0ec4..5c333ae11da5a 100644
--- a/pkgs/kde/gear/kmines/default.nix
+++ b/pkgs/kde/gear/kmines/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kmines";
+  meta.mainProgram = "kmines";
 }
diff --git a/pkgs/kde/gear/kmousetool/default.nix b/pkgs/kde/gear/kmousetool/default.nix
index 8ba8615cbbe6c..78a73e45768b1 100644
--- a/pkgs/kde/gear/kmousetool/default.nix
+++ b/pkgs/kde/gear/kmousetool/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
   pname = "kmousetool";
 
   extraBuildInputs = [qtmultimedia xorg.libXt];
+  meta.mainProgram = "kmousetool";
 }
diff --git a/pkgs/kde/gear/kmouth/default.nix b/pkgs/kde/gear/kmouth/default.nix
index 75d044b1c686c..9abffa1d2da63 100644
--- a/pkgs/kde/gear/kmouth/default.nix
+++ b/pkgs/kde/gear/kmouth/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kmouth";
 
   extraBuildInputs = [qtspeech];
+  meta.mainProgram = "kmouth";
 }
diff --git a/pkgs/kde/gear/kmplot/default.nix b/pkgs/kde/gear/kmplot/default.nix
index 55f4a21d0e6a6..b38941765747f 100644
--- a/pkgs/kde/gear/kmplot/default.nix
+++ b/pkgs/kde/gear/kmplot/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kmplot";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "kmplot";
 }
diff --git a/pkgs/kde/gear/knavalbattle/default.nix b/pkgs/kde/gear/knavalbattle/default.nix
index 6a98a2826d1f0..3168f2b5729c5 100644
--- a/pkgs/kde/gear/knavalbattle/default.nix
+++ b/pkgs/kde/gear/knavalbattle/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "knavalbattle";
+  meta.mainProgram = "knavalbattle";
 }
diff --git a/pkgs/kde/gear/knetwalk/default.nix b/pkgs/kde/gear/knetwalk/default.nix
index c77a714e59493..265e6d32f542a 100644
--- a/pkgs/kde/gear/knetwalk/default.nix
+++ b/pkgs/kde/gear/knetwalk/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "knetwalk";
 
   extraNativeBuildInputs = [_7zz];
+  meta.mainProgram = "knetwalk";
 }
diff --git a/pkgs/kde/gear/knights/default.nix b/pkgs/kde/gear/knights/default.nix
index 1fa6519fe16e9..4deca218d0954 100644
--- a/pkgs/kde/gear/knights/default.nix
+++ b/pkgs/kde/gear/knights/default.nix
@@ -9,4 +9,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [_7zz];
   extraBuildInputs = [qtsvg qtspeech];
+  meta.mainProgram = "knights";
 }
diff --git a/pkgs/kde/gear/koko/default.nix b/pkgs/kde/gear/koko/default.nix
index c2b42bc693e78..faec24560b6c6 100644
--- a/pkgs/kde/gear/koko/default.nix
+++ b/pkgs/kde/gear/koko/default.nix
@@ -43,4 +43,5 @@ in
       kirigami-addons
       kquickimageeditor
     ];
+    meta.mainProgram = "koko";
   }
diff --git a/pkgs/kde/gear/kolf/default.nix b/pkgs/kde/gear/kolf/default.nix
index 94e170ae6d33b..51a31e5e753ae 100644
--- a/pkgs/kde/gear/kolf/default.nix
+++ b/pkgs/kde/gear/kolf/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kolf";
+  meta.mainProgram = "kolf";
 }
diff --git a/pkgs/kde/gear/kollision/default.nix b/pkgs/kde/gear/kollision/default.nix
index 325510cdf2eec..f8e816437bb45 100644
--- a/pkgs/kde/gear/kollision/default.nix
+++ b/pkgs/kde/gear/kollision/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kollision";
+  meta.mainProgram = "kollision";
 }
diff --git a/pkgs/kde/gear/kolourpaint/default.nix b/pkgs/kde/gear/kolourpaint/default.nix
index d5dbacca38430..7cf5583345d2f 100644
--- a/pkgs/kde/gear/kolourpaint/default.nix
+++ b/pkgs/kde/gear/kolourpaint/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kolourpaint";
+  meta.mainProgram = "kolourpaint";
 }
diff --git a/pkgs/kde/gear/kompare/default.nix b/pkgs/kde/gear/kompare/default.nix
index 93580fc90dbf2..32bcaf2401d9a 100644
--- a/pkgs/kde/gear/kompare/default.nix
+++ b/pkgs/kde/gear/kompare/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kompare";
+  meta.mainProgram = "kompare";
 }
diff --git a/pkgs/kde/gear/konquest/default.nix b/pkgs/kde/gear/konquest/default.nix
index 54bd2f6048ddb..538428d84c723 100644
--- a/pkgs/kde/gear/konquest/default.nix
+++ b/pkgs/kde/gear/konquest/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
   pname = "konquest";
 
   extraBuildInputs = [qtscxml qtsvg];
+  meta.mainProgram = "konquest";
 }
diff --git a/pkgs/kde/gear/kontact/default.nix b/pkgs/kde/gear/kontact/default.nix
index fe258eea446bb..7d6dc5cbb2ba2 100644
--- a/pkgs/kde/gear/kontact/default.nix
+++ b/pkgs/kde/gear/kontact/default.nix
@@ -20,4 +20,5 @@ mkKdeDerivation {
     korganizer
     zanshin
   ];
+  meta.mainProgram = "kontact";
 }
diff --git a/pkgs/kde/gear/kontrast/default.nix b/pkgs/kde/gear/kontrast/default.nix
index 60bf03534ba19..1ad85ad648022 100644
--- a/pkgs/kde/gear/kontrast/default.nix
+++ b/pkgs/kde/gear/kontrast/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
   pname = "kontrast";
 
   extraBuildInputs = [qtsvg qcoro];
+  meta.mainProgram = "kontrast";
 }
diff --git a/pkgs/kde/gear/konversation/default.nix b/pkgs/kde/gear/konversation/default.nix
index d7d5d3c2fb891..952b98fff6498 100644
--- a/pkgs/kde/gear/konversation/default.nix
+++ b/pkgs/kde/gear/konversation/default.nix
@@ -8,4 +8,5 @@ mkKdeDerivation {
   pname = "konversation";
 
   extraBuildInputs = [qtmultimedia qt5compat qttools];
+  meta.mainProgram = "konversation";
 }
diff --git a/pkgs/kde/gear/korganizer/default.nix b/pkgs/kde/gear/korganizer/default.nix
index dfea744563e3a..c20e6625e1bd2 100644
--- a/pkgs/kde/gear/korganizer/default.nix
+++ b/pkgs/kde/gear/korganizer/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "korganizer";
 
   extraBuildInputs = [qttools];
+  meta.mainProgram = "korganizer";
 }
diff --git a/pkgs/kde/gear/kpat/default.nix b/pkgs/kde/gear/kpat/default.nix
index 23b99dddb9f4c..e770f59357050 100644
--- a/pkgs/kde/gear/kpat/default.nix
+++ b/pkgs/kde/gear/kpat/default.nix
@@ -18,4 +18,5 @@ mkKdeDerivation {
   ];
 
   qtWrapperArgs = ["--prefix XDG_DATA_DIRS : ${libkdegames}/share"];
+  meta.mainProgram = "kpat";
 }
diff --git a/pkgs/kde/gear/krdc/default.nix b/pkgs/kde/gear/krdc/default.nix
index 75806e233b639..3707c0abc7942 100644
--- a/pkgs/kde/gear/krdc/default.nix
+++ b/pkgs/kde/gear/krdc/default.nix
@@ -8,4 +8,5 @@ mkKdeDerivation {
   pname = "krdc";
 
   extraBuildInputs = [libssh libvncserver freerdp];
+  meta.mainProgram = "krdc";
 }
diff --git a/pkgs/kde/gear/krecorder/default.nix b/pkgs/kde/gear/krecorder/default.nix
index d6553f4d1fcb6..a975f1b95684c 100644
--- a/pkgs/kde/gear/krecorder/default.nix
+++ b/pkgs/kde/gear/krecorder/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "krecorder";
 
   extraBuildInputs = [qtmultimedia];
+  meta.mainProgram = "krecorder";
 }
diff --git a/pkgs/kde/gear/kreversi/default.nix b/pkgs/kde/gear/kreversi/default.nix
index 8ad4233e1f1a8..facc50b28b15a 100644
--- a/pkgs/kde/gear/kreversi/default.nix
+++ b/pkgs/kde/gear/kreversi/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kreversi";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "kreversi";
 }
diff --git a/pkgs/kde/gear/kruler/default.nix b/pkgs/kde/gear/kruler/default.nix
index 311dcc3bd8400..9eb9a917fc17e 100644
--- a/pkgs/kde/gear/kruler/default.nix
+++ b/pkgs/kde/gear/kruler/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kruler";
+  meta.mainProgram = "kruler";
 }
diff --git a/pkgs/kde/gear/kshisen/default.nix b/pkgs/kde/gear/kshisen/default.nix
index efa2b024d716f..3859610e0f1de 100644
--- a/pkgs/kde/gear/kshisen/default.nix
+++ b/pkgs/kde/gear/kshisen/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kshisen";
+  meta.mainProgram = "kshisen";
 }
diff --git a/pkgs/kde/gear/ksnakeduel/default.nix b/pkgs/kde/gear/ksnakeduel/default.nix
index b741df477f337..3f07eaa0e48f9 100644
--- a/pkgs/kde/gear/ksnakeduel/default.nix
+++ b/pkgs/kde/gear/ksnakeduel/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "ksnakeduel";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "ksnakeduel";
 }
diff --git a/pkgs/kde/gear/kspaceduel/default.nix b/pkgs/kde/gear/kspaceduel/default.nix
index 1f4272b5cac97..34194d2322cfc 100644
--- a/pkgs/kde/gear/kspaceduel/default.nix
+++ b/pkgs/kde/gear/kspaceduel/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kspaceduel";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "kspaceduel";
 }
diff --git a/pkgs/kde/gear/ksquares/default.nix b/pkgs/kde/gear/ksquares/default.nix
index 683a64a5bf590..8dfbcf00244dc 100644
--- a/pkgs/kde/gear/ksquares/default.nix
+++ b/pkgs/kde/gear/ksquares/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "ksquares";
+  meta.mainProgram = "ksquares";
 }
diff --git a/pkgs/kde/gear/ksudoku/default.nix b/pkgs/kde/gear/ksudoku/default.nix
index 6f293bd26e1eb..b11d44f488f9a 100644
--- a/pkgs/kde/gear/ksudoku/default.nix
+++ b/pkgs/kde/gear/ksudoku/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "ksudoku";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "ksudoku";
 }
diff --git a/pkgs/kde/gear/ksystemlog/default.nix b/pkgs/kde/gear/ksystemlog/default.nix
index 604a52cc560b9..772a4f54b077c 100644
--- a/pkgs/kde/gear/ksystemlog/default.nix
+++ b/pkgs/kde/gear/ksystemlog/default.nix
@@ -9,4 +9,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [pkg-config];
   extraBuildInputs = [qt5compat audit];
+  meta.mainProgram = "ksystemlog";
 }
diff --git a/pkgs/kde/gear/kteatime/default.nix b/pkgs/kde/gear/kteatime/default.nix
index 81d20ec270be3..408bc14883cf5 100644
--- a/pkgs/kde/gear/kteatime/default.nix
+++ b/pkgs/kde/gear/kteatime/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kteatime";
+  meta.mainProgram = "kteatime";
 }
diff --git a/pkgs/kde/gear/ktimer/default.nix b/pkgs/kde/gear/ktimer/default.nix
index 898b4a802e134..1b46f8b72c72c 100644
--- a/pkgs/kde/gear/ktimer/default.nix
+++ b/pkgs/kde/gear/ktimer/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "ktimer";
 
   extraBuildInputs = [qt5compat];
+  meta.mainProgram = "ktimer";
 }
diff --git a/pkgs/kde/gear/ktrip/default.nix b/pkgs/kde/gear/ktrip/default.nix
index 87351e5e54905..0f8b001c7d6bf 100644
--- a/pkgs/kde/gear/ktrip/default.nix
+++ b/pkgs/kde/gear/ktrip/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "ktrip";
+  meta.mainProgram = "ktrip";
 }
diff --git a/pkgs/kde/gear/ktuberling/default.nix b/pkgs/kde/gear/ktuberling/default.nix
index 5602ac8704798..100301670bf31 100644
--- a/pkgs/kde/gear/ktuberling/default.nix
+++ b/pkgs/kde/gear/ktuberling/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "ktuberling";
 
   extraBuildInputs = [qtmultimedia];
+  meta.mainProgram = "ktuberling";
 }
diff --git a/pkgs/kde/gear/kturtle/default.nix b/pkgs/kde/gear/kturtle/default.nix
index f55f7e92a03a7..8997c051b189e 100644
--- a/pkgs/kde/gear/kturtle/default.nix
+++ b/pkgs/kde/gear/kturtle/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "kturtle";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "kturtle";
 }
diff --git a/pkgs/kde/gear/kubrick/default.nix b/pkgs/kde/gear/kubrick/default.nix
index c8bedf44c2de7..d5ca09e42887b 100644
--- a/pkgs/kde/gear/kubrick/default.nix
+++ b/pkgs/kde/gear/kubrick/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
   pname = "kubrick";
 
   extraBuildInputs = [qtsvg libGLU];
+  meta.mainProgram = "kubrick";
 }
diff --git a/pkgs/kde/gear/kwalletmanager/default.nix b/pkgs/kde/gear/kwalletmanager/default.nix
index 72ebd76ffa3a2..4ce00339a2599 100644
--- a/pkgs/kde/gear/kwalletmanager/default.nix
+++ b/pkgs/kde/gear/kwalletmanager/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kwalletmanager";
+  meta.mainProgram = "kwalletmanager5";
 }
diff --git a/pkgs/kde/gear/kweather/default.nix b/pkgs/kde/gear/kweather/default.nix
index 51d17a0a1e591..561a646f02619 100644
--- a/pkgs/kde/gear/kweather/default.nix
+++ b/pkgs/kde/gear/kweather/default.nix
@@ -9,4 +9,5 @@ mkKdeDerivation {
   pname = "kweather";
 
   extraBuildInputs = [qtsvg qtcharts qqc2-desktop-style kholidays];
+  meta.mainProgram = "kweather";
 }
diff --git a/pkgs/kde/gear/kwordquiz/default.nix b/pkgs/kde/gear/kwordquiz/default.nix
index 82989919f6e0e..010fd80caccaa 100644
--- a/pkgs/kde/gear/kwordquiz/default.nix
+++ b/pkgs/kde/gear/kwordquiz/default.nix
@@ -12,4 +12,5 @@ mkKdeDerivation {
     qtmultimedia
     qqc2-desktop-style
   ];
+  meta.mainProgram = "kwordquiz";
 }
diff --git a/pkgs/kde/gear/lskat/default.nix b/pkgs/kde/gear/lskat/default.nix
index e1b83925feb82..131cb34c0365b 100644
--- a/pkgs/kde/gear/lskat/default.nix
+++ b/pkgs/kde/gear/lskat/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "lskat";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "lskat";
 }
diff --git a/pkgs/kde/gear/mbox-importer/default.nix b/pkgs/kde/gear/mbox-importer/default.nix
index 7d1a6730e84d2..44092f401a435 100644
--- a/pkgs/kde/gear/mbox-importer/default.nix
+++ b/pkgs/kde/gear/mbox-importer/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "mbox-importer";
+  meta.mainProgram = "mboximporter";
 }
diff --git a/pkgs/kde/gear/minuet/default.nix b/pkgs/kde/gear/minuet/default.nix
index bbfe47b2796f9..05e80a5901288 100644
--- a/pkgs/kde/gear/minuet/default.nix
+++ b/pkgs/kde/gear/minuet/default.nix
@@ -8,4 +8,5 @@ mkKdeDerivation {
   pname = "minuet";
 
   extraBuildInputs = [qtdeclarative qtsvg fluidsynth];
+  meta.mainProgram = "minuet";
 }
diff --git a/pkgs/kde/gear/neochat/default.nix b/pkgs/kde/gear/neochat/default.nix
index ac50d06db8c96..a45aa2c328fca 100644
--- a/pkgs/kde/gear/neochat/default.nix
+++ b/pkgs/kde/gear/neochat/default.nix
@@ -8,4 +8,5 @@ mkKdeDerivation {
   pname = "neochat";
 
   extraBuildInputs = [qtlocation qtwebview kunifiedpush];
+  meta.mainProgram = "neochat";
 }
diff --git a/pkgs/kde/gear/okular/default.nix b/pkgs/kde/gear/okular/default.nix
index 4f2ad1f8e3b03..e500709a28b85 100644
--- a/pkgs/kde/gear/okular/default.nix
+++ b/pkgs/kde/gear/okular/default.nix
@@ -27,4 +27,5 @@ mkKdeDerivation {
     ebook_tools
     discount
   ];
+  meta.mainProgram = "okular";
 }
diff --git a/pkgs/kde/gear/palapeli/default.nix b/pkgs/kde/gear/palapeli/default.nix
index 01cc8774d06d2..144ef589e51cb 100644
--- a/pkgs/kde/gear/palapeli/default.nix
+++ b/pkgs/kde/gear/palapeli/default.nix
@@ -8,4 +8,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [shared-mime-info];
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "palapeli";
 }
diff --git a/pkgs/kde/gear/parley/default.nix b/pkgs/kde/gear/parley/default.nix
index 75f01c94e9d5b..35342dd958cbe 100644
--- a/pkgs/kde/gear/parley/default.nix
+++ b/pkgs/kde/gear/parley/default.nix
@@ -8,4 +8,5 @@ mkKdeDerivation {
   pname = "parley";
 
   extraBuildInputs = [qtsvg qtmultimedia qtwebengine];
+  meta.mainProgram = "parley";
 }
diff --git a/pkgs/kde/gear/partitionmanager/default.nix b/pkgs/kde/gear/partitionmanager/default.nix
index 1b3b06f8d68bb..3d0215cb5e641 100644
--- a/pkgs/kde/gear/partitionmanager/default.nix
+++ b/pkgs/kde/gear/partitionmanager/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "partitionmanager";
 
   propagatedUserEnvPkgs = [kpmcore];
+  meta.mainProgram = "partitionmanager";
 }
diff --git a/pkgs/kde/gear/picmi/default.nix b/pkgs/kde/gear/picmi/default.nix
index a5dd853fba52e..8838b657bc472 100644
--- a/pkgs/kde/gear/picmi/default.nix
+++ b/pkgs/kde/gear/picmi/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "picmi";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "picmi";
 }
diff --git a/pkgs/kde/gear/pim-sieve-editor/default.nix b/pkgs/kde/gear/pim-sieve-editor/default.nix
index 66df720163214..5cc193d0d7ee9 100644
--- a/pkgs/kde/gear/pim-sieve-editor/default.nix
+++ b/pkgs/kde/gear/pim-sieve-editor/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "pim-sieve-editor";
+  meta.mainProgram = "sieveeditor";
 }
diff --git a/pkgs/kde/gear/plasmatube/default.nix b/pkgs/kde/gear/plasmatube/default.nix
index 8d4f950842e36..05285f6b6c1d6 100644
--- a/pkgs/kde/gear/plasmatube/default.nix
+++ b/pkgs/kde/gear/plasmatube/default.nix
@@ -17,4 +17,5 @@ mkKdeDerivation {
   extraPropagatedBuildInputs = [purpose];
 
   qtWrapperArgs = ["--prefix" "PATH" ":" (lib.makeBinPath [ yt-dlp ])];
+  meta.mainProgram = "plasmatube";
 }
diff --git a/pkgs/kde/gear/qmlkonsole/default.nix b/pkgs/kde/gear/qmlkonsole/default.nix
index c48dbad18204b..9be6552020f64 100644
--- a/pkgs/kde/gear/qmlkonsole/default.nix
+++ b/pkgs/kde/gear/qmlkonsole/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "qmlkonsole";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "qmlkonsole";
 }
diff --git a/pkgs/kde/gear/skanlite/default.nix b/pkgs/kde/gear/skanlite/default.nix
index c64594d3fd096..4a9c26e41588f 100644
--- a/pkgs/kde/gear/skanlite/default.nix
+++ b/pkgs/kde/gear/skanlite/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "skanlite";
 
   extraBuildInputs = [qt5compat];
+  meta.mainProgram = "skanlite";
 }
diff --git a/pkgs/kde/gear/skanpage/default.nix b/pkgs/kde/gear/skanpage/default.nix
index a7352da8466c0..b6db869472cfe 100644
--- a/pkgs/kde/gear/skanpage/default.nix
+++ b/pkgs/kde/gear/skanpage/default.nix
@@ -11,4 +11,5 @@ mkKdeDerivation {
     (tesseract5.override {enableLanguages = tesseractLanguages;})
     leptonica
   ];
+  meta.mainProgram = "skanpage";
 }
diff --git a/pkgs/kde/gear/spectacle/default.nix b/pkgs/kde/gear/spectacle/default.nix
index 1b5539230cbd3..3232b6402bd04 100644
--- a/pkgs/kde/gear/spectacle/default.nix
+++ b/pkgs/kde/gear/spectacle/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
   pname = "spectacle";
 
   extraBuildInputs = [qtwayland qtmultimedia];
+  meta.mainProgram = "spectacle";
 }
diff --git a/pkgs/kde/gear/step/default.nix b/pkgs/kde/gear/step/default.nix
index 7e403a24d902b..f921df1991282 100644
--- a/pkgs/kde/gear/step/default.nix
+++ b/pkgs/kde/gear/step/default.nix
@@ -13,4 +13,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [qttools qtsvg pkg-config shared-mime-info];
   extraBuildInputs = [eigen gsl libqalculate];
+  meta.mainProgram = "step";
 }
diff --git a/pkgs/kde/gear/sweeper/default.nix b/pkgs/kde/gear/sweeper/default.nix
index f914ce9574be4..e2b7fd934436e 100644
--- a/pkgs/kde/gear/sweeper/default.nix
+++ b/pkgs/kde/gear/sweeper/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "sweeper";
 
   extraBuildInputs = [plasma-activities-stats];
+  meta.mainProgram = "sweeper";
 }
diff --git a/pkgs/kde/gear/telly-skout/default.nix b/pkgs/kde/gear/telly-skout/default.nix
index c19ecf6b42d70..9bcae06c90490 100644
--- a/pkgs/kde/gear/telly-skout/default.nix
+++ b/pkgs/kde/gear/telly-skout/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "telly-skout";
+  meta.mainProgram = "telly-skout";
 }
diff --git a/pkgs/kde/gear/tokodon/default.nix b/pkgs/kde/gear/tokodon/default.nix
index 464f354f41edd..1e12163eb98bd 100644
--- a/pkgs/kde/gear/tokodon/default.nix
+++ b/pkgs/kde/gear/tokodon/default.nix
@@ -14,4 +14,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [pkg-config];
   extraBuildInputs = [qtmultimedia qtsvg qtwebsockets qtwebview mpv kitemmodels sonnet];
+  meta.mainProgram = "tokodon";
 }
diff --git a/pkgs/kde/gear/yakuake/default.nix b/pkgs/kde/gear/yakuake/default.nix
index 420ec08f670be..a5955e5c2e18d 100644
--- a/pkgs/kde/gear/yakuake/default.nix
+++ b/pkgs/kde/gear/yakuake/default.nix
@@ -6,4 +6,5 @@ mkKdeDerivation {
   pname = "yakuake";
 
   extraBuildInputs = [qtsvg];
+  meta.mainProgram = "yakuake";
 }
diff --git a/pkgs/kde/misc/alpaka/default.nix b/pkgs/kde/misc/alpaka/default.nix
index 6e4154c495d82..3b3c1828a8e10 100644
--- a/pkgs/kde/misc/alpaka/default.nix
+++ b/pkgs/kde/misc/alpaka/default.nix
@@ -22,4 +22,5 @@ mkKdeDerivation {
     gpl2Plus
     gpl3Only
   ];
+  meta.mainProgram = "alpaka";
 }
diff --git a/pkgs/kde/misc/kunifiedpush/default.nix b/pkgs/kde/misc/kunifiedpush/default.nix
index 54f9029139014..9e7cb57ba3ad5 100644
--- a/pkgs/kde/misc/kunifiedpush/default.nix
+++ b/pkgs/kde/misc/kunifiedpush/default.nix
@@ -21,4 +21,5 @@ mkKdeDerivation {
   extraBuildInputs = [qtwebsockets kdeclarative kpackage];
 
   meta.license = with lib.licenses; [bsd2 bsd3 cc0 lgpl2Plus];
+  meta.mainProgram = "kunifiedpush-distributor";
 }
diff --git a/pkgs/kde/misc/phonon/default.nix b/pkgs/kde/misc/phonon/default.nix
index 4706dd159ea56..ed0aad0527468 100644
--- a/pkgs/kde/misc/phonon/default.nix
+++ b/pkgs/kde/misc/phonon/default.nix
@@ -33,4 +33,5 @@ mkKdeDerivation rec {
   cmakeFlags = ["-DPHONON_BUILD_QT5=0" "-DPHONON_BUILD_QT6=1"];
 
   meta.license = with lib.licenses; [lgpl21Plus gpl2Plus];
+  meta.mainProgram = "phononsettings";
 }
diff --git a/pkgs/kde/plasma/breeze/default.nix b/pkgs/kde/plasma/breeze/default.nix
index 72dcbcae91f41..3b6fed6221fd5 100644
--- a/pkgs/kde/plasma/breeze/default.nix
+++ b/pkgs/kde/plasma/breeze/default.nix
@@ -41,4 +41,5 @@ mkKdeDerivation {
     mkdir -p $qt5/${libsForQt5.qtbase.qtPluginPrefix}/styles
     mv $out/${qtbase.qtPluginPrefix}/styles/breeze5.so $qt5/${libsForQt5.qtbase.qtPluginPrefix}/styles
   '';
+  meta.mainProgram = "breeze-settings6";
 }
diff --git a/pkgs/kde/plasma/kinfocenter/default.nix b/pkgs/kde/plasma/kinfocenter/default.nix
index cc216dd22a7b5..e48424305c1cd 100644
--- a/pkgs/kde/plasma/kinfocenter/default.nix
+++ b/pkgs/kde/plasma/kinfocenter/default.nix
@@ -26,4 +26,5 @@ mkKdeDerivation {
   '';
 
   extraBuildInputs = [libusb1];
+  meta.mainProgram = "kinfocenter";
 }
diff --git a/pkgs/kde/plasma/kmenuedit/default.nix b/pkgs/kde/plasma/kmenuedit/default.nix
index 2cfd932af1bf1..4f88e8013173d 100644
--- a/pkgs/kde/plasma/kmenuedit/default.nix
+++ b/pkgs/kde/plasma/kmenuedit/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kmenuedit";
+  meta.mainProgram = "kmenuedit";
 }
diff --git a/pkgs/kde/plasma/kscreen/default.nix b/pkgs/kde/plasma/kscreen/default.nix
index 480912fe7fcbe..3ceedb860de05 100644
--- a/pkgs/kde/plasma/kscreen/default.nix
+++ b/pkgs/kde/plasma/kscreen/default.nix
@@ -12,4 +12,5 @@ mkKdeDerivation {
     substituteInPlace $out/share/kglobalaccel/org.kde.kscreen.desktop \
       --replace-fail dbus-send ${dbus}/bin/dbus-send
   '';
+  meta.mainProgram = "kscreen-console";
 }
diff --git a/pkgs/kde/plasma/ksshaskpass/default.nix b/pkgs/kde/plasma/ksshaskpass/default.nix
index 86834f8fa7c2d..dee8ae1e2ce81 100644
--- a/pkgs/kde/plasma/ksshaskpass/default.nix
+++ b/pkgs/kde/plasma/ksshaskpass/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "ksshaskpass";
+  meta.mainProgram = "ksshaskpass";
 }
diff --git a/pkgs/kde/plasma/kwrited/default.nix b/pkgs/kde/plasma/kwrited/default.nix
index 262f3b7c6493d..c9bb0ff6e6cad 100644
--- a/pkgs/kde/plasma/kwrited/default.nix
+++ b/pkgs/kde/plasma/kwrited/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "kwrited";
+  meta.mainProgram = "kwrited";
 }
diff --git a/pkgs/kde/plasma/libkscreen/default.nix b/pkgs/kde/plasma/libkscreen/default.nix
index d6fdd87c7e9b9..7f7e5d488d9fb 100644
--- a/pkgs/kde/plasma/libkscreen/default.nix
+++ b/pkgs/kde/plasma/libkscreen/default.nix
@@ -9,4 +9,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [qttools qtwayland jq];
   extraBuildInputs = [qtwayland];
+  meta.mainProgram = "kscreen-doctor";
 }
diff --git a/pkgs/kde/plasma/plasma-activities/default.nix b/pkgs/kde/plasma/plasma-activities/default.nix
index 9ddd163e9fbb4..c9fdd08211814 100644
--- a/pkgs/kde/plasma/plasma-activities/default.nix
+++ b/pkgs/kde/plasma/plasma-activities/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
   pname = "plasma-activities";
 
   extraBuildInputs = [qtdeclarative boost];
+  meta.mainProgram = "plasma-activities-cli6";
 }
diff --git a/pkgs/kde/plasma/plasma-browser-integration/default.nix b/pkgs/kde/plasma/plasma-browser-integration/default.nix
index 6277071f9a760..e069d067f2948 100644
--- a/pkgs/kde/plasma/plasma-browser-integration/default.nix
+++ b/pkgs/kde/plasma/plasma-browser-integration/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "plasma-browser-integration";
+  meta.mainProgram = "plasma-browser-integration-host";
 }
diff --git a/pkgs/kde/plasma/plasma-systemmonitor/default.nix b/pkgs/kde/plasma/plasma-systemmonitor/default.nix
index 8a8bff96ecfff..a8e20716ed56e 100644
--- a/pkgs/kde/plasma/plasma-systemmonitor/default.nix
+++ b/pkgs/kde/plasma/plasma-systemmonitor/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "plasma-systemmonitor";
+  meta.mainProgram = "plasma-systemmonitor";
 }
diff --git a/pkgs/kde/plasma/plasma-welcome/default.nix b/pkgs/kde/plasma/plasma-welcome/default.nix
index 976a788a16e9d..89f06a817b342 100644
--- a/pkgs/kde/plasma/plasma-welcome/default.nix
+++ b/pkgs/kde/plasma/plasma-welcome/default.nix
@@ -7,4 +7,5 @@ mkKdeDerivation {
   pname = "plasma-welcome";
 
   extraBuildInputs = [qtsvg kuserfeedback];
+  meta.mainProgram = "plasma-welcome";
 }
diff --git a/pkgs/kde/plasma/plymouth-kcm/default.nix b/pkgs/kde/plasma/plymouth-kcm/default.nix
index dcf339dd9b2e8..ccb117f11a53f 100644
--- a/pkgs/kde/plasma/plymouth-kcm/default.nix
+++ b/pkgs/kde/plasma/plymouth-kcm/default.nix
@@ -8,4 +8,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [pkg-config];
   extraBuildInputs = [plymouth];
+  meta.mainProgram = "kplymouththemeinstaller";
 }
diff --git a/pkgs/kde/plasma/sddm-kcm/default.nix b/pkgs/kde/plasma/sddm-kcm/default.nix
index d60c5e4e6ff78..d21ea6ac58f29 100644
--- a/pkgs/kde/plasma/sddm-kcm/default.nix
+++ b/pkgs/kde/plasma/sddm-kcm/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "sddm-kcm";
+  meta.mainProgram = "sddmthemeinstaller";
 }
diff --git a/pkgs/kde/plasma/systemsettings/default.nix b/pkgs/kde/plasma/systemsettings/default.nix
index 2dd529b9380e6..10feafc859c33 100644
--- a/pkgs/kde/plasma/systemsettings/default.nix
+++ b/pkgs/kde/plasma/systemsettings/default.nix
@@ -1,4 +1,5 @@
 {mkKdeDerivation}:
 mkKdeDerivation {
   pname = "systemsettings";
+  meta.mainProgram = "systemsettings";
 }
diff --git a/pkgs/kde/plasma/wacomtablet/default.nix b/pkgs/kde/plasma/wacomtablet/default.nix
index c24e8739f7469..58b80fa9575f1 100644
--- a/pkgs/kde/plasma/wacomtablet/default.nix
+++ b/pkgs/kde/plasma/wacomtablet/default.nix
@@ -9,4 +9,5 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [pkg-config];
   extraBuildInputs = [libwacom xf86_input_wacom];
+  meta.mainProgram = "kde_wacom_tabletfinder";
 }