summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2022-02-22 17:56:15 +0300
committerJonathan Ringer <jonringer@users.noreply.github.com>2022-02-25 13:40:38 -0800
commitcb2cfba6f7690d4b8754b0dd5a504efe93d7f44d (patch)
tree63bf69cdc1c296e10bf6543aa890855cccf1da57 /pkgs/games
parent0c713dbed40dd87090a4632cffc7b088653f35cb (diff)
downloadnixpkgs-cb2cfba6f7690d4b8754b0dd5a504efe93d7f44d.tar
nixpkgs-cb2cfba6f7690d4b8754b0dd5a504efe93d7f44d.tar.gz
nixpkgs-cb2cfba6f7690d4b8754b0dd5a504efe93d7f44d.tar.bz2
nixpkgs-cb2cfba6f7690d4b8754b0dd5a504efe93d7f44d.tar.lz
nixpkgs-cb2cfba6f7690d4b8754b0dd5a504efe93d7f44d.tar.xz
nixpkgs-cb2cfba6f7690d4b8754b0dd5a504efe93d7f44d.tar.zst
nixpkgs-cb2cfba6f7690d4b8754b0dd5a504efe93d7f44d.zip
treewide: switch all desktop file generators to new API
Notably:
- remove explicit arguments that match the defaults
- convert everything to the right Nix types
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/90secondportraits/default.nix2
-rw-r--r--pkgs/games/abuse/default.nix2
-rw-r--r--pkgs/games/alephone/default.nix2
-rw-r--r--pkgs/games/assaultcube/default.nix2
-rw-r--r--pkgs/games/ballerburg/default.nix3
-rw-r--r--pkgs/games/brogue/default.nix3
-rw-r--r--pkgs/games/clonehero/fhs-wrapper.nix2
-rw-r--r--pkgs/games/dhewm3/default.nix2
-rw-r--r--pkgs/games/domination/default.nix2
-rw-r--r--pkgs/games/duckmarines/default.nix2
-rw-r--r--pkgs/games/ecwolf/default.nix2
-rw-r--r--pkgs/games/eduke32/default.nix2
-rw-r--r--pkgs/games/factorio/default.nix3
-rw-r--r--pkgs/games/fish-fillets-ng/default.nix2
-rw-r--r--pkgs/games/flightgear/default.nix2
-rw-r--r--pkgs/games/freedroid/default.nix2
-rw-r--r--pkgs/games/freenukum/default.nix5
-rw-r--r--pkgs/games/frogatto/default.nix4
-rw-r--r--pkgs/games/frozen-bubble/default.nix2
-rw-r--r--pkgs/games/gnujump/default.nix2
-rw-r--r--pkgs/games/gzdoom/default.nix2
-rw-r--r--pkgs/games/hyperrogue/default.nix2
-rw-r--r--pkgs/games/itch/default.nix8
-rw-r--r--pkgs/games/ivan/default.nix2
-rw-r--r--pkgs/games/lunar-client/default.nix2
-rw-r--r--pkgs/games/maelstrom/default.nix2
-rw-r--r--pkgs/games/mari0/default.nix2
-rw-r--r--pkgs/games/mindustry/default.nix1
-rw-r--r--pkgs/games/minecraft/default.nix2
-rw-r--r--pkgs/games/mrrescue/default.nix2
-rw-r--r--pkgs/games/oh-my-git/default.nix2
-rw-r--r--pkgs/games/openjk/default.nix4
-rw-r--r--pkgs/games/opensupaplex/default.nix2
-rw-r--r--pkgs/games/orthorobot/default.nix2
-rw-r--r--pkgs/games/osu-lazer/default.nix2
-rw-r--r--pkgs/games/quakespasm/default.nix2
-rw-r--r--pkgs/games/rocksndiamonds/default.nix2
-rw-r--r--pkgs/games/rott/default.nix2
-rw-r--r--pkgs/games/runelite/default.nix3
-rw-r--r--pkgs/games/sauerbraten/default.nix2
-rw-r--r--pkgs/games/scid-vs-pc/default.nix2
-rw-r--r--pkgs/games/scummvm/games.nix2
-rw-r--r--pkgs/games/sdlpop/default.nix2
-rw-r--r--pkgs/games/sienna/default.nix2
-rw-r--r--pkgs/games/starsector/default.nix2
-rw-r--r--pkgs/games/system-syzygy/default.nix2
-rw-r--r--pkgs/games/tome2/default.nix4
-rw-r--r--pkgs/games/tome4/default.nix3
-rw-r--r--pkgs/games/unciv/default.nix2
-rw-r--r--pkgs/games/unvanquished/default.nix12
-rw-r--r--pkgs/games/ut2004/wrapper.nix2
-rw-r--r--pkgs/games/vintagestory/default.nix3
-rw-r--r--pkgs/games/worldofgoo/default.nix3
-rw-r--r--pkgs/games/xbill/default.nix2
-rw-r--r--pkgs/games/xonotic/default.nix4
55 files changed, 59 insertions, 84 deletions
diff --git a/pkgs/games/90secondportraits/default.nix b/pkgs/games/90secondportraits/default.nix
index 07458cc6446..1cf7829cfcd 100644
--- a/pkgs/games/90secondportraits/default.nix
+++ b/pkgs/games/90secondportraits/default.nix
@@ -16,7 +16,7 @@ let
     comment = "A silly speed painting game";
     desktopName = "90 Second Portraits";
     genericName = "90secondportraits";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
 in
