2024-03-10 10:50:58 -07:00
|
|
|
{ config, lib, pkgs, user, ... }:
|
|
|
|
|
|
|
|
let cfg = config.modules.gaming.emulation;
|
|
|
|
in {
|
|
|
|
options.modules.gaming.emulation.enable = lib.mkEnableOption "emulation";
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
|
|
|
2024-10-11 17:00:24 -07:00
|
|
|
|
2024-03-10 10:50:58 -07:00
|
|
|
environment.systemPackages = with pkgs; [
|
2024-10-02 21:41:49 -07:00
|
|
|
ryujinx-archive # Nintendo Switch emulator written in C#.
|
2024-10-11 17:00:24 -07:00
|
|
|
sudachi # Nintendo Switch emulator written in C++.
|
2024-04-21 10:37:47 -07:00
|
|
|
dolphin-emu # GameCube and Wii emulator.
|
|
|
|
ppsspp # PSP emulator.
|
|
|
|
mgba # Game Boy Advance emulator.
|
2024-03-10 10:50:58 -07:00
|
|
|
(retroarch.override {
|
|
|
|
cores = with libretro; [
|
2024-04-21 10:37:47 -07:00
|
|
|
nestopia # Nintendo Entertainment System (NES) emulator.
|
|
|
|
snes9x # Super Nintendo Entertainment System (SNES) emulator.
|
|
|
|
mgba # Game Boy Advance emulator.
|
|
|
|
melonds # Nintendo DS emulator.
|
2024-05-04 15:00:39 -07:00
|
|
|
citra # Nintendo 3DS emulator.
|
2024-03-10 10:50:58 -07:00
|
|
|
];
|
|
|
|
})
|
|
|
|
];
|
2024-09-14 08:47:56 -07:00
|
|
|
|
|
|
|
age.secrets."emu/switch/prod.keys" = {
|
|
|
|
file = ../../secrets/emu/switch/prod.keys.age;
|
|
|
|
owner = "${user}";
|
|
|
|
group = "users";
|
|
|
|
};
|
|
|
|
age.secrets."emu/switch/title.keys" = {
|
|
|
|
file = ../../secrets/emu/switch/title.keys.age;
|
|
|
|
owner = "${user}";
|
|
|
|
group = "users";
|
|
|
|
};
|
2024-03-10 10:50:58 -07:00
|
|
|
};
|
|
|
|
}
|