All checks were successful
Check flake / build-amd64-linux (push) Successful in 2m53s
77 lines
1.6 KiB
Nix
77 lines
1.6 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
let
|
|
cfg = config.modules.programs.emulators;
|
|
in
|
|
{
|
|
options.modules.programs.emulators = {
|
|
ds.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
gb.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
gba.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
gamecube.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
ps1.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
ps2.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
ps3.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
psp.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
snes.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
switch.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
wii.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
xbox.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
};
|
|
|
|
config = {
|
|
user.packages = with pkgs; [
|
|
(lib.mkIf cfg.ps1.enable duckstation)
|
|
(lib.mkIf cfg.ps2.enable unstable.pcsx2)
|
|
(lib.mkIf cfg.ps3.enable rpcs3)
|
|
(lib.mkIf cfg.psp.enable unstable.ppsspp)
|
|
(lib.mkIf cfg.ds.enable desmume)
|
|
(lib.mkIf (cfg.gba.enable || cfg.gb.enable || cfg.snes.enable) higan)
|
|
(lib.mkIf cfg.switch.enable yuzuPackages.mainline)
|
|
(lib.mkIf (cfg.wii.enable || cfg.gamecube.enable) dolphin-emu)
|
|
(lib.mkIf cfg.xbox.enable unstable.xemu)
|
|
];
|
|
};
|
|
}
|