diff --git a/pkgs/games/abuse/default.nix b/pkgs/games/abuse/default.nix
index 2e863022a68..1e2d4f82f83 100644
--- a/pkgs/games/abuse/default.nix
+++ b/pkgs/games/abuse/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     icon = "abuse";
     desktopName = "Abuse";
     comment     = "Side-scroller action game that pits you against ruthless alien killers";
-    categories  = "Game;ActionGame;";
+    categories  = [ "Game" "ActionGame" ];
   }) ];
 
   postInstall = ''
diff --git a/pkgs/games/alephone/default.nix b/pkgs/games/alephone/default.nix
index aa76cc17b40..98b21865d7c 100644
--- a/pkgs/games/alephone/default.nix
+++ b/pkgs/games/alephone/default.nix
@@ -72,7 +72,7 @@ in self // {
         name = desktopName;
         exec = pname;
         genericName = pname;
-        categories = "Game;";
+        categories = [ "Game" ];
         comment = meta.description;
         inherit desktopName icon;
       };
diff --git a/pkgs/games/assaultcube/default.nix b/pkgs/games/assaultcube/default.nix
index 640ea81c6c6..1013be2694e 100644
--- a/pkgs/games/assaultcube/default.nix
+++ b/pkgs/games/assaultcube/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     desktopName = "AssaultCube";
     comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay.";
     genericName = "First-person shooter";
-    categories = "Game;ActionGame;Shooter";
+    categories = [ "Game" "ActionGame" "Shooter" ];
     icon = "assaultcube.png";
     exec = pname;
   };
