diff --git a/services/wolf.sh b/services/wolf.sh index ca2d2b9..04259c5 100644 --- a/services/wolf.sh +++ b/services/wolf.sh @@ -708,7 +708,8 @@ UDEV "$GAME_STORAGE_DIR/kodi" "$GAME_STORAGE_DIR/emulators" \ "$GAME_STORAGE_DIR/steam-cache" \ "$GAME_STORAGE_DIR/bios" "$GAME_STORAGE_DIR/retroarch/cores" \ - "$GAME_STORAGE_DIR/retroarch/shaders" "$GAME_STORAGE_DIR/retroarch/overlays" + "$GAME_STORAGE_DIR/retroarch/shaders" "$GAME_STORAGE_DIR/retroarch/overlays" \ + "$GAME_STORAGE_DIR/retro-home" # ── Wolf state folder on the game drive ─────────────────────────────────── # This is the clean way to keep Steam (and everything else) off the OS @@ -759,6 +760,14 @@ UDEV done chown -R "$ACTUAL_USER:$ACTUAL_USER" "$GAME_STORAGE_DIR" 2>/dev/null || true + # The GoW app containers' 'retro' user is hardcoded to uid 1000 regardless + # of what ACTUAL_USER's own uid happens to be — force these two directly + # onto 1000:1000 so they're writable inside the container even when + # ACTUAL_USER isn't uid 1000. Both are mounted at/under /home/retro/.config + # (see the esde/retroarch CATALOG mounts) — retro-home in particular is + # what /home/retro/.config itself binds to, so anything an app writes + # there directly (Waybar, Sway, RetroArch's own state) needs this. + chown -R 1000:1000 "$GAME_STORAGE_DIR/retro-home" "$GAME_STORAGE_DIR/retroarch" 2>/dev/null || true log_success "Storage layout: $GAME_STORAGE_DIR/{roms//,steam,saves,media,emulators,...}" log_info "ES-DE ROM directories pre-created. Drop ROMs in the matching subfolder." @@ -1316,6 +1325,7 @@ CATALOG = { f'{games}/saves:/mnt/games/saves:rw', f'{games}/media:/media:rw', f'{games}/bios:/home/retro/bioses:rw', + f'{games}/retro-home:/home/retro/.config:rw', f'{games}/retroarch:/home/retro/.config/retroarch:rw', f'{games}/emulators:/mnt/games/emulators:rw', f'{games}/emulators:/home/retro/Applications:rw'], @@ -1340,6 +1350,7 @@ CATALOG = { mounts=[f'{games}/roms:/ROMs:rw', f'{games}/saves:/mnt/games/saves:rw', f'{games}/bios:/home/retro/bioses:rw', + f'{games}/retro-home:/home/retro/.config:rw', f'{games}/retroarch:/home/retro/.config/retroarch:rw'], env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, @@ -2613,6 +2624,7 @@ CATALOG = { f'{games}/saves:/mnt/games/saves:rw', f'{games}/media:/media:rw', f'{games}/bios:/home/retro/bioses:rw', + f'{games}/retro-home:/home/retro/.config:rw', f'{games}/retroarch:/home/retro/.config/retroarch:rw', f'{games}/emulators:/mnt/games/emulators:rw', f'{games}/emulators:/home/retro/Applications:rw'], @@ -2637,6 +2649,7 @@ CATALOG = { mounts=[f'{games}/roms:/ROMs:rw', f'{games}/saves:/mnt/games/saves:rw', f'{games}/bios:/home/retro/bioses:rw', + f'{games}/retro-home:/home/retro/.config:rw', f'{games}/retroarch:/home/retro/.config/retroarch:rw'], env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False,