Add emulation module (steam, wine, retroarch, pcsx2, ppsspp) + pi config

This commit is contained in:
Scott Scoble 2026-05-17 01:16:27 -07:00
parent b00ae1feb3
commit 3e2fe60219
4 changed files with 107 additions and 4 deletions

32
modules/emulation.nix Normal file
View file

@ -0,0 +1,32 @@
{ config, pkgs, ... }:
{
# === Gaming / Emulation ===
# Emulators, Steam, Wine for Windows apps, and Xbox One controller support.
# Modern kernels have xpad built-in for Xbox One controllers.
# User is added to the "input" group below for controller permissions.
# Steam — proper NixOS module (sets up FHS, udev, etc.)
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Steam Remote Play
dedicatedServer.openFirewall = true; # Factorio headless etc.
};
environment.systemPackages = with pkgs; [
# Windows apps via Wine (Logos Bible Software, etc.)
wineWow64Packages.stable
# Retroarch + cores (NES/SNES/PS1)
retroarch
# Standalone PS2 emulator
pcsx2
# Standalone PSP emulator
ppsspp-sdl
];
# Add user to input group for controller access
# (xpad kernel module handles Xbox One controllers automatically)
users.users.sscoble = {
extraGroups = [ "input" ];
};
}

View file

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{
imports = [ ../hardware-configuration.nix ];
imports = [ ../hardware-configuration.nix ./emulation.nix ];
# === System Packages ===
environment.systemPackages = with pkgs; [