diff --git a/pkgs/games/ballerburg/default.nix b/pkgs/games/ballerburg/default.nix
index 43b274a1282..b15abdbc470 100644
--- a/pkgs/games/ballerburg/default.nix
+++ b/pkgs/games/ballerburg/default.nix
@@ -25,11 +25,10 @@ in stdenv.mkDerivation rec {
     (makeDesktopItem {
       name = "Ballerburg";
       desktopName = "Ballerburg SDL";
-      type = "Application";
       exec = "_NET_WM_ICON=ballerburg ballerburg";
       comment = meta.description;
       icon = "ballerburg";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/brogue/default.nix b/pkgs/games/brogue/default.nix
index 77811e76e96..d4f1f8faeeb 100644
--- a/pkgs/games/brogue/default.nix
+++ b/pkgs/games/brogue/default.nix
@@ -26,8 +26,7 @@ stdenv.mkDerivation rec {
     comment = "Brave the Dungeons of Doom!";
     icon = "brogue";
     exec = "brogue";
-    categories = "Game;AdventureGame;";
-    terminal = "false";
+    categories = [ "Game" "AdventureGame" ];
   };
 
   installPhase = ''
diff --git a/pkgs/games/clonehero/fhs-wrapper.nix b/pkgs/games/clonehero/fhs-wrapper.nix
index 97758b2c1fa..cd7f3986b10 100644
--- a/pkgs/games/clonehero/fhs-wrapper.nix
+++ b/pkgs/games/clonehero/fhs-wrapper.nix
@@ -13,7 +13,7 @@ let
     comment = clonehero-unwrapped.meta.description;
     exec = name;
     icon = name;
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 in
 buildFHSUserEnv {
diff --git a/pkgs/games/dhewm3/default.nix b/pkgs/games/dhewm3/default.nix
index a87236c48f4..da75f3fd5d1 100644
--- a/pkgs/games/dhewm3/default.nix
+++ b/pkgs/games/dhewm3/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
       name = "dhewm3";
       exec = "dhewm3";
       desktopName = "Doom 3";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/domination/default.nix b/pkgs/games/domination/default.nix
index 0dde8ab1641..dd044656534 100644
--- a/pkgs/games/domination/default.nix
+++ b/pkgs/games/domination/default.nix
@@ -11,14 +11,12 @@
 
 let
   desktopItem = makeDesktopItem {
-    type = "Application";
     name = "Domination";
     desktopName = "Domination";
     exec = "domination";
     icon = "domination";
   };
   editorDesktopItem = makeDesktopItem {
-    type = "Application";
     name = "Domination Map Editor";
     desktopName = "Domination Map Editor";
     exec = "domination-map-editor";
diff --git a/pkgs/games/duckmarines/default.nix b/pkgs/games/duckmarines/default.nix
index af34742b9fd..a4e37081ab0 100644
--- a/pkgs/games/duckmarines/default.nix
+++ b/pkgs/games/duckmarines/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     comment = "Duck-themed action puzzle video game";
     desktopName = "Duck Marines";
     genericName = "duckmarines";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   src = fetchurl {
diff --git a/pkgs/games/ecwolf/default.nix b/pkgs/games/ecwolf/default.nix
index 251b51df43a..f8ca3b40f53 100644
--- a/pkgs/games/ecwolf/default.nix
+++ b/pkgs/games/ecwolf/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       exec = "ecwolf";
       comment = "Enhanced Wolfenstein 3D port";
       desktopName = "Wolfenstein 3D";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index c3492234961..4eb46e0ac15 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -11,7 +11,7 @@ let
     comment = "Duke Nukem 3D port";
     desktopName = "Enhanced Duke Nukem 3D";
     genericName = "Duke Nukem 3D port";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   wrapper = "eduke32-wrapper";
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index 74702a97339..4cf335a6137 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -53,8 +53,7 @@ let
     comment = "A game in which you build and maintain factories.";
     exec = "factorio";
     icon = "factorio";
-    type = "Application";
-    categories = "Game";
+    categories = [ "Game" ];
   };
 
   branch = if experimental then "experimental" else "stable";
diff --git a/pkgs/games/fish-fillets-ng/default.nix b/pkgs/games/fish-fillets-ng/default.nix
index 5ddad7fda4c..e610f2427a2 100644
--- a/pkgs/games/fish-fillets-ng/default.nix
+++ b/pkgs/games/fish-fillets-ng/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     icon = "fish-fillets-ng";
     desktopName = "Fish Fillets";
     comment     = "Puzzle game about witty fish saving the world sokoban-style";
-    categories  = "Game;LogicGame;";
+    categories  = [ "Game" "LogicGame" ];
   }) ];
 
   postInstall = ''
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 6f4a57587de..af79a6d4b2b 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     comment = "FlightGear Flight Simulator";
     desktopName = "FlightGear";
     genericName = "Flight simulator";
-    categories = "Game;Simulation";
+    categories = [ "Game" "Simulation" ];
   };
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
diff --git a/pkgs/games/freedroid/default.nix b/pkgs/games/freedroid/default.nix
index 266407d17db..38eb60e7e04 100644
--- a/pkgs/games/freedroid/default.nix
+++ b/pkgs/games/freedroid/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     icon = pname;
     desktopName = "Freedroid Classic";
     comment     = "A clone of the classic game 'Paradroid' on Commodore 64";
-    categories  = "Game;ArcadeGame;";
+    categories  = [ "Game" "ArcadeGame" ];
   }) ];
 
   meta = with lib; {
diff --git a/pkgs/games/freenukum/default.nix b/pkgs/games/freenukum/default.nix
index ff1e8872233..0d2f833671e 100644
--- a/pkgs/games/freenukum/default.nix
+++ b/pkgs/games/freenukum/default.nix
@@ -16,12 +16,9 @@ let
     name = pname;
     exec = pname;
     icon = pname;
-    terminal = "false";
     comment = description;
-    type = "Application";
-    categories = "Game;ArcadeGame;ActionGame";
+    categories = [ "Game" "ArcadeGame" "ActionGame" ];
     genericName = pname;
-    fileValidation = false;
   };
 
 in
