{ config, lib, pkgs, ... }: with lib; with lib.my; let cfg = config.modules.desktop.gaming.emulators; in { options.modules.desktop.gaming.emulators = { ds.enable = mkBoolOpt false; gb.enable = mkBoolOpt false; gba.enable = mkBoolOpt false; gamecube.enable = mkBoolOpt false; ps2.enable = mkBoolOpt false; ps3.enable = mkBoolOpt false; psp.enable = mkBoolOpt false; snes.enable = mkBoolOpt false; wii.enable = mkBoolOpt false; }; config = { user.packages = with pkgs; [ (mkIf cfg.ps2.enable pcsx2) (mkIf cfg.ps3.enable rpcs3) (mkIf cfg.psp.enable ppsspp) (mkIf cfg.ds.enable desmume) (mkIf (cfg.gba.enable || cfg.gb.enable || cfg.snes.enable) higan) (mkIf (cfg.wii.enable || cfg.gamecube.enable) dolphin-emu) ]; }; }