{ lib, pkgs, namespace, ... }: let inherit (lib.${namespace}) enabled; in { home.username = "matt"; ${namespace}.desktop.gnome = enabled; sops = { age.keyFile = "/home/matt/.config/sops/age/keys.txt"; defaultSopsFile = "/etc/nixos/secrets/secrets.yaml"; validateSopsFiles = false; secrets = { "ssh-keys-public/matt" = { path = "/home/matt/.ssh/id_ed25519.pub"; mode = "0644"; }; "ssh-keys-private/matt" = { path = "/home/matt/.ssh/id_ed25519"; mode = "0600"; }; }; }; programs = { steam-rom-manager = { enable = true; steamUsername = "mjallen18"; environmentVariables = { romsDirectory = "/media/sdcard/Emulation/roms"; steamDirectory = "/home/matt/.local/share/Steam"; }; enabledProviders = [ "sgdb" "steamCDN" ]; imageProviderSettings.sgdb = { nsfw = false; humor = false; imageMotionTypes = [ "static" ]; }; emulators = { # --- Nintendo --- ryujinx.enable = true; # Switch (ryubing fork) yuzu.enable = true; # Switch (eden fork) mesen.enable = true; # NES snes9x.enable = true; # SNES mupen64plus.enable = true; # N64 dolphin-emu.enable = true; # GameCube / Wii cemu.enable = true; # Wii U melonDS.enable = true; # DS citra.enable = true; # 3DS (azahar fork) mgba.enable = true; # Game Boy / GBC mgba-gba.enable = true; # Game Boy Advance # --- Sony --- duckstation.enable = true; # PS1 pcsx2.enable = true; # PS2 rpcs3.enable = true; # PS3 ppsspp.enable = true; # PSP # --- Sega --- blastem.enable = true; # Genesis / Mega Drive flycast.enable = true; # Dreamcast mednaffe.enable = true; # Saturn # --- Microsoft --- xemu.enable = true; # Xbox dosbox.enable = true; # DOS dosbox-staging.enable = true; # --- Arcade / Multi-system --- mame.enable = true; retroarch.enable = true; ares.enable = false; # --- Other --- scummvm.enable = true; stella.enable = true; # Atari 2600 "fs-uae".enable = true; # Amiga # --- Platform parsers (no ROM scanning; artwork only / launcher integration) --- "Non-SRM Shortcuts".enable = true; epic.enable = true; legendary.enable = true; # Epic via legendary-gl CLI gog.enable = true; "itch.io".enable = true; }; }; }; home.packages = with pkgs; [ dolphin-emu heroic mgba moonlight-qt prismlauncher ryubing omnissa-horizon-client ] ++ (with pkgs.${namespace}; [ discord-krisp librepods-beta ]); }