diff --git a/modules/base-system.nix b/modules/base-system.nix
index 2ce82ea..ff5019f 100644
--- a/modules/base-system.nix
+++ b/modules/base-system.nix
@@ -44,6 +44,7 @@ in {
(_: super: {
"2i-emulator" = super.callPackage ../pkgs/2i-emulator.nix {};
darkman = super.callPackage ../pkgs/darkman.nix {};
+ emulationstation-de = lib.warn "I'm overriding emulationstation-de. Keep a look out for updates, will ya?" (super.callPackage ../pkgs/emulationstation-de.nix {});
hack-nerdfont = super.nerdfonts.override {fonts = ["Hack"];};
})
];
diff --git a/pkgs/emudeck.nix b/pkgs/emudeck.nix
index 322d912..bbd72ad 100644
--- a/pkgs/emudeck.nix
+++ b/pkgs/emudeck.nix
@@ -17,7 +17,7 @@ in
extraPkgs = pkgs:
with pkgs; [
jq
- gnome.zenity
+ zenity
unzip
bash
fuse
diff --git a/pkgs/emulationstation-de.nix b/pkgs/emulationstation-de.nix
new file mode 100644
index 0000000..50e4cde
--- /dev/null
+++ b/pkgs/emulationstation-de.nix
@@ -0,0 +1,78 @@
+{
+ lib,
+ stdenv,
+ alsa-lib,
+ cmake,
+ curl,
+ fetchzip,
+ ffmpeg,
+ freeimage,
+ freetype,
+ harfbuzz,
+ icu,
+ libgit2,
+ pkg-config,
+ poppler,
+ pugixml,
+ SDL2,
+ ...
+}:
+
+let
+ version = "3.1.0";
+ hash = "sha256-v9nOY9T5VOVLBUKoDXqwYa1iYvW42iGA+3kpPUOmHkg=";
+in stdenv.mkDerivation {
+ pname = "emulationstation-de";
+ inherit version;
+
+ src = fetchzip {
+ url = "https://gitlab.com/es-de/emulationstation-de/-/archive/v${version}/emulationstation-de-v${version}.tar.gz";
+ inherit hash;
+ };
+
+ patches = [ ./emulationstation-de.patch ];
+
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ ];
+
+ buildInputs = [
+ alsa-lib
+ curl
+ ffmpeg
+ freeimage
+ freetype
+ harfbuzz
+ icu
+ libgit2
+ poppler
+ pugixml
+ SDL2
+ ];
+
+ installPhase = ''
+ install -D ../es-de $out/bin/es-de
+ install -D ../es-pdf-convert $out/bin/es-pdf-convert
+ install -D ../LICENSE $out/share/es-de/LICENSE
+ install -D ../es-app/assets/es-de.6.gz $out/share/man/man6/es-de.6.gz
+ install -D ../es-app/assets/org.es_de.frontend.desktop $out/share/applications/org.es_de.frontend.desktop
+ install -D ../es-app/assets/org.es_de.frontend.appdata.xml $out/share/metainfo/org.es_de.frontend.appdata.xml
+ install -D ../es-app/assets/org.es_de.frontend.svg $out/share/icons/hicolor/scalable/apps/org.es_de.frontend.svg
+ install -D ../es-app/assets/org.es_de.frontend.svg $out/share/pixmaps/org.es_de.frontend.svg
+
+ mkdir -p $out/share/es-de/
+ cp -r ../licenses/ $out/share/es-de/licenses/
+ cp -r ../themes/ $out/share/es-de/themes/
+ cp -r ../resources/ $out/share/es-de/resources/
+ '';
+
+ meta = {
+ description = "EmulationStation Desktop Edition is a frontend for browsing and launching games from your multi-platform game collection";
+ homepage = "https://es-de.org";
+ maintainers = with lib.maintainers; [ ivarmedi ];
+ license = lib.licenses.mit;
+ platforms = lib.platforms.linux;
+ mainProgram = "emulationstation";
+ };
+}
diff --git a/pkgs/emulationstation-de.patch b/pkgs/emulationstation-de.patch
new file mode 100644
index 0000000..48b25f2
--- /dev/null
+++ b/pkgs/emulationstation-de.patch
@@ -0,0 +1,18 @@
+--- a/resources/systems/unix/es_find_rules.xml
++++ b/resources/systems/unix/es_find_rules.xml
+@@ -19,6 +19,8 @@
+ ~/.config/retroarch/cores
+
+ /usr/local/lib/libretro
++
++ /run/current-system/sw/lib/retroarch/cores
+
+
+
+@@ -667,4 +669,4 @@
+ ~/bin/ZEsarUX/zesarux
+
+
+-
+\ No newline at end of file
++