{ lib, pkgs, namespace, ... }: let inherit (lib.${namespace}) enabled; in { home.username = "matt"; ${namespace} = { desktop.gnome = enabled; sops.enable = true; programs = { vesktop = enabled; }; }; sops.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) dolphin-emu.enable = true; # GameCube / Wii cemu.enable = false; # 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 = false; # PS1 pcsx2.enable = true; # PS2 rpcs3.enable = true; # PS3 ppsspp.enable = true; # PSP # --- Microsoft --- xemu.enable = true; # Xbox # --- Platform parsers (no ROM scanning; artwork only / launcher integration) --- "Non-SRM Shortcuts".enable = true; }; }; }; home.packages = with pkgs; [ dolphin-emu heroic mgba moonlight-qt prismlauncher ryubing omnissa-horizon-client ] ++ (with pkgs.${namespace}; [ discord-krisp # librepods-beta ]); }