Uses Bash scripts, symbolic links and overlayfs to separate different mod profiles from each other.
Permissions and credits
Author's instructions
Copyright 2023 alterNERDtive.
This file is part of BG3 Mod Profiles for Linux.
BG3 Mod Profiles for Linux is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
BG3 Mod Profiles for Linux is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with BG3 Mod Profiles for Linux. If not, see <https://www.gnu.org/licenses/>.
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Fixed: `bg3version` now respects the installation folder set in the config file.
Version 2.0.0
Added: **Experimental** BTRFS snapshot support for the game installation folder, see README in git.
Fixed: Unintended error message when the config file does not exist.
Version 1.1.1
Fixed: Rogue `exit` statement left over from debugging breaking the overlay …
Version 1.1.0
DEPRECATED: overlay hooks should no longer be placed in the installation folder of the scripts. They will still work, for now, and be executed in addition to the hooks in the new default location.
Added configuration file (see README). The scripts can now be used with the GOG (or any other) version of the game if the game paths are set in the configuration.
Moved overlay hooks to the configuration folder.
Version 1.0.0
**BREAKING CHANGE**: Support for the “Script Extender” folder means you will have to copy your “Script Extender” folder across profiles (or sym link it) if you want to retain your Script Extender mods settings/data across profiles.
Changing profile now also automatically runs `--link [PROFILE]` to make sure that additions like the Script Extender folder will not break existing profiles.
Added `--link [PROFILE]` command. It will check for all required sym link, and create required folders that don’t exist in the given PROFILE. If no profile is given, checks the current one.
Added support for the “Script Extender” folder. Many mods save their configuration there, and configuration files in this folder can have a huge impact on how the game plays. It should be per profile. You can still sym link the folder across profiles!
This is not a mod manager! It is a collection of Bash scripts that can manage separate sets of mods in conjunction with a mod manager like BG3 Mod Manager or Lamp.
Features
Store an arbitrary amount of profiles. Each of them contains distinct "Mods" folders, mod settings files and loose files mods.
Create and switch between your profiles via shell script.
Mount loose files mods into your game folder at runtime via overlayfs.
Keep loose files mods separate! No more “which files did that add⁈” when you want to uninstall one of them.
Installation
Install whatever package(s) provide(s) `fusermount` and `fuse-overlayfs` for your distribution.
Clone this repository or grab an archive and extract it somewhere.
Optional: add `bg3overlay` and `bg3switch` to your `PATH`.
Optional: create `bg3overlay.pre` and `bg3overlay.post` files. They will be executed before mounting and after unmounting the overlay, respectively.
Create a new mod profile using `bg3switch --create PROFILE`.
Change Baldur’s Gate 3’s launch options in Steam to `bg3overlay --enable && %command% ; bg3overlay --disable`. Ifyou already had launch options set, don’t forget to keep them. If you did not add the scripts to your `PATH`, you need to add the full `/path/to/bg3overlay`.