Add a desktop file for sm64ex.

This commit is contained in:
Tom Alexander 2025-02-15 19:31:16 -05:00
parent 46b21370bd
commit 54860370c0
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE

View File

@ -23,7 +23,7 @@
allowedUnfree = [ "sm64ex" ];
home.packages = with pkgs; [
(config.lib.nixGL.wrap sm64ex)
sm64ex
];
# nixpkgs.overlays = [
@ -43,6 +43,41 @@
".local/share/sm64ex/sm64_save_file.bin"
];
};
nixpkgs.overlays = [
(final: prev: {
sm64ex =
let
desktop_item = pkgs.makeDesktopItem {
name = "sm64ex";
desktopName = "Super Mario 64";
comment = "A PC Port of Super Mario 64.";
categories = [
"Game"
];
icon = "sm64ex";
type = "Application";
exec = "sm64ex";
};
in
pkgs.buildEnv {
name = prev.sm64ex.name;
paths = [
(config.lib.nixGL.wrap prev.sm64ex)
];
extraOutputsToInstall = [
"man"
"doc"
"info"
];
# We have to use 555 instead of the normal 444 here because the .desktop file ends up inside $HOME on steam deck and desktop files must be either not in $HOME or must be executable, otherwise KDE Plasma refuses to execute them.
postBuild = ''
install -m 555 -D "${desktop_item}/share/applications/"* -t $out/share/applications/
install -m 444 -D "${./files/icon.png}" $out/share/pixmaps/sm64ex.png
'';
};
})
];
})
]
);