# `oliver` `oliver` is a CLI mod manager for Baldur's Gate 3. ## Installation ### via crates.io `oliver` can be installed via crates.io: ``` cargo install oliver ``` ## Usage Usage information for `oliver` can be printed by running `oliver --help`: ``` Lightweight CLI mod manager for Baldur's Gate 3 on Linux Usage: oliver Commands: export Exports the currently installed mods and the mod order to single compressed file import Imports the mods from compressed file install Install one or more mods list List all mods currently installed use parse Print a summary of the contents in a given file help Print this message or the help of the given subcommand(s) Options: -h, --help Print help -V, --version Print version ``` ## FAQ **Does Baldur's Gate 3 even support Linux?** Natively, the game does not run on Linux. However, Steam provides a built-in tool called [Proton](https://github.com/ValveSoftware/Proton) that can be enabled for running Windows games on Linux. While compatibility for games is made on a best-effort basis, in practice a fairly large number of games work well on Linux via Proton. A large number of the compatibility issues that do arise are related to anti-cheat measures, which Baldur's Gate 3 does not utilize (presumably in part due to not featuring competitive online multiplayer). Proton is based on the venerable open source tool [Wine](https://www.winehq.org/); essentially, Proton is an augmentation of Wine for running things specifically with the Steam runtime. **Are there any Baldur's Gate 3 mod managers supporting Linux already?** Yes; [Lampray](https://github.com/CHollingworth/Lampray) is a mod manager that has explicit support for Baldur's Gate and Linux. **Can Windows mod managers be run on Linux?** Using Wine, it is theoretically possible to run most Windows applications on Linux. However, support is usually not explicitly provided for Wine-specific issues, and how smoothly things run varies greatly by application and configuration. **Why should I use `oliver` instead of one of the existing mod managers?** First, if you're already happy using an existing mod manager, keep using it! Not every application will to appeal to all users, and `oliver` is no different. Similarly, if you haven't used a mod manager yet, consider looking into multiple options to make sure you find the experience that's right for you. Although it doesn't directly support running on Linux [BG3ModManager](https://github.com/LaughingLeader/BG3ModManager) is the most widely used mod manager for Baldur's Gate 3, and any mod you want to use likely was tested by the author using it. As mentioned above. [Lampray](https://github.com/CHollingworth/Lampray), as mentioned above, is another alternative and does support running natively on Linux. The main selling point of `oliver` (and the reason it was written) is that it's minimal in terms of both configuration and features, with the intent that it should be easy to use without needing much setup or configuration. Rather than keeping track of mods and load orders separately, `oliver` directly reads settings and installs the mods to the files that the game uses. Installing a mod with `oliver` should be indistinguishable from editing the settings files and adding the mod files by hand, so you can freely switch between using it and managing mods manually without issue. **Why is `oliver` specifically for Linux?** While there isn't much reason that `oliver` couldn't run on Windows, there also isn't much point; pretty much everyone on Windows is already using BG3ModManager, and the level of support mods have for it is unparalleled. Up until I wrote `oliver`, I ran BG3ModManager via Wine, but it wasn't consistently a reliable running that way due not not being designed for it. I preferred coming up with my solution rather than asking the developer to spend additional effort to try to support an entirely new platform that they don't use personally. Because `oliver` was designed for my own specific use case, handling the cases where Linux and Windows behave differently and how the game files are laid out on each system simply wasn't necessary and would have been extra work. **Why is it named `oliver`?** Oliver is the name of one of my two cats (pictured below). My other cat is named Xiba, which is what I'll call the eventual GUI version of this mod manager (which was the initial conception of the project before I open sourced it, hence the name of the repo). [![Oliver](./oliver.jpg)](#oliver-img)