about summary refs log tree commit diff
path: root/pkgs/applications/graphics
diff options
context:
space:
mode:
authorstuebinm <stuebinm@disroot.org>2024-03-19 03:14:51 +0100
committerstuebinm <stuebinm@disroot.org>2024-03-19 03:14:51 +0100
commitff1a94e523ae9fb272e0581f068baee5d1068476 (patch)
treecbea47f2004a4fa8685163d630612cf748e72c1e /pkgs/applications/graphics
parentb06025f1533a1e07b6db3e75151caa155d1c7eb3 (diff)
treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
Diffstat (limited to 'pkgs/applications/graphics')
-rw-r--r--pkgs/applications/graphics/ahoviewer/default.nix1
-rw-r--r--pkgs/applications/graphics/antimony/default.nix1
-rw-r--r--pkgs/applications/graphics/apngasm/2.nix1
-rw-r--r--pkgs/applications/graphics/conjure/default.nix1
-rw-r--r--pkgs/applications/graphics/curtail/default.nix1
-rw-r--r--pkgs/applications/graphics/dia/default.nix1
-rw-r--r--pkgs/applications/graphics/djview/default.nix1
-rw-r--r--pkgs/applications/graphics/dosage/default.nix1
-rw-r--r--pkgs/applications/graphics/drawing/default.nix1
-rw-r--r--pkgs/applications/graphics/drawpile/default.nix1
-rw-r--r--pkgs/applications/graphics/eddy/default.nix1
-rw-r--r--pkgs/applications/graphics/emblem/default.nix1
-rw-r--r--pkgs/applications/graphics/evilpixie/default.nix1
-rw-r--r--pkgs/applications/graphics/eyedropper/default.nix1
-rw-r--r--pkgs/applications/graphics/fiji/default.nix1
-rw-r--r--pkgs/applications/graphics/fstl/default.nix1
-rw-r--r--pkgs/applications/graphics/gcolor3/default.nix1
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix1
-rw-r--r--pkgs/applications/graphics/gnome-photos/default.nix1
-rw-r--r--pkgs/applications/graphics/goxel/default.nix1
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix1
-rw-r--r--pkgs/applications/graphics/hdrmerge/default.nix1
-rw-r--r--pkgs/applications/graphics/icon-library/default.nix1
-rw-r--r--pkgs/applications/graphics/identity/default.nix1
-rw-r--r--pkgs/applications/graphics/image-roll/default.nix1
-rw-r--r--pkgs/applications/graphics/imgp/default.nix1
-rw-r--r--pkgs/applications/graphics/kgraphviewer/default.nix1
-rw-r--r--pkgs/applications/graphics/komikku/default.nix1
-rw-r--r--pkgs/applications/graphics/krop/default.nix1
-rw-r--r--pkgs/applications/graphics/ktikz/default.nix1
-rw-r--r--pkgs/applications/graphics/leocad/default.nix1
-rw-r--r--pkgs/applications/graphics/mandelbulber/default.nix1
-rw-r--r--pkgs/applications/graphics/meshlab/default.nix1
-rw-r--r--pkgs/applications/graphics/ovito/default.nix1
-rw-r--r--pkgs/applications/graphics/paleta/default.nix1
-rw-r--r--pkgs/applications/graphics/pencil/default.nix1
-rw-r--r--pkgs/applications/graphics/photoflare/default.nix1
-rw-r--r--pkgs/applications/graphics/phototonic/default.nix1
-rw-r--r--pkgs/applications/graphics/pick-colour-picker/default.nix1
-rw-r--r--pkgs/applications/graphics/pikopixel/default.nix1
-rw-r--r--pkgs/applications/graphics/pizarra/default.nix1
-rw-r--r--pkgs/applications/graphics/qcomicbook/default.nix1
-rw-r--r--pkgs/applications/graphics/qimgv/default.nix1
-rw-r--r--pkgs/applications/graphics/qosmic/default.nix1
-rw-r--r--pkgs/applications/graphics/qscreenshot/default.nix1
-rw-r--r--pkgs/applications/graphics/qvge/default.nix1
-rw-r--r--pkgs/applications/graphics/qview/default.nix1
-rw-r--r--pkgs/applications/graphics/rapid-photo-downloader/default.nix1
-rw-r--r--pkgs/applications/graphics/rx/default.nix1
-rw-r--r--pkgs/applications/graphics/sane/backends/airscan/default.nix1
-rw-r--r--pkgs/applications/graphics/sane/xsane.nix1
-rw-r--r--pkgs/applications/graphics/scantailor/advanced.nix1
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix1
-rw-r--r--pkgs/applications/graphics/shutter/default.nix1
-rw-r--r--pkgs/applications/graphics/smartdeblur/default.nix1
-rw-r--r--pkgs/applications/graphics/symbolic-preview/default.nix1
-rw-r--r--pkgs/applications/graphics/tev/default.nix1
-rw-r--r--pkgs/applications/graphics/timelapse-deflicker/default.nix1
-rw-r--r--pkgs/applications/graphics/veusz/default.nix1
-rw-r--r--pkgs/applications/graphics/weylus/default.nix1
-rw-r--r--pkgs/applications/graphics/xaos/default.nix1
-rw-r--r--pkgs/applications/graphics/xfig/default.nix1
-rw-r--r--pkgs/applications/graphics/xpano/default.nix1
-rw-r--r--pkgs/applications/graphics/xrgears/default.nix1
64 files changed, 64 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/ahoviewer/default.nix b/pkgs/applications/graphics/ahoviewer/default.nix
index d903ce1adf8ef..4c1d309ebbab6 100644
--- a/pkgs/applications/graphics/ahoviewer/default.nix
+++ b/pkgs/applications/graphics/ahoviewer/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/ahodesuka/ahoviewer";
     description = "A GTK2 image viewer, manga reader, and booru browser";
