Go to file
2023-12-02 21:51:45 +01:00
lmm Before doing anything, check if we COULD start 2023-12-02 21:51:08 +01:00
.gitignore Initial commit 2023-12-02 17:45:16 +01:00
LICENSE Add a license 2023-12-02 21:42:30 +01:00
pyproject.toml Add black 2023-12-02 17:46:48 +01:00
README.md Add the path the the config as a comment 2023-12-02 21:51:45 +01:00

Linux Mod Manager

A very simple (and bad) mod manager for Linux. It is inspired by ModOrganizer2's virtual file system and provides similar functionality using OverlayFS.

Supported Games

  • Baldur's Gate 3 (Both PAK mods and game-file mods)
  • Ready Or Not
    • Implemented
    • The mod structure has to be manually managed, i.e. PAKs must reside in the correct directory relative to their installation path
  • Project Diva Mega Mix+

Mod Configuration

LMM looks for mod configurations by parsing ~/.local/share/lmm/<game id>/config.yaml. That file describes some game information and the mod profiles.

# Example for Project Diva Mega Mix+
# ~/.local/share/lmm/ProjectDivaMegaMix/config.yaml
default_runner:
  type: steam.flatpak
profiles:
  - name: "All the mods"
    mods:
      - name: "DivaModLoader"
      - name: "HighRefreshRate"
      - name: "DivaNoSpy"
      - name: "BringBackTiePhysics"
      - name: "BreakingBad"
      - name: "RestoreCutSongs"
      - name: "F2ndLoadingScreen"
      - name: "F2ndSongPack"

Every mod refers to a directory of the same name in ~/.local/share/lmm/<game id>.

To launch a game with the corresponding profile use lmm launch -g <game id> -p <profile name>. This will either use the profile specific runner or the game's default runner. Currently, only the Steam flatpak runner is implemented.

After that, LMM will poll the process list to find the game process and then poll that process to find out when the game exited.

Installation

Run pip install ..

License

See LICENSE.