diff --git a/pkgs/games/frogatto/default.nix b/pkgs/games/frogatto/default.nix
index 0b53e3d0bea..f987992858d 100644
--- a/pkgs/games/frogatto/default.nix
+++ b/pkgs/games/frogatto/default.nix
@@ -7,12 +7,12 @@ let
   desktopItem = makeDesktopItem {
     name = "frogatto";
     exec = "frogatto";
-    startupNotify = "true";
+    startupNotify = true;
     icon = "${data}/share/frogatto/modules/frogatto/images/os/frogatto-icon.png";
     comment = description;
     desktopName = "Frogatto";
     genericName = "frogatto";
-    categories = "Game;ArcadeGame;";
+    categories = [ "Game" "ArcadeGame" ];
   };
   version = "unstable-2020-12-04";
 in buildEnv {
diff --git a/pkgs/games/frozen-bubble/default.nix b/pkgs/games/frozen-bubble/default.nix
index f9dd3fd6159..6738f979d00 100644
--- a/pkgs/games/frozen-bubble/default.nix
+++ b/pkgs/games/frozen-bubble/default.nix
@@ -25,7 +25,7 @@ perlPackages.buildPerlModule {
       desktopName = "Frozen Bubble";
       genericName = "Frozen Bubble";
       comment = "Arcade/reflex colour matching game";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/gnujump/default.nix b/pkgs/games/gnujump/default.nix
index 6f91b103458..1c918395d40 100644
--- a/pkgs/games/gnujump/default.nix
+++ b/pkgs/games/gnujump/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     icon = "gnujump";
     desktopName = "GNUjump";
     comment     = "Jump up the tower to survive";
-    categories  = "Game;ArcadeGame;";
+    categories  = [ "Game" "ArcadeGame" ];
   }) ];
 
   postInstall = ''
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index e38294ff401..a10b370e648 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -60,7 +60,7 @@ let
         name = "gzdoom";
         exec = "gzdoom";
         desktopName = "GZDoom";
-        categories = "Game;";
+        categories = [ "Game" ];
       })
     ];
 
diff --git a/pkgs/games/hyperrogue/default.nix b/pkgs/games/hyperrogue/default.nix
index 08427bd2920..0397bb474da 100644
--- a/pkgs/games/hyperrogue/default.nix
+++ b/pkgs/games/hyperrogue/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     comment = meta.description;
     icon = "hyperrogue";
     exec = "hyperrogue";
-    categories = "Game;AdventureGame;";
+    categories = [ "Game" "AdventureGame" ];
   };
 
   postInstall = ''