+    mainProgram = "ahoviewer";
     maintainers = with maintainers; [ xzfc ];
     license = licenses.mit;
     # Unintentionally not working on Darwin:
diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix
index 50156802779c0..56ee01f8bbe80 100644
--- a/pkgs/applications/graphics/antimony/default.nix
+++ b/pkgs/applications/graphics/antimony/default.nix
@@ -62,6 +62,7 @@ in
 
     meta = with lib; {
       description = "A computer-aided design (CAD) tool from a parallel universe";
+      mainProgram = "antimony";
       homepage    = "https://github.com/mkeeter/antimony";
       license     = licenses.mit;
       maintainers = with maintainers; [ rnhmjoj ];
diff --git a/pkgs/applications/graphics/apngasm/2.nix b/pkgs/applications/graphics/apngasm/2.nix
index 81d2915c96df2..f581f9dd12456 100644
--- a/pkgs/applications/graphics/apngasm/2.nix
+++ b/pkgs/applications/graphics/apngasm/2.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Create highly optimized Animated PNG files from PNG/TGA images";
+    mainProgram = "apngasm";
     homepage = "https://apngasm.sourceforge.net/";
     license = licenses.zlib;
     maintainers = with maintainers; [ orivej ];
diff --git a/pkgs/applications/graphics/conjure/default.nix b/pkgs/applications/graphics/conjure/default.nix
index b0b00369ffde3..634cf7132b1d5 100644
--- a/pkgs/applications/graphics/conjure/default.nix
+++ b/pkgs/applications/graphics/conjure/default.nix
@@ -57,6 +57,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Magically transform your images";
+    mainProgram = "conjure";
     longDescription = ''
       Resize, crop, rotate, flip images, apply various filters and effects,
       adjust levels and brightness, and much more. An intuitive tool for designers,
diff --git a/pkgs/applications/graphics/curtail/default.nix b/pkgs/applications/graphics/curtail/default.nix
index 30ca2289526b0..2a881c153f682 100644
--- a/pkgs/applications/graphics/curtail/default.nix
+++ b/pkgs/applications/graphics/curtail/default.nix
@@ -69,6 +69,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Simple & useful image compressor";
+    mainProgram = "curtail";
     homepage = "https://github.com/Huluti/Curtail";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ anselmschueler ];
diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix
index eb9d54d5cfc17..c79f50e86d799 100644
--- a/pkgs/applications/graphics/dia/default.nix
+++ b/pkgs/applications/graphics/dia/default.nix
@@ -68,6 +68,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Gnome Diagram drawing software";
+    mainProgram = "dia";
     homepage = "http://live.gnome.org/Dia";
     maintainers = with maintainers; [ raskin ];
     license = licenses.gpl2;
