{ lib, config, pkgs, ... }: with lib; let cfg = config.roles.desktop; in { config = mkMerge [ (mkIf (cfg.enable && cfg.gaming.enable) { environment.systemPackages = with pkgs; [ steam lutris moonlight ]; # Possibly other gaming specific services or settings }) (mkIf (cfg.enable && cfg.gaming.emulation) { environment.systemPackages = with pkgs; [ dolphin-emu dolphin-emu-primehack retroarch-full ryubing ]; # TODO: Remove me once dolphin-emu and dolphin-emu-primehack update # dependencies to mbedtls from mbedtls_2 (which is currently) # unmaintained nixpkgs.config.permittedInsecurePackages = [ "mbedtls-2.28.10" ]; warnings = [ "Using insecure mbedtls-2.28.10 for Dolphin Emu - check for updates regularly" ]; }) ]; }