#mod-manager #cross-platform #rim-world #macos #who #linux

app rrm

Rusty RimWorld (mod) Manager is a cross-platform CLI mod manager written in Rust

9 releases

0.0.1-alpha.9 Jul 19, 2022
0.0.1-alpha.8 Jun 21, 2022
0.0.1-alpha.4 Feb 6, 2022

#1879 in Command line utilities

35 downloads per month

MIT license

2.5K SLoC

TODOs are available here. Discussions, PRs and Issues are open for anyone who is willing to contribute.

Screen Shot 2022-07-19 at 4 44 18 a m


Inspired by Spoons rmm. This is a cross-platform Mod Manager for RimWorld intended to work with macOS, linux and Windows


  • All documentation, as well as usage examples and help is available in the Wiki. Or you can ask via Discussion
  • Mod installation demo available here


This program is installable with cargo. Install rust along with cargo here. It’s bundled with anything it needs to work.


To install the crates.io pre-release version run:

cargo install rrm --version 0.0.1-alpha.9

Or install the GitHub version. Although it's not recommended since it has a 'dev' flag which changes the installer behaviour:

cargo install --git https://github.com/AOx0/rrm

Linux additional steps

Additionally, if you are using linux on a 64 bit machine, you will need to add multiverse with:

sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc1 steamcmd 


To set configuration values like game installation path and whether rrm should use more to display its output or not, you can use the set subcommand. The configuration file is available in $USER_HOME/.rrm/config on macOS, Linux, and Windows with a JSON format.

For example, to set the path were RimWorld is installed, you can use:

rrm set game-path /Applications/RimWorld.app

Or with its alias:

rrm set path /Applications/RimWorld.app

Help message:

Set new configuration values

    rrm set <OPTION> <VALUE>

    game-path    Set the path where RimWorld is installed [alias: 'path']
    pager        Set the paging software to use, like bat, more or less [alias: 'paging']
    use-pager    Set if rrm should use more to display output [values: false, true, 0, 1] [alias: 'use-paging']

You can bypass configured values with special flags.

  • -—no-pager: Disables the pager output display no matter what configurations says. Does not change the configuration’s value.
  • -—pager: Enables the pager output display no matter what configurations says. Does not change the configuration’s value.


~427K SLoC