diff --git a/pkgs/applications/graphics/djview/default.nix b/pkgs/applications/graphics/djview/default.nix
index 6386c39ce910f..5bbbfc0c686cf 100644
--- a/pkgs/applications/graphics/djview/default.nix
+++ b/pkgs/applications/graphics/djview/default.nix
@@ -46,6 +46,7 @@ mkDerivation rec {
   meta = with lib; {
     broken = stdenv.isDarwin;
     description = "A portable DjVu viewer (Qt5) and browser (nsdejavu) plugin";
+    mainProgram = "djview";
     homepage = "https://djvu.sourceforge.net/djview4.html";
     license = licenses.gpl2;
     platforms = platforms.unix;
diff --git a/pkgs/applications/graphics/dosage/default.nix b/pkgs/applications/graphics/dosage/default.nix
index 6bdf149c9b97b..1aaa539486195 100644
--- a/pkgs/applications/graphics/dosage/default.nix
+++ b/pkgs/applications/graphics/dosage/default.nix
@@ -23,6 +23,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = {
     description = "A comic strip downloader and archiver";
+    mainProgram = "dosage";
     homepage = "https://dosage.rocks/";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ toonn ];
diff --git a/pkgs/applications/graphics/drawing/default.nix b/pkgs/applications/graphics/drawing/default.nix
index 693c0b213b544..90caf78d63135 100644
--- a/pkgs/applications/graphics/drawing/default.nix
+++ b/pkgs/applications/graphics/drawing/default.nix
@@ -63,6 +63,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "A free basic image editor, similar to Microsoft Paint, but aiming at the GNOME desktop";
+    mainProgram = "drawing";
     homepage = "https://maoschanz.github.io/drawing/";
     changelog = "https://github.com/maoschanz/drawing/releases/tag/${version}";
     maintainers = with maintainers; [ mothsart ];
diff --git a/pkgs/applications/graphics/drawpile/default.nix b/pkgs/applications/graphics/drawpile/default.nix
index ea07e23142172..5c43c609f31f6 100644
--- a/pkgs/applications/graphics/drawpile/default.nix
+++ b/pkgs/applications/graphics/drawpile/default.nix
@@ -98,6 +98,7 @@ in mkDerivation rec {
 
   meta = {
     description = "A collaborative drawing program that allows multiple users to sketch on the same canvas simultaneously";
+    mainProgram = "drawpile-srv";
     homepage = "https://drawpile.net/";
     downloadPage = "https://drawpile.net/download/";
     license = licenses.gpl3;
diff --git a/pkgs/applications/graphics/eddy/default.nix b/pkgs/applications/graphics/eddy/default.nix
index 58b8777bb223d..6dac49fc5d15a 100644
--- a/pkgs/applications/graphics/eddy/default.nix
+++ b/pkgs/applications/graphics/eddy/default.nix
@@ -40,6 +40,7 @@ python3Packages.buildPythonApplication rec {
   meta = with lib; {
     homepage = "http://www.obdasystems.com/eddy";
     description = "Graphical editor for the specification and visualization of Graphol ontologies";
+    mainProgram = "eddy";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ koslambrou ];
diff --git a/pkgs/applications/graphics/emblem/default.nix b/pkgs/applications/graphics/emblem/default.nix
index b2df35c20c4b6..6d490fc24141e 100644
--- a/pkgs/applications/graphics/emblem/default.nix
+++ b/pkgs/applications/graphics/emblem/default.nix
@@ -57,6 +57,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Generate project icons and avatars from a symbolic icon";
+    mainProgram = "emblem";
     homepage = "https://gitlab.gnome.org/World/design/emblem";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
diff --git a/pkgs/applications/graphics/evilpixie/default.nix b/pkgs/applications/graphics/evilpixie/default.nix
index 8e6d8328a3cb3..fb397239849b1 100644
--- a/pkgs/applications/graphics/evilpixie/default.nix
+++ b/pkgs/applications/graphics/evilpixie/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "Pixel-oriented paint program, modelled on Deluxe Paint";
+    mainProgram = "evilpixie";
     homepage = "https://github.com/bcampbell/evilpixie"; # http://evilpixie.scumways.com/ is gone
     downloadPage = "https://github.com/bcampbell/evilpixie/releases";
     license = licenses.gpl3Only;
diff --git a/pkgs/applications/graphics/eyedropper/default.nix b/pkgs/applications/graphics/eyedropper/default.nix
index f531f8c16271d..efa60ac32826b 100644
--- a/pkgs/applications/graphics/eyedropper/default.nix
+++ b/pkgs/applications/graphics/eyedropper/default.nix
@@ -54,6 +54,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Pick and format colors";
+    mainProgram = "eyedropper";
     homepage = "https://github.com/FineFindus/eyedropper";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/fiji/default.nix b/pkgs/applications/graphics/fiji/default.nix
index e3847b98d5198..c5f4d08f30e4a 100644
--- a/pkgs/applications/graphics/fiji/default.nix
+++ b/pkgs/applications/graphics/fiji/default.nix
@@ -65,6 +65,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://imagej.net/software/fiji/";
     description = "batteries-included distribution of ImageJ2, bundling a lot of plugins which facilitate scientific image analysis";
+    mainProgram = "fiji";
     platforms = [ "x86_64-linux" ];
     sourceProvenance = with sourceTypes; [
       binaryBytecode
diff --git a/pkgs/applications/graphics/fstl/default.nix b/pkgs/applications/graphics/fstl/default.nix
index c7faf43e24e83..a004c2dd8d77d 100644
--- a/pkgs/applications/graphics/fstl/default.nix
+++ b/pkgs/applications/graphics/fstl/default.nix
@@ -24,6 +24,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "The fastest STL file viewer";
+    mainProgram = "fstl";
     homepage = "https://github.com/fstl-app/fstl";
     license = licenses.mit;
     platforms = platforms.linux ++ platforms.darwin;
diff --git a/pkgs/applications/graphics/gcolor3/default.nix b/pkgs/applications/graphics/gcolor3/default.nix
index 6895a334f1e56..ae36266f29c8d 100644
--- a/pkgs/applications/graphics/gcolor3/default.nix
+++ b/pkgs/applications/graphics/gcolor3/default.nix
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A simple color chooser written in GTK3";
+    mainProgram = "gcolor3";
     homepage = "https://gitlab.gnome.org/World/gcolor3";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index 653dad23b638a..a064e27a66577 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -66,6 +66,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Lightweight GTK based image viewer";
+    mainProgram = "geeqie";
 
     longDescription =
       ''
diff --git a/pkgs/applications/graphics/gnome-photos/default.nix b/pkgs/applications/graphics/gnome-photos/default.nix
index 7a51f037f9951..fbcc5ebcf4785 100644
--- a/pkgs/applications/graphics/gnome-photos/default.nix
+++ b/pkgs/applications/graphics/gnome-photos/default.nix
@@ -114,6 +114,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Access, organize and share your photos";
+    mainProgram = "gnome-photos";
     homepage = "https://wiki.gnome.org/Apps/Photos";
     license = licenses.gpl3Plus;
     maintainers = teams.gnome.members;
diff --git a/pkgs/applications/graphics/goxel/default.nix b/pkgs/applications/graphics/goxel/default.nix
index 5f04312965a0b..000fd3719263f 100644
--- a/pkgs/applications/graphics/goxel/default.nix
+++ b/pkgs/applications/graphics/goxel/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "Open Source 3D voxel editor";
+    mainProgram = "goxel";
     homepage = "https://guillaumechereau.github.io/goxel/";
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index 86de9fb2aede4..79793c6887116 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -109,6 +109,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://wiki.gnome.org/Apps/Gthumb";
     description = "Image browser and viewer for GNOME";
+    mainProgram = "gthumb";
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.mimame ];
diff --git a/pkgs/applications/graphics/hdrmerge/default.nix b/pkgs/applications/graphics/hdrmerge/default.nix
index 827ee15af60aa..cfd5fe516be57 100644
--- a/pkgs/applications/graphics/hdrmerge/default.nix
+++ b/pkgs/applications/graphics/hdrmerge/default.nix
@@ -72,6 +72,7 @@ mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/jcelaya/hdrmerge";
     description = "Combines two or more raw images into an HDR";
+    mainProgram = "hdrmerge";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.paperdigits ];
diff --git a/pkgs/applications/graphics/icon-library/default.nix b/pkgs/applications/graphics/icon-library/default.nix
index 6033843e4aebf..25cc1ebebfbc3 100644
--- a/pkgs/applications/graphics/icon-library/default.nix
+++ b/pkgs/applications/graphics/icon-library/default.nix
@@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://gitlab.gnome.org/World/design/icon-library";
     description = "Symbolic icons for your apps";
+    mainProgram = "icon-library";
     maintainers = with maintainers; [ qyliss ];
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
diff --git a/pkgs/applications/graphics/identity/default.nix b/pkgs/applications/graphics/identity/default.nix
index a17ecf7a6fb20..8d9caa58543cf 100644
--- a/pkgs/applications/graphics/identity/default.nix
+++ b/pkgs/applications/graphics/identity/default.nix
@@ -69,6 +69,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A program for comparing multiple versions of an image or video";
+    mainProgram = "identity";
     homepage = "https://gitlab.gnome.org/YaLTeR/identity";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/image-roll/default.nix b/pkgs/applications/graphics/image-roll/default.nix
index 461a07837d83b..2c142b7bbb803 100644
--- a/pkgs/applications/graphics/image-roll/default.nix
+++ b/pkgs/applications/graphics/image-roll/default.nix
@@ -40,6 +40,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Simple and fast GTK image viewer with basic image manipulation tools";
+    mainProgram = "image-roll";
     homepage = "https://github.com/weclaw1/image-roll";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/applications/graphics/imgp/default.nix b/pkgs/applications/graphics/imgp/default.nix
index 995aaf2599df2..bb2334222fb7c 100644
--- a/pkgs/applications/graphics/imgp/default.nix
+++ b/pkgs/applications/graphics/imgp/default.nix
@@ -31,6 +31,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "High-performance CLI batch image resizer & rotator";
+    mainProgram = "imgp";
     homepage = "https://github.com/jarun/imgp";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
diff --git a/pkgs/applications/graphics/kgraphviewer/default.nix b/pkgs/applications/graphics/kgraphviewer/default.nix
index 4b9b93505ad87..65ec4eb71d42e 100644
--- a/pkgs/applications/graphics/kgraphviewer/default.nix
+++ b/pkgs/applications/graphics/kgraphviewer/default.nix
@@ -29,6 +29,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "A Graphviz dot graph viewer for KDE";
+    mainProgram = "kgraphviewer";
     license     = licenses.gpl2;
     maintainers = with maintainers; [ ];
     platforms   = platforms.linux;
diff --git a/pkgs/applications/graphics/komikku/default.nix b/pkgs/applications/graphics/komikku/default.nix
index 4a4b499ca4d09..d694752134391 100644
--- a/pkgs/applications/graphics/komikku/default.nix
+++ b/pkgs/applications/graphics/komikku/default.nix
@@ -88,6 +88,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Manga reader for GNOME";
+    mainProgram = "komikku";
     homepage = "https://apps.gnome.org/Komikku/";
     license = licenses.gpl3Plus;
     changelog = "https://codeberg.org/valos/Komikku/releases/tag/v${version}";
diff --git a/pkgs/applications/graphics/krop/default.nix b/pkgs/applications/graphics/krop/default.nix
index 0adcf0b538d2e..93e24b24b53bf 100644
--- a/pkgs/applications/graphics/krop/default.nix
+++ b/pkgs/applications/graphics/krop/default.nix
@@ -37,6 +37,7 @@ python3Packages.buildPythonApplication rec {
   meta = {
     homepage = "http://arminstraub.com/software/krop";
     description = "Graphical tool to crop the pages of PDF files";
+    mainProgram = "krop";
     longDescription = ''
     Krop is a tool that allows you to optimise your PDF files, and remove
     sections of the page you do not want.  A unique feature of krop, at least to my
diff --git a/pkgs/applications/graphics/ktikz/default.nix b/pkgs/applications/graphics/ktikz/default.nix
index d176ce38f0adf..b7fe2e205fa8b 100644
--- a/pkgs/applications/graphics/ktikz/default.nix
+++ b/pkgs/applications/graphics/ktikz/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Editor for the TikZ language";
+    mainProgram = "qtikz";
     homepage = "https://github.com/fhackenberger/ktikz";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/leocad/default.nix b/pkgs/applications/graphics/leocad/default.nix
index bb37dc5ef0275..9a0bbaefe5056 100644
--- a/pkgs/applications/graphics/leocad/default.nix
+++ b/pkgs/applications/graphics/leocad/default.nix
@@ -56,6 +56,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "CAD program for creating virtual LEGO models";
+    mainProgram = "leocad";
     homepage = "https://www.leocad.org/";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ peterhoeg ];
diff --git a/pkgs/applications/graphics/mandelbulber/default.nix b/pkgs/applications/graphics/mandelbulber/default.nix
index 68e88bdea28ae..1f11160968215 100644
--- a/pkgs/applications/graphics/mandelbulber/default.nix
+++ b/pkgs/applications/graphics/mandelbulber/default.nix
@@ -55,6 +55,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "A 3D fractal rendering engine";
+    mainProgram = "mandelbulber2";
     longDescription = "Mandelbulber creatively generates three-dimensional fractals. Explore trigonometric, hyper-complex, Mandelbox, IFS, and many other 3D fractals.";
     homepage = "https://mandelbulber.com";
     license = licenses.gpl3Plus;
diff --git a/pkgs/applications/graphics/meshlab/default.nix b/pkgs/applications/graphics/meshlab/default.nix
index bee1e35ec129a..32d5288315395 100644
--- a/pkgs/applications/graphics/meshlab/default.nix
+++ b/pkgs/applications/graphics/meshlab/default.nix
@@ -86,6 +86,7 @@ mkDerivation rec {
 
   meta = {
     description = "A system for processing and editing 3D triangular meshes";
+    mainProgram = "meshlab";
     homepage = "https://www.meshlab.net/";
     license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ viric ];
diff --git a/pkgs/applications/graphics/ovito/default.nix b/pkgs/applications/graphics/ovito/default.nix
index 596ae0d07a113..81ce2518cea76 100644
--- a/pkgs/applications/graphics/ovito/default.nix
+++ b/pkgs/applications/graphics/ovito/default.nix
@@ -54,6 +54,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Scientific visualization and analysis software for atomistic and particle simulation data";
+    mainProgram = "ovito";
     homepage = "https://ovito.org";
     license = with licenses;  [ gpl3Only mit ];
     maintainers = with maintainers; [ twhitehead ];
diff --git a/pkgs/applications/graphics/paleta/default.nix b/pkgs/applications/graphics/paleta/default.nix
index 062c157c3f021..6275b3d10e4c1 100644
--- a/pkgs/applications/graphics/paleta/default.nix
+++ b/pkgs/applications/graphics/paleta/default.nix
@@ -52,6 +52,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Extract the dominant colors from any image";
+    mainProgram = "paleta";
     homepage = "https://github.com/nate-xyz/paleta";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix
index ffd31bf7325ac..9924e0b58c148 100644
--- a/pkgs/applications/graphics/pencil/default.nix
+++ b/pkgs/applications/graphics/pencil/default.nix
@@ -98,6 +98,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "GUI prototyping/mockup tool";
+    mainProgram = "pencil";
     homepage    = "https://pencil.evolus.vn/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license     = licenses.gpl2; # Commercial license is also available
diff --git a/pkgs/applications/graphics/photoflare/default.nix b/pkgs/applications/graphics/photoflare/default.nix
index 6c6ea1059c73a..3f47a0073d245 100644
--- a/pkgs/applications/graphics/photoflare/default.nix
+++ b/pkgs/applications/graphics/photoflare/default.nix
@@ -21,6 +21,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "A cross-platform image editor with a powerful features and a very friendly graphical user interface";
+    mainProgram = "photoflare";
     homepage = "https://photoflare.io";
     maintainers = [ maintainers.omgbebebe ];
     license = licenses.gpl3Plus;
diff --git a/pkgs/applications/graphics/phototonic/default.nix b/pkgs/applications/graphics/phototonic/default.nix
index 738f78cf347d7..345398435a07a 100644
--- a/pkgs/applications/graphics/phototonic/default.nix
+++ b/pkgs/applications/graphics/phototonic/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "An image viewer and organizer";
+    mainProgram = "phototonic";
     homepage = "https://github.com/oferkv/phototonic";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/applications/graphics/pick-colour-picker/default.nix b/pkgs/applications/graphics/pick-colour-picker/default.nix
index a4b8bbc9c2fd5..bd9ab649d6338 100644
--- a/pkgs/applications/graphics/pick-colour-picker/default.nix
+++ b/pkgs/applications/graphics/pick-colour-picker/default.nix
@@ -47,6 +47,7 @@ buildPythonPackage rec {
     license = licenses.mit;
     platforms = platforms.linux;
     description = "A colour picker that remembers where you picked colours from";
+    mainProgram = "pick-colour-picker";
     maintainers = [ maintainers.mkg20001 ];
 
     longDescription = ''
diff --git a/pkgs/applications/graphics/pikopixel/default.nix b/pkgs/applications/graphics/pikopixel/default.nix
index f8719cc0a4cd2..5868705275086 100644
--- a/pkgs/applications/graphics/pikopixel/default.nix
+++ b/pkgs/applications/graphics/pikopixel/default.nix
@@ -39,6 +39,7 @@ clangStdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Application for drawing and editing pixel-art images";
+    mainProgram = "PikoPixel";
     homepage = "https://twilightedge.com/mac/pikopixel/";
     downloadPage = "https://twilightedge.com/mac/pikopixel/";
     license = licenses.agpl3;
diff --git a/pkgs/applications/graphics/pizarra/default.nix b/pkgs/applications/graphics/pizarra/default.nix
index f9d7fc650647d..b53368439d756 100644
--- a/pkgs/applications/graphics/pizarra/default.nix
+++ b/pkgs/applications/graphics/pizarra/default.nix
@@ -41,6 +41,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A simple blackboard written in GTK";
+    mainProgram = "pizarra";
     longDescription = ''
       A simple endless blackboard.
       Contains various features, such as:
diff --git a/pkgs/applications/graphics/qcomicbook/default.nix b/pkgs/applications/graphics/qcomicbook/default.nix
index 47bf2d9502836..ee2296b391bb2 100644
--- a/pkgs/applications/graphics/qcomicbook/default.nix
+++ b/pkgs/applications/graphics/qcomicbook/default.nix
@@ -27,6 +27,7 @@ mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/stolowski/QComicBook";
     description = "Comic book reader in Qt5";
+    mainProgram = "qcomicbook";
     license = licenses.gpl2;
 
     longDescription = ''
diff --git a/pkgs/applications/graphics/qimgv/default.nix b/pkgs/applications/graphics/qimgv/default.nix
index 2cb5f8ddde247..c6789fd057380 100644
--- a/pkgs/applications/graphics/qimgv/default.nix
+++ b/pkgs/applications/graphics/qimgv/default.nix
@@ -55,6 +55,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "A Qt5 image viewer with optional video support";
+    mainProgram = "qimgv";
     homepage = "https://github.com/easymodo/qimgv";
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/qosmic/default.nix b/pkgs/applications/graphics/qosmic/default.nix
index 9e2248f896de7..a3a688fd0366b 100644
--- a/pkgs/applications/graphics/qosmic/default.nix
+++ b/pkgs/applications/graphics/qosmic/default.nix
@@ -72,6 +72,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A cosmic recursive flame fractal editor";
+    mainProgram = "qosmic";
     homepage = "https://github.com/bitsed/qosmic";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.raboof ];
diff --git a/pkgs/applications/graphics/qscreenshot/default.nix b/pkgs/applications/graphics/qscreenshot/default.nix
index efbab2e04bbbd..761bd69d35209 100644
--- a/pkgs/applications/graphics/qscreenshot/default.nix
+++ b/pkgs/applications/graphics/qscreenshot/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
   ];
   meta = with lib; {
     description = "Simple creation and editing of screenshots";
+    mainProgram = "qScreenshot";
     homepage = "https://sourceforge.net/projects/qscreenshot/";
     license = licenses.gpl2;
     platforms = platforms.all;
diff --git a/pkgs/applications/graphics/qvge/default.nix b/pkgs/applications/graphics/qvge/default.nix
index 442e3200e4696..e7c6def43b91f 100644
--- a/pkgs/applications/graphics/qvge/default.nix
+++ b/pkgs/applications/graphics/qvge/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Qt Visual Graph Editor";
+    mainProgram = "qvgeapp";
     homepage = "https://github.com/ArsMasiuk/qvge";
     license = licenses.mit;
     maintainers = with maintainers; [ sikmir ];
diff --git a/pkgs/applications/graphics/qview/default.nix b/pkgs/applications/graphics/qview/default.nix
index 9bba92a2b5b7c..38ff606487c0a 100644
--- a/pkgs/applications/graphics/qview/default.nix
+++ b/pkgs/applications/graphics/qview/default.nix
@@ -34,6 +34,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Practical and minimal image viewer";
+    mainProgram = "qview";
     homepage = "https://interversehq.com/qview/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ acowley ];
diff --git a/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
index e6d0319950d59..494815ac930b0 100644
--- a/pkgs/applications/graphics/rapid-photo-downloader/default.nix
+++ b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
@@ -97,6 +97,7 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Photo and video importer for cameras, phones, and memory cards";
+    mainProgram = "rapid-photo-downloader";
     homepage = "https://www.damonlynch.net/rapid/";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/rx/default.nix b/pkgs/applications/graphics/rx/default.nix
index fe3d10bae6356..77ed3f49117c5 100644
--- a/pkgs/applications/graphics/rx/default.nix
+++ b/pkgs/applications/graphics/rx/default.nix
@@ -37,6 +37,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = {
     description = "Modern and extensible pixel editor implemented in Rust";
+    mainProgram = "rx";
     homepage = "https://rx.cloudhead.io/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ minijackson Br1ght0ne ];
diff --git a/pkgs/applications/graphics/sane/backends/airscan/default.nix b/pkgs/applications/graphics/sane/backends/airscan/default.nix
index d88c7352d5745..69084140ccb45 100644
--- a/pkgs/applications/graphics/sane/backends/airscan/default.nix
+++ b/pkgs/applications/graphics/sane/backends/airscan/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/alexpevzner/sane-airscan";
     description = "Scanner Access Now Easy - Apple AirScan (eSCL) driver";
+    mainProgram = "airscan-discover";
     longDescription = ''
       sane-airscan: Linux support of Apple AirScan (eSCL) compatible document scanners.
     '';
diff --git a/pkgs/applications/graphics/sane/xsane.nix b/pkgs/applications/graphics/sane/xsane.nix
index 471e2141b5b8f..e9a1ca2c40de0 100644
--- a/pkgs/applications/graphics/sane/xsane.nix
+++ b/pkgs/applications/graphics/sane/xsane.nix
@@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://www.sane-project.org/";
     description = "Graphical scanning frontend for sane";
+    mainProgram = "xsane";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ melling ];
diff --git a/pkgs/applications/graphics/scantailor/advanced.nix b/pkgs/applications/graphics/scantailor/advanced.nix
index 2ab5c5562670f..b83b9df83b018 100644
--- a/pkgs/applications/graphics/scantailor/advanced.nix
+++ b/pkgs/applications/graphics/scantailor/advanced.nix
@@ -19,6 +19,7 @@ mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/vigri/scantailor-advanced";
     description = "Interactive post-processing tool for scanned pages (vigri's fork)";
+    mainProgram = "scantailor";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ];
     platforms = with platforms; gnu ++ linux ++ darwin;
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index 9eb1fbb28ee4d..e6d6eb41b9e08 100644
--- a/pkgs/applications/graphics/shotwell/default.nix
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -96,6 +96,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "Popular photo organizer for the GNOME desktop";
+    mainProgram = "shotwell";
     homepage = "https://wiki.gnome.org/Apps/Shotwell";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [];
diff --git a/pkgs/applications/graphics/shutter/default.nix b/pkgs/applications/graphics/shutter/default.nix
index e5659fb7fe2ad..d10e8487796ff 100644
--- a/pkgs/applications/graphics/shutter/default.nix
+++ b/pkgs/applications/graphics/shutter/default.nix
@@ -104,6 +104,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Screenshot and annotation tool";
+    mainProgram = "shutter";
     homepage = "https://shutter-project.org/";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
diff --git a/pkgs/applications/graphics/smartdeblur/default.nix b/pkgs/applications/graphics/smartdeblur/default.nix
index 51c0f306f92d1..592244455e981 100644
--- a/pkgs/applications/graphics/smartdeblur/default.nix
+++ b/pkgs/applications/graphics/smartdeblur/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/Y-Vladimir/SmartDeblur";
     description = "Tool for restoring blurry and defocused images";
+    mainProgram = "SmartDeblur";
     license = licenses.gpl3;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/symbolic-preview/default.nix b/pkgs/applications/graphics/symbolic-preview/default.nix
index b73d481966b13..6f3103ecb8a67 100644
--- a/pkgs/applications/graphics/symbolic-preview/default.nix
+++ b/pkgs/applications/graphics/symbolic-preview/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://gitlab.gnome.org/World/design/symbolic-preview";
     description = "Symbolics made easy";
+    mainProgram = "symbolic-preview";
     maintainers = with maintainers; [ qyliss ];
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
diff --git a/pkgs/applications/graphics/tev/default.nix b/pkgs/applications/graphics/tev/default.nix
index ff97eb65f17c0..ca70027eb2029 100644
--- a/pkgs/applications/graphics/tev/default.nix
+++ b/pkgs/applications/graphics/tev/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A high dynamic range (HDR) image comparison tool";
+    mainProgram = "tev";
     longDescription = ''
       A high dynamic range (HDR) image comparison tool for graphics people. tev
       allows viewing images through various tonemapping operators and inspecting
diff --git a/pkgs/applications/graphics/timelapse-deflicker/default.nix b/pkgs/applications/graphics/timelapse-deflicker/default.nix
index f1757d51b1b38..511ed8a0134af 100644
--- a/pkgs/applications/graphics/timelapse-deflicker/default.nix
+++ b/pkgs/applications/graphics/timelapse-deflicker/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Simple script to deflicker images taken for timelapses";
+    mainProgram = "timelapse-deflicker";
     homepage = "https://github.com/cyberang3l/timelapse-deflicker";
     license = licenses.gpl3;
     maintainers = with maintainers; [ valeriangalliat ];
diff --git a/pkgs/applications/graphics/veusz/default.nix b/pkgs/applications/graphics/veusz/default.nix
index d630ceda6a589..67f5a76e5e97a 100644
--- a/pkgs/applications/graphics/veusz/default.nix
+++ b/pkgs/applications/graphics/veusz/default.nix
@@ -62,6 +62,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     description = "A scientific plotting and graphing program with a GUI";
+    mainProgram = "veusz";
     homepage = "https://veusz.github.io/";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/weylus/default.nix b/pkgs/applications/graphics/weylus/default.nix
index 27021eab21320..36647a62aef23 100644
--- a/pkgs/applications/graphics/weylus/default.nix
+++ b/pkgs/applications/graphics/weylus/default.nix
@@ -99,6 +99,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     broken = stdenv.isDarwin;
     description = "Use your tablet as graphic tablet/touch screen on your computer";
+    mainProgram = "weylus";
     homepage = "https://github.com/H-M-H/Weylus";
     license = with licenses; [ agpl3Only ];
     maintainers = with maintainers; [ lom ];
diff --git a/pkgs/applications/graphics/xaos/default.nix b/pkgs/applications/graphics/xaos/default.nix
index e79f322be5e4c..dd717223fdbb3 100644
--- a/pkgs/applications/graphics/xaos/default.nix
+++ b/pkgs/applications/graphics/xaos/default.nix
@@ -42,6 +42,7 @@ in stdenv.mkDerivation rec {
 
   meta = src.meta // {
     description = "Real-time interactive fractal zoomer";
+    mainProgram = "xaos";
     homepage = "https://xaos-project.github.io/";
     license = lib.licenses.gpl2Plus;
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/applications/graphics/xfig/default.nix b/pkgs/applications/graphics/xfig/default.nix
index 00e736731f2f8..cb96daeb12708 100644
--- a/pkgs/applications/graphics/xfig/default.nix
+++ b/pkgs/applications/graphics/xfig/default.nix
@@ -61,6 +61,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     changelog = "https://sourceforge.net/p/mcj/xfig/ci/${version}/tree/CHANGES";
     description = "An interactive drawing tool for X11";
+    mainProgram = "xfig";
     longDescription = ''
       Note that you need to have the <literal>netpbm</literal> tools
       in your path to export bitmaps.
diff --git a/pkgs/applications/graphics/xpano/default.nix b/pkgs/applications/graphics/xpano/default.nix
index 3ba27e66e66f7..9842aca43dd8d 100644
--- a/pkgs/applications/graphics/xpano/default.nix
+++ b/pkgs/applications/graphics/xpano/default.nix
@@ -53,6 +53,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A panorama stitching tool";
+    mainProgram = "Xpano";
     homepage = "https://krupkat.github.io/xpano/";
     changelog = "https://github.com/krupkat/xpano/releases/tag/v${version}";
     license = licenses.gpl3Plus;
diff --git a/pkgs/applications/graphics/xrgears/default.nix b/pkgs/applications/graphics/xrgears/default.nix
index ac73412117cf8..2f367e8a70d5c 100644
--- a/pkgs/applications/graphics/xrgears/default.nix
+++ b/pkgs/applications/graphics/xrgears/default.nix
@@ -52,6 +52,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://gitlab.freedesktop.org/monado/demos/xrgears";
     description = "An OpenXR example using Vulkan for rendering";
+    mainProgram = "xrgears";
     platforms = platforms.linux;
     license = licenses.mit;
     maintainers = with maintainers; [ expipiplus1 ];