2024-02-27 07:27:08 +05:30
|
|
|
{ pkgs, pkgs-stable, ... }:
|
2023-06-07 19:08:52 +05:30
|
|
|
let
|
|
|
|
myRetroarch =
|
|
|
|
(pkgs.retroarch.override {
|
|
|
|
cores = with pkgs.libretro; [
|
2023-12-22 07:56:08 +05:30
|
|
|
vba-m
|
2024-01-02 09:25:19 +05:30
|
|
|
(desmume.overrideAttrs (oldAttrs: {
|
|
|
|
preConfigure = ''
|
|
|
|
sed -i 's/0009BF123456/0022AA067857/g' desmume/src/firmware.cpp;
|
|
|
|
sed -i 's/outConfig.MACAddress\[0\] = 0x00/outConfig.MACAddress[0] = 0x00/g' desmume/src/firmware.cpp;
|
|
|
|
sed -i 's/outConfig.MACAddress\[1\] = 0x09/outConfig.MACAddress[1] = 0x22/g' desmume/src/firmware.cpp;
|
|
|
|
sed -i 's/outConfig.MACAddress\[2\] = 0xBF/outConfig.MACAddress[2] = 0xAA/g' desmume/src/firmware.cpp;
|
|
|
|
sed -i 's/outConfig.MACAddress\[3\] = 0x12/outConfig.MACAddress[3] = 0x06/g' desmume/src/firmware.cpp;
|
|
|
|
sed -i 's/outConfig.MACAddress\[4\] = 0x34/outConfig.MACAddress[4] = 0x78/g' desmume/src/firmware.cpp;
|
|
|
|
sed -i 's/outConfig.MACAddress\[5\] = 0x56/outConfig.MACAddress[5] = 0x57/g' desmume/src/firmware.cpp;
|
|
|
|
sed -i 's/0x00, 0x09, 0xBF, 0x12, 0x34, 0x56/0x00, 0x22, 0xAA, 0x06, 0x78, 0x57/g' desmume/src/wifi.cpp;
|
|
|
|
'';
|
|
|
|
}))
|
2023-06-02 03:24:14 +05:30
|
|
|
dolphin
|
|
|
|
genesis-plus-gx
|
2024-01-27 20:09:32 +05:30
|
|
|
] ++ [pkgs-stable.libretro.citra];
|
2023-06-07 19:08:52 +05:30
|
|
|
});
|
|
|
|
in
|
|
|
|
{
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
# Games
|
2024-01-04 06:16:17 +05:30
|
|
|
pegasus-frontend
|
2023-06-07 19:08:52 +05:30
|
|
|
myRetroarch
|
2024-01-04 06:16:17 +05:30
|
|
|
libfaketime
|
2023-05-14 07:32:25 +05:30
|
|
|
airshipper
|
|
|
|
qjoypad
|
2023-08-13 22:44:31 +05:30
|
|
|
superTux
|
|
|
|
superTuxKart
|
2023-12-30 22:35:40 +05:30
|
|
|
|
|
|
|
# I installed these in distrobox
|
|
|
|
# and exported using distrobox-export
|
|
|
|
(pkgs.makeDesktopItem {
|
|
|
|
name = "pokefinder";
|
|
|
|
desktopName = "PokeFinder";
|
|
|
|
exec = "/home/emmet/.local/bin/pokefinder";
|
|
|
|
terminal = false;
|
|
|
|
type = "Application";
|
|
|
|
})
|
2024-01-04 06:16:17 +05:30
|
|
|
(pkgs.makeDesktopItem {
|
|
|
|
name = "eontimer";
|
|
|
|
desktopName = "EonTimer";
|
|
|
|
exec = "/home/emmet/.local/bin/eontimer";
|
|
|
|
terminal = false;
|
|
|
|
type = "Application";
|
|
|
|
})
|
2023-05-14 07:32:25 +05:30
|
|
|
];
|
2023-12-02 22:16:03 +05:30
|
|
|
|
|
|
|
nixpkgs.config = {
|
|
|
|
allowUnfree = true;
|
|
|
|
allowUnfreePredicate = (_: true);
|
|
|
|
};
|
|
|
|
|
2023-06-07 19:08:52 +05:30
|
|
|
# The following 2 declarations allow retroarch to be imported into gamehub
|
|
|
|
# Set retroarch core directory to ~/.local/bin/libretro
|
|
|
|
# and retroarch core info directory to ~/.local/share/libretro/info
|
|
|
|
home.file.".local/bin/libretro".source = "${myRetroarch}/lib/retroarch/cores";
|
2024-01-14 07:31:44 +05:30
|
|
|
home.file.".local/bin/libretro-shaders".source = "${myRetroarch}/lib/retroarch/cores";
|
2023-06-07 19:08:52 +05:30
|
|
|
home.file.".local/share/libretro/info".source = fetchTarball {
|
|
|
|
url = "https://github.com/libretro/libretro-core-info/archive/refs/tags/v1.15.0.tar.gz";
|
|
|
|
sha256 = "004kgbsgbk7hn1v01jg3vj4b6dfb2cp3kcp5hgjyl030wqg1r22q";
|
|
|
|
};
|
2023-12-22 08:39:44 +05:30
|
|
|
|
2023-05-14 07:32:25 +05:30
|
|
|
}
|