{"id":15021558,"url":"https://github.com/limo-app/limo","last_synced_at":"2025-04-05T23:07:31.150Z","repository":{"id":252826012,"uuid":"841554568","full_name":"limo-app/limo","owner":"limo-app","description":"A simple Qt based mod manager","archived":false,"fork":false,"pushed_at":"2024-10-15T20:06:24.000Z","size":1893,"stargazers_count":108,"open_issues_count":22,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-17T05:26:59.854Z","etag":null,"topics":["gui-application","modding-tools","qt"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/limo-app.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-12T16:30:08.000Z","updated_at":"2024-10-16T03:53:30.000Z","dependencies_parsed_at":"2024-08-17T22:28:07.601Z","dependency_job_id":"a0ad32b5-cfb4-497a-8a8b-5113a17454cd","html_url":"https://github.com/limo-app/limo","commit_stats":{"total_commits":50,"total_committers":3,"mean_commits":"16.666666666666668","dds":"0.16000000000000003","last_synced_commit":"5416a515ed510538e61665795e47b37e7dfc51fd"},"previous_names":["limo-app/limo"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/limo-app%2Flimo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/limo-app%2Flimo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/limo-app%2Flimo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/limo-app%2Flimo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/limo-app","download_url":"https://codeload.github.com/limo-app/limo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247411234,"owners_count":20934653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gui-application","modding-tools","qt"],"created_at":"2024-09-24T19:56:43.228Z","updated_at":"2025-04-05T23:07:31.123Z","avatar_url":"https://github.com/limo-app.png","language":"C++","funding_links":[],"categories":["Mod Managers"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eLimo \u003cimg src=\"resources/logo.png\" alt=\"logo\" width=\"40\"/\u003e\u003c/h1\u003e\n\nGeneral purpose mod manager primarily developed for Linux with support for the [NexusMods](https://www.nexusmods.com/) API and [LOOT](https://loot.github.io/).\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"resources/showcase.png\" alt=\"logo\" width=\"800\"/\u003e\n\u003c/p\u003e\n\n## Features\n\n- Multiple target directories per application\n- Automatic adaptation of mod file names to prevent issues with case mismatches\n- Auto-Tagging system for filtering\n- FOMOD support\n- Sort load order according to conflicts\n- Import installed games from Steam\n- Simple backup system\n- LOOT integration:\n    - Manage installed plugins\n    - Automatically sort the load order\n    - Check for issues with installed plugins\n- NexusMods API support:\n    - Check for mod updates\n    - View description, changelogs and available files\n    - Download mods through Limo\n- OpenMW support:\n    - Manages plugin and archive (.bsa) files\n    - Supports LOOT\n    \n## How Limo works\n\nThere are two basic concepts you should know in order to understand how Limo works:\nThe *Staging Directory* and *Deployers*.\n\n### Staging Directory\nWhenever you install a mod, Limo does not change any file of the game you wish to mod immediately.\nIt instead stores all of the mod's files inside of the so called *Staging Directory*. This has the advantage of allowing\nyou to quickly change which mods should be enabled or win conflicts, should there be any.\n\n### Deployers\nIn order to actually change the game you are trying to mod, there needs to be a mechanism which takes mods from the\n*Staging Directory* and puts them into the game's directory. This is what *Deployers* do. Each *Deployer* manages\nhowever many mods you assign to it and then links them into its *Target Directory*, which is the game's directory.\nIf there are any conflicts between mods, the mod lower in the *Deployer's* load order will win. Should any files in \nthe *Target Directory* need to be overwritten, a backup is automatically created and restored when the mod is no\nlonger active.\n    \n***For a guide on how to use Limo, refer to the [wiki](https://github.com/limo-app/limo/wiki). This will help you even if you are not modding Skyrim.***\n\n## Installation\n\n### Flatpak\n\n\u003ca href='https://flathub.org/apps/io.github.limo_app.limo'\u003e\n    \u003cimg width='240' alt='Download on Flathub' src='https://flathub.org/api/badge?locale=en'/\u003e\n\u003c/a\u003e\n\n### Arch Linux (via Arch User Repository)\n\n\u003ca href='https://aur.archlinux.org/packages/limo-git'\u003e\n\t\u003cimg width='240' alt='Get on AUR' src='https://upload.wikimedia.org/wikipedia/commons/e/e8/Archlinux-logo-standard-version.png'/\u003e\n\u003c/a\u003e\n\n### Build from source\n\n####  Install the dependencies\n\n - [Qt5](https://doc.qt.io/qt-5/index.html)\n - [JsonCpp](https://github.com/open-source-parsers/jsoncpp)\n - [libarchive](https://github.com/libarchive/libarchive)\n - [pugixml](https://github.com/zeux/pugixml)\n - [OpenSSL](https://github.com/openssl/openssl)\n - [cpr](https://github.com/libcpr/cpr)\n - [libloot](https://github.com/loot/libloot)\n - (Optional, for tests) [Catch2](https://github.com/catchorg/Catch2)\n - (Optional, for docs) [doxygen](https://github.com/doxygen/doxygen)\n\nOn Debian based systems most dependencies, with the exception of cpr and libloot, can be installed with the following command:\n\n```\nsudo apt install \\\n\t\tbuild-essential \\\n\t\tcmake \\\n\t\tgit \\\n\t\tlibpugixml-dev \\\n\t\tlibjsoncpp-dev \\\n\t\tlibarchive-dev \\\n\t\tpkg-config \\\n\t\tlibssl-dev \\\n\t\tqtbase5-dev \\\n\t\tqtchooser \\\n\t\tqt5-qmake \\\n\t\tqtbase5-dev-tools \\\n\t\tlibqt5svg5-dev \\\n\t\tlibboost-all-dev \\\n\t\tlibtbb-dev \\\n\t\tcargo \\\n\t\tcbindgen \\\n\t\tcatch2 \\\n\t\tdoxygen\t\t\n```\n\n#### Clone this repository:\n\n```\ngit clone https://github.com/limo-app/limo.git\ncd limo\n```\n\n#### Build libunrar:\n\n```\ngit clone https://github.com/aawc/unrar.git\ncd unrar\nmake lib\ncd ..\n```\n\n#### Build Limo:\n\n```\nmkdir build\ncmake -DCMAKE_BUILD_TYPE=Release -S . -B build\ncmake --build build\n```\n \n#### (Optional) Run the tests:\n\n```\ncmake -DCMAKE_BUILD_TYPE=Release -S . -B build -DBUILD_TESTING=ON\ncmake --build build\nctest --test-dir build\n```\n\n#### (Optional) Build the documentation:\n\n```\ndoxygen src/lmm_Doxyfile\n```\n\n## Usage Notes\n\n### Flatpak version of Limo\n\nFrom version 1.0.7 onwards, Limo supports specialized deployer and auto tag imports for Steam games. Currently it only supports Bethesda Games on Steam such as Skyrim, Skyrim SE, and Skyrim VR. ***Flatpak users who want to mod these games using Limo are automatically configured, but it is still recommended to read Limo's [Wiki](https://github.com/limo-app/limo/wiki) even if you are modding these games or not.***\n\n#### To add tools and run the executable directly to Limo, use:\n\n```\n--directory=\"/tool/directory/\" protontricks-launch --appid [steamappid i.e., 489830 for Skyrim SE] tool.exe\n```\n\n### AUR version of Limo\n\nThe Flatpak version of Limo is the officially supported version. There is no reason to use the AUR version of Limo, unless you like the instant download initialization (not the download speed) when downloading via mod manager on NexusMods, and early access to new features such as Reverse Deployer (unreleased as of 1.0.7). If you decided to use the AUR version, please don't spam and harass the main developer.\n\nWhen you first use the AUR version of Limo, you'll notice that the UI is slightly different than the Flatpak version. ***Moreover, you'll notice that when importing games from steam such as Skyrim SE, the deployers are not pointing to the right directory, hence, one should read Limo's [Wiki](https://github.com/limo-app/limo/wiki) to properly configure them.*** \n\n#### Here's a quick glance of what deployer you should create and where it should point to.\n\n| Name    |     Deployer Type      |                                                       Target Directory                                            | Deployment Method |\n| ------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------- |\n| Bin     | Case Matching Deployer | ~/.local/share/Steam/steamapps/common/Skyrim Special Edition                                                      | Anything          |\n| Data    | Case Matching Deployer | ~/.local/share/Steam/steamapps/common/Skyrim Special Edition/Data                                                 | Anything          |\n| Plugins | Loot Deployer          | ~/.local/share/Steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/AppData/Local/Skyrim Special Edition | Anything          |\n\nFor GOG users of these games, just find the game's folder. It should be almost similar, except the prefix folder.\n\n#### To add tools and run the executable directly to AUR version Limo, use:\n\n```\ncd \"/tool/directory\"; protontricks-launch --appid [steamappid i.e., 489830 for SkyrimSE] tool.exe\n```\n\n## Contributing configurations\n\nFrom version 1.0.7 onwards, Limo supports specialized deployer and auto tag imports for Steam games. Each configuration is stored in\na file named *\u003cSTEAM_APP_ID\u003e.json* in the *steam_app_configs* directory of this repository. If you are using Limo to mod a Steam\ngame for which for no configuration file exists or if you want to improve an existing configuration, please consider open a Pull Request.\n\nYou can export your existing configuration by clicking on the *Export* button in the *App* tab. This will generate the file *exported_config.json*\nin the app's staging directory. Before creating a Pull Request, rename this file to *\u003cSTEAM_APP_ID\u003e.json*, e.g. *489830.json* for\nSkyrim SE, and move it to the *steam_app_configs* directory.\n\n**Note**: Deploy modes in this file will default to *hard link*, even if you are using sym links. When your configuration is imported by others,\nsym links will automatically used instead if hard links do not work.\n\n## Planned features\n**BG3 Deployer**  \nSimilar to how the *LOOT Deployer* currently works, this will automatically add mods to the *modsettings.lsx* file in\norder to better support modding Baldurs Gate 3.\n\n**Bethesda base plugins**  \nFor Bethesda games like Skyrim, certain plugins are always loaded regardless of whether or not they are enabled\nin the *LOOT Deployer*. This includes master plugins like *Skyrim.esm* and creation club content. These files should not\nbe listed by the *LOOT Deployer*.\n\n**Mod grouping**  \nCurrently split mods and mod patches are treated as completely separate from each other. This\nmakes it hard to see which mods belong together and also makes it harder to uninstall them all at once. Grouping them\ntogether in a tree view under the base mod will resolve this.\n\n**Installation rules**  \nAdds user defined rules that can be toggled during mod installation. These rules allow moving or\ndeleting files/ directories that match a certain pattern. This is intended to remove unnecessary files like screenshots and\nto resolve issues where parts of a mod would have to be moved manually, like *Nemesis* files when using *Pandora* in\nthe case of Skyrim.\n\n**Config file detection**  \nMany mods and games allow tweaking some settings via config files (often ending in *.ini*).\nThis feature will add a new tab that lists all such files and offers a button to open them in the default editor. Rules for\ndetecting these files will be set by users, like those for auto tags.\n\n**API support**  \nSupport for automatically checking for updates and downloading mods from modding websites that\nprovide this functionality like *Thunderstore* and *Gamebanana*.\n\n**Deployers for other games**  \nIf a game requires more specialized actions, like the current *LOOT Deployer* for\nSkyrim, in order to be modded, a deployer can be added if there is demand for it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flimo-app%2Flimo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flimo-app%2Flimo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flimo-app%2Flimo/lists"}