diff --git a/nix/steam_deck/configuration/hosts/deck/default.nix b/nix/steam_deck/configuration/hosts/deck/default.nix index b21f52f..fb5c5e5 100644 --- a/nix/steam_deck/configuration/hosts/deck/default.nix +++ b/nix/steam_deck/configuration/hosts/deck/default.nix @@ -13,6 +13,6 @@ me.ship2harkinian.enable = true; me.shipwright.enable = true; me.sm64ex.enable = true; - me.steam_rom_manager.enable = false; # Steam rom manager UI does not render. I think it wants to be in an AppImage. + me.steam_rom_manager.enable = true; # Steam rom manager UI does not render. I think it wants to be in an AppImage. }; } diff --git a/nix/steam_deck/configuration/roles/steam_rom_manager/default.nix b/nix/steam_deck/configuration/roles/steam_rom_manager/default.nix index 655d00e..95b4bb6 100644 --- a/nix/steam_deck/configuration/roles/steam_rom_manager/default.nix +++ b/nix/steam_deck/configuration/roles/steam_rom_manager/default.nix @@ -1,10 +1,14 @@ { + stdenv, config, lib, pkgs, ... }: +let + package = (pkgs.callPackage ./package.nix { }); +in { imports = [ ]; @@ -21,9 +25,8 @@ lib.mkMerge [ (lib.mkIf config.me.graphical { home.packages = with pkgs; [ - (config.lib.nixGL.wrap steam-rom-manager) + package ]; - }) ] ); diff --git a/nix/steam_deck/configuration/roles/steam_rom_manager/package.nix b/nix/steam_deck/configuration/roles/steam_rom_manager/package.nix new file mode 100644 index 0000000..05c6f39 --- /dev/null +++ b/nix/steam_deck/configuration/roles/steam_rom_manager/package.nix @@ -0,0 +1,43 @@ +{ + stdenv, + lib, + pkgs, + makeDesktopItem, +}: + +let + version = "2.5.29"; +in +stdenv.mkDerivation { + name = "steam-rom-manager"; + src = pkgs.fetchurl { + url = "https://github.com/SteamGridDB/steam-rom-manager/releases/download/v${version}/Steam-ROM-Manager-${version}.AppImage"; + hash = "sha256-6ZJ+MGIgr2osuQuqD6N9NnPiJFNq/HW6ivG8tyXUhvs="; + }; + phases = [ + "installPhase" + ]; + installPhase = '' + runHook preInstall + mkdir -p $out/bin + install --mode=0755 $src $out/bin/steam-rom-manager + runHook postInstall + ''; + postInstall = '' + mkdir -p $out/share/applications + install -m 444 -D "$desktopItem/share/applications/"* -t $out/share/applications/ + ''; + + desktopItem = makeDesktopItem { + name = "steam-rom-manager"; + desktopName = "Steam Rom Manager"; + comment = "Manage additional entries in the Steam launcher."; + categories = [ + "Application" + "Utility" + ]; + icon = "steam-rom-manager"; + type = "Application"; + exec = "steam-rom-manager"; + }; +}