diff --git a/pkgs/games/itch/default.nix b/pkgs/games/itch/default.nix
index a8cfe8f24d7..34a2775c3c8 100644
--- a/pkgs/games/itch/default.nix
+++ b/pkgs/games/itch/default.nix
@@ -24,14 +24,12 @@ stdenvNoCC.mkDerivation rec{
     (makeDesktopItem {
       name = pname;
       exec = pname;
+      tryExec = "itch %U";
       icon = pname;
       desktopName = pname;
-      mimeType = "x-scheme-handler/itchio;x-scheme-handler/itch";
+      mimeTypes = [ "x-scheme-handler/itchio" "x-scheme-handler/itch" ];
       comment = "Install and play itch.io games easily";
-      extraDesktopEntries = {
-        TryExec = "itch %U";
-        Categories = "Game;";
-      };
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/ivan/default.nix b/pkgs/games/ivan/default.nix
index ce0eeea738a..53e1b3cf00e 100644
--- a/pkgs/games/ivan/default.nix
+++ b/pkgs/games/ivan/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     icon = "ivan.png";
     desktopName = "IVAN";
     genericName = pname;
-    categories = "Game;AdventureGame;RolePlaying;";
+    categories = [ "Game" "AdventureGame" "RolePlaying" ];
     comment = meta.description;
   };
 
diff --git a/pkgs/games/lunar-client/default.nix b/pkgs/games/lunar-client/default.nix
index 2dc0e14daf8..dceb9755fa2 100644
--- a/pkgs/games/lunar-client/default.nix
+++ b/pkgs/games/lunar-client/default.nix
@@ -11,7 +11,7 @@ let
     comment = "Minecraft 1.7, 1.8, 1.12, 1.15, and 1.16 Client";
     desktopName = "Lunar Client";
     genericName = "Minecraft Client";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   appimageContents = appimageTools.extract {
diff --git a/pkgs/games/maelstrom/default.nix b/pkgs/games/maelstrom/default.nix
index 5f78e34edac..065784d605e 100644
--- a/pkgs/games/maelstrom/default.nix
+++ b/pkgs/games/maelstrom/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       desktopName = "Maelstrom";
       genericName = "Maelstrom";
       comment = "An arcade-style game resembling Asteroids";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/mari0/default.nix b/pkgs/games/mari0/default.nix
index 55ef9f51d5b..8189c078981 100644
--- a/pkgs/games/mari0/default.nix
+++ b/pkgs/games/mari0/default.nix
@@ -10,7 +10,7 @@ let
     comment = "Crossover between Super Mario Bros. and Portal";
     desktopName = "mari0";
     genericName = "mari0";
-    categories = "Game";
+    categories = [ "Game" ];
   };
 
 in
diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix
index d28f2b1d1e7..82df3710c57 100644
--- a/pkgs/games/mindustry/default.nix
+++ b/pkgs/games/mindustry/default.nix
@@ -66,7 +66,6 @@ let
   '';
 
   desktopItem = makeDesktopItem {
-    type = "Application";
     name = "Mindustry";
     desktopName = "Mindustry";
     exec = "mindustry";
diff --git a/pkgs/games/minecraft/default.nix b/pkgs/games/minecraft/default.nix
index 254c01fdf1b..08104310faa 100644
--- a/pkgs/games/minecraft/default.nix
+++ b/pkgs/games/minecraft/default.nix
@@ -38,7 +38,7 @@ let
     icon = "minecraft-launcher";
     comment = "Official launcher for Minecraft, a sandbox-building game";
     desktopName = "Minecraft Launcher";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   envLibPath = lib.makeLibraryPath [
diff --git a/pkgs/games/mrrescue/default.nix b/pkgs/games/mrrescue/default.nix
index 2328c20ef91..a873424aa24 100644
--- a/pkgs/games/mrrescue/default.nix
+++ b/pkgs/games/mrrescue/default.nix
@@ -16,7 +16,7 @@ let
     comment = "Arcade-style fire fighting game";
     desktopName = "Mr. Rescue";
     genericName = "mrrescue";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
 in
diff --git a/pkgs/games/oh-my-git/default.nix b/pkgs/games/oh-my-git/default.nix
index 881935279fe..57fbad34057 100644
--- a/pkgs/games/oh-my-git/default.nix
+++ b/pkgs/games/oh-my-git/default.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
       desktopName = "oh-my-git";
       comment = "An interactive Git learning game!";
       genericName = "An interactive Git learning game!";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/openjk/default.nix b/pkgs/games/openjk/default.nix
index c16b38fc8f1..d2844809eea 100644
--- a/pkgs/games/openjk/default.nix
+++ b/pkgs/games/openjk/default.nix
@@ -8,7 +8,7 @@ let
     comment = "Open Source Jedi Academy game released by Raven Software";
     desktopName = "Jedi Academy (Multi Player)";
     genericName = "Jedi Academy";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
   jasp = makeDesktopItem rec {
     name = "jasp";
@@ -17,7 +17,7 @@ let
     comment = "Open Source Jedi Academy game released by Raven Software";
     desktopName = "Jedi Academy (Single Player)";
     genericName = "Jedi Academy";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 in stdenv.mkDerivation {
   pname = "OpenJK";
diff --git a/pkgs/games/opensupaplex/default.nix b/pkgs/games/opensupaplex/default.nix
index 44fc219bef9..d3f8155f546 100644
--- a/pkgs/games/opensupaplex/default.nix
+++ b/pkgs/games/opensupaplex/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     icon = "open-supaplex";
     desktopName = "OpenSupaplex";
     comment = meta.description;
-    categories = "Application;Game;";
+    categories = [ "Application" "Game" ];
   })];
 
   meta = with lib; {
diff --git a/pkgs/games/orthorobot/default.nix b/pkgs/games/orthorobot/default.nix
index c168af81ad6..34808438da7 100644
--- a/pkgs/games/orthorobot/default.nix
+++ b/pkgs/games/orthorobot/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     comment = "Robot game";
     desktopName = "Orthorobot";
     genericName = "orthorobot";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix
index 5ddbabe042e..2b1a2f044fa 100644
--- a/pkgs/games/osu-lazer/default.nix
+++ b/pkgs/games/osu-lazer/default.nix
@@ -63,7 +63,7 @@ buildDotnetModule rec {
     icon = "osu!";
     comment = meta.description;
     type = "Application";
-    categories = "Game;";
+    categories = [ "Game" ];
   })];
 
   meta = with lib; {
diff --git a/pkgs/games/quakespasm/default.nix b/pkgs/games/quakespasm/default.nix
index ec5ae3e7d15..137b86f57b6 100644
--- a/pkgs/games/quakespasm/default.nix
+++ b/pkgs/games/quakespasm/default.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
       name = "quakespasm";
       exec = "quake";
       desktopName = "Quakespasm";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/rocksndiamonds/default.nix b/pkgs/games/rocksndiamonds/default.nix
index fd570e4d7c6..b01d616452b 100644
--- a/pkgs/games/rocksndiamonds/default.nix
+++ b/pkgs/games/rocksndiamonds/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     comment = meta.description;
     desktopName = "Rocks'n'Diamonds";
     genericName = "Tile-based puzzle";
-    categories = "Game;LogicGame;";
+    categories = [ "Game" "LogicGame" ];
   };
 
   buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_net ];
diff --git a/pkgs/games/rott/default.nix b/pkgs/games/rott/default.nix
index cac357faf2e..b3a517dab02 100644
--- a/pkgs/games/rott/default.nix
+++ b/pkgs/games/rott/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
       name = "rott";
       exec = "launch-rott";
       desktopName = "Rise of the Triad: ${if buildShareware then "The HUNT Begins" else "Dark War"}";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/runelite/default.nix b/pkgs/games/runelite/default.nix
index 9a2ce6314cd..d342d543e2f 100644
--- a/pkgs/games/runelite/default.nix
+++ b/pkgs/games/runelite/default.nix
@@ -31,10 +31,9 @@ stdenv.mkDerivation rec {
     exec = "runelite";
     icon = icon;
     comment = "Open source Old School RuneScape client";
-    terminal = "false";
     desktopName = "RuneLite";
     genericName = "Oldschool Runescape";
-    categories = "Game";
+    categories = [ "Game" ];
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
diff --git a/pkgs/games/sauerbraten/default.nix b/pkgs/games/sauerbraten/default.nix
index 7373779c9e5..1d2e39d4164 100644
--- a/pkgs/games/sauerbraten/default.nix
+++ b/pkgs/games/sauerbraten/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
       icon = "sauerbraten";
       desktopName = "Sauerbraten";
       comment = "FPS that uses an improved version of the Cube engine";
-      categories = "Application;Game;ActionGame;";
+      categories = [ "Application" "Game" "ActionGame" ];
     })
   ];
 
diff --git a/pkgs/games/scid-vs-pc/default.nix b/pkgs/games/scid-vs-pc/default.nix
index e6fb00eb76c..4711ffa2f54 100644
--- a/pkgs/games/scid-vs-pc/default.nix
+++ b/pkgs/games/scid-vs-pc/default.nix
@@ -68,7 +68,7 @@ tcl.mkTclDerivation rec {
     comment = meta.description;
     icon = "scid";
     exec = "scid";
-    categories = "Game;BoardGame;";
+    categories = [ "Game" "BoardGame" ];
   };
 
   meta = with lib; {
diff --git a/pkgs/games/scummvm/games.nix b/pkgs/games/scummvm/games.nix
index 2ffd176ccf6..b146bf1bc49 100644
--- a/pkgs/games/scummvm/games.nix
+++ b/pkgs/games/scummvm/games.nix
@@ -3,7 +3,7 @@
 
 let
   desktopItem = name: short: long: description: makeDesktopItem {
-    categories  = "Game;AdventureGame;";
+    categories  = [ "Game" "AdventureGame" ];
     comment     = description;
     desktopName = long;
     exec        = "@out@/bin/${short}";
diff --git a/pkgs/games/sdlpop/default.nix b/pkgs/games/sdlpop/default.nix
index f9b91e3dc15..f9f2f6d0dc9 100644
--- a/pkgs/games/sdlpop/default.nix
+++ b/pkgs/games/sdlpop/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     exec = "prince";
     desktopName = "SDLPoP";
     comment = "An open-source port of Prince of Persia";
-    categories = "Game;AdventureGame;";
+    categories = [ "Game" "AdventureGame" ];
   }) ];
 
   meta = with lib; {
diff --git a/pkgs/games/sienna/default.nix b/pkgs/games/sienna/default.nix
index 59f01f6a2c4..37138f152b6 100644
--- a/pkgs/games/sienna/default.nix
+++ b/pkgs/games/sienna/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     comment = "Fast-paced one button platformer";
     desktopName = "Sienna";
     genericName = "sienna";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/games/starsector/default.nix b/pkgs/games/starsector/default.nix
index 4aac0afb22b..95fb3988f28 100644
--- a/pkgs/games/starsector/default.nix
+++ b/pkgs/games/starsector/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
       comment = meta.description;
       genericName = "starsector";
       desktopName = "Starsector";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/system-syzygy/default.nix b/pkgs/games/system-syzygy/default.nix
index f01f93572ba..67bb6b71661 100644
--- a/pkgs/games/system-syzygy/default.nix
+++ b/pkgs/games/system-syzygy/default.nix
@@ -6,7 +6,7 @@ let
     exec = "@out@/bin/syzygy";
     comment = "A puzzle game";
     desktopName = "System Syzygy";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 in
 rustPlatform.buildRustPackage rec {
diff --git a/pkgs/games/tome2/default.nix b/pkgs/games/tome2/default.nix
index d40717c9a38..3440e183515 100644
--- a/pkgs/games/tome2/default.nix
+++ b/pkgs/games/tome2/default.nix
@@ -9,12 +9,10 @@ let
     name = pname;
     exec = "${pname}-x11";
     icon = pname;
-    terminal = "false";
     comment = description;
     type = "Application";
-    categories = "Game;RolePlaying;";
+    categories = [ "Game" "RolePlaying" ];
     genericName = pname;
-    fileValidation = false;
   };
 
 in stdenv.mkDerivation {
diff --git a/pkgs/games/tome4/default.nix b/pkgs/games/tome4/default.nix
index 581220c339c..70fbebe084c 100644
--- a/pkgs/games/tome4/default.nix
+++ b/pkgs/games/tome4/default.nix
@@ -15,10 +15,9 @@ stdenv.mkDerivation rec {
     name = pname;
     exec = "@out@/bin/${pname}";
     icon = pname;
-    terminal = "false";
     comment = "An open-source, single-player, role-playing roguelike game set in the world of Eyal.";
     type = "Application";
-    categories = "Game;RolePlaying;";
+    categories = [ "Game" "RolePlaying" ];
     genericName = pname;
   };
 
diff --git a/pkgs/games/unciv/default.nix b/pkgs/games/unciv/default.nix
index b6085fdce39..d58c9aee0de 100644
--- a/pkgs/games/unciv/default.nix
+++ b/pkgs/games/unciv/default.nix
@@ -14,7 +14,7 @@ let
     exec = "unciv";
     comment = "An open-source Android/Desktop remake of Civ V";
     desktopName = "Unciv";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   envLibPath = lib.makeLibraryPath [
diff --git a/pkgs/games/unvanquished/default.nix b/pkgs/games/unvanquished/default.nix
index f3f8c1413db..191d8c21807 100644
--- a/pkgs/games/unvanquished/default.nix
+++ b/pkgs/games/unvanquished/default.nix
@@ -135,25 +135,17 @@ in stdenv.mkDerivation rec {
       desktopName = "Unvanquished";
       comment = "FPS/RTS Game - Aliens vs. Humans";
       icon = "unvanquished";
-      terminal = false;
       exec = "unvanquished";
-      categories = "Game;ActionGame;StrategyGame;";
-      # May or may not work
+      categories = [ "Game" "ActionGame" "StrategyGame" ];
       prefersNonDefaultGPU = true;
-      fileValidation = false; # it doesn't like PrefersNonDefaultGPU
-      # yes, PrefersNonDefaultGPU is standard:
-      # https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
     })
     (makeDesktopItem {
       name = "net.unvanquished.UnvanquishedProtocolHandler.desktop";
       desktopName = "Unvanquished (protocol handler)";
       noDisplay = true;
-      terminal = false;
       exec = "unvanquished -connect %u";
-      mimeType = "x-scheme-handler/unv";
-      # May or may not work
+      mimeTypes = [ "x-scheme-handler/unv" ];
       prefersNonDefaultGPU = true;
-      fileValidation = false; # it doesn't like PrefersNonDefaultGPU
     })
   ];
 
diff --git a/pkgs/games/ut2004/wrapper.nix b/pkgs/games/ut2004/wrapper.nix
index 0f70a07ca8f..bf344372933 100644
--- a/pkgs/games/ut2004/wrapper.nix
+++ b/pkgs/games/ut2004/wrapper.nix
@@ -27,7 +27,7 @@ let
     desktopName = "Unreal Tournament 2004";
     comment = "A first-person shooter video game developed by Epic Games and Digital Extreme";
     genericName = "First-person shooter";
-    categories = "Game;";
+    categories = [ "Game" ];
     exec = "ut2004";
   };
 
diff --git a/pkgs/games/vintagestory/default.nix b/pkgs/games/vintagestory/default.nix
index 8c2e8573177..a14e80759b5 100644
--- a/pkgs/games/vintagestory/default.nix
+++ b/pkgs/games/vintagestory/default.nix
@@ -47,8 +47,7 @@ stdenv.mkDerivation rec {
     exec = "vintagestory";
     icon = "vintagestory";
     comment = "Innovate and explore in a sandbox world";
-    type = "Application";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   installPhase = ''
diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix
index fee4699aec9..00a8af6d8b7 100644
--- a/pkgs/games/worldofgoo/default.nix
+++ b/pkgs/games/worldofgoo/default.nix
@@ -8,11 +8,10 @@ let
   desktopItem = makeDesktopItem {
     desktopName = "World of Goo";
     genericName = "World of Goo";
-    categories = "Game;";
+    categories = [ "Game" ];
     exec = "WorldOfGoo.bin.${arch}";
     icon = "2dboy-worldofgoo";
     name = "worldofgoo";
-    type = "Application";
   };
 
 in
diff --git a/pkgs/games/xbill/default.nix b/pkgs/games/xbill/default.nix
index a20b52e7854..765af44936a 100644
--- a/pkgs/games/xbill/default.nix
+++ b/pkgs/games/xbill/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     icon = "xbill";
     desktopName = "XBill";
     comment     = "Get rid of those Wingdows viruses!";
-    categories  = "Game;ArcadeGame;";
+    categories  = [ "Game" "ArcadeGame" ];
   }) ];
 
   postInstall = ''
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index d5374c5446d..46b0b594d72 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -50,9 +50,9 @@ let
     exec = "xonotic";
     comment = meta.description;
     desktopName = "Xonotic";
-    categories = "Game;Shooter;";
+    categories = [ "Game" "Shooter" ];
     icon = "xonotic";
-    startupNotify = "false";
+    startupNotify = false;
   };
 
   xonotic-unwrapped = stdenv.mkDerivation rec {