Configuration#
All mpm
options can be set with a configuration file.
Location#
Location depends on OS (see
click-extra
doc):
macOS:
~/Library/Application Support/mpm/*.{toml,yaml,yml,json,ini,xml}
Unix:
~/.config/mpm/*.{toml,yaml,yml,json,ini,xml}
Windows (roaming):
C:\Users\<user>\AppData\Roaming\mpm\*.{toml,yaml,yml,json,ini,xml}
TOML sample#
# My default configuration file.
[mpm]
verbosity = "DEBUG"
manager = ["brew", "cask"]
[mpm.search]
exact = true
Ignore a manager#
A user was looking to
always have it ignore pip
to speed-up execution. That can be solved with the
following config file:
[mpm]
exclude = [ "pip",]
Overlapping managers#
MPM has support for some overlapping package managers. Take for instance pacman
and its collection of AUR helpers like paru
and yay
. All of these alternative helpers have the same source of packages as pacman
. So updates to a single package may show up multiple times, because AUR helpers depends on pacman
(which is always installed on the system).
You can fine-tune this behaviour by simply excluding redundant managers depending on your preferences.
For instance, if yay
is your preferred helper and pacman
and paru
are polluting your entries, you can setup a configuration file in ~/.config/mpm/config.toml
to exclude the other AUR helpers by default:
[mpm]
exclude = [ "pacman", "paru",]
Troubleshooting#
You can easily debug the way mpm
source its configuration with the --show-params
:
$ mpm --show-params
╭────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─────────────────────────────┬─────────────┬────────┬─────────┬──────────────────┬───────────────────────────────────────────┬─────────────────────────────────────────────────────────┬─────────────────────────────────────────────────────────┬─────────────╮
│ ID │ Class │ Spec. │ Param type │ Python type │ Hidden │ Exposed │ Allowed in conf? │ Env. vars. │ Default │ Value │ Source │
├────────────────────────────┼─────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────────────┼─────────────┼────────┼─────────┼──────────────────┼───────────────────────────────────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────┼─────────────┤
│ mpm.all_managers │ cloup._params.Option │ -a, --all-managers │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ MPM_ALL_MANAGERS │ False │ False │ DEFAULT │
│ mpm.apm │ cloup._params.Option │ --apm │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_APM │ False │ False │ DEFAULT │
│ mpm.apt │ cloup._params.Option │ --apt │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_APT │ False │ False │ DEFAULT │
│ mpm.apt_mint │ cloup._params.Option │ --apt-mint │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_APT_MINT │ False │ False │ DEFAULT │
│ mpm.bar_plugin_path │ cloup._params.Option │ --bar-plugin-path │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_BAR_PLUGIN_PATH │ False │ False │ DEFAULT │
│ mpm.brew │ cloup._params.Option │ --brew │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_BREW │ False │ False │ DEFAULT │
│ mpm.cargo │ cloup._params.Option │ --cargo │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_CARGO │ False │ False │ DEFAULT │
│ mpm.cask │ cloup._params.Option │ --cask │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_CASK │ False │ False │ DEFAULT │
│ mpm.choco │ cloup._params.Option │ --choco │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_CHOCO │ False │ False │ DEFAULT │
│ mpm.color │ click_extra.colorize.ColorOption │ --color, --ansi / --no-color, --no-ansi │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_COLOR │ True │ True │ DEFAULT │
│ mpm.composer │ cloup._params.Option │ --composer │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_COMPOSER │ False │ False │ DEFAULT │
│ mpm.config │ click_extra.config.ConfigOption │ -C, --config CONFIG_PATH │ click.types.StringParamType │ str │ ✘ │ ✘ │ ✘ │ MPM_CONFIG │ /home/runner/.config/mpm/*.{toml,yaml,yml,json,ini,xml} │ /home/runner/.config/mpm/*.{toml,yaml,yml,json,ini,xml} │ DEFAULT │
│ mpm.description │ cloup._params.Option │ --description │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ MPM_DESCRIPTION │ False │ False │ DEFAULT │
│ mpm.dnf │ cloup._params.Option │ --dnf │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_DNF │ False │ False │ DEFAULT │
│ mpm.dry_run │ cloup._params.Option │ -d, --dry-run │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ MPM_DRY_RUN │ False │ False │ DEFAULT │
│ mpm.emerge │ cloup._params.Option │ --emerge │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_EMERGE │ False │ False │ DEFAULT │
│ mpm.exclude │ cloup._params.Option │ -e, --exclude [apm|apt|apt-mint|brew|cargo|cask|choco|composer|dnf|emerge|flatpak|gem|mas|npm|opkg|pacaur|pacman|paru|pip|pipx|pkg|scoop|snap|steamcmd|vscode|yarn|yay|yum|zypper] │ click.types.Choice │ list │ ✘ │ ✓ │ ✓ │ MPM_EXCLUDE │ None │ │ DEFAULT │
│ mpm.flatpak │ cloup._params.Option │ --flatpak │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_FLATPAK │ False │ False │ DEFAULT │
│ mpm.gem │ cloup._params.Option │ --gem │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_GEM │ False │ False │ DEFAULT │
│ mpm.help │ click_extra.colorize.HelpOption │ -h, --help │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✘ │ MPM_HELP │ False │ False │ DEFAULT │
│ mpm.ignore_auto_updates │ cloup._params.Option │ --ignore-auto-updates / --include-auto-updates │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ MPM_IGNORE_AUTO_UPDATES │ True │ True │ DEFAULT │
│ mpm.manager │ cloup._params.Option │ -m, --manager [apm|apt|apt-mint|brew|cargo|cask|choco|composer|dnf|emerge|flatpak|gem|mas|npm|opkg|pacaur|pacman|paru|pip|pipx|pkg|scoop|snap|steamcmd|vscode|yarn|yay|yum|zypper] │ click.types.Choice │ list │ ✘ │ ✓ │ ✓ │ MPM_MANAGER │ None │ │ DEFAULT │
│ mpm.mas │ cloup._params.Option │ --mas │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_MAS │ False │ False │ DEFAULT │
│ mpm.npm │ cloup._params.Option │ --npm │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_NPM │ False │ False │ DEFAULT │
│ mpm.opkg │ cloup._params.Option │ --opkg │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_OPKG │ False │ False │ DEFAULT │
│ mpm.output_format │ click_extra.tabulate.TableFormatOption │ -o, --output-format [asciidoc|csv|csv-excel|csv-excel-tab|csv-unix|double_grid|double_outline|fancy_grid|fancy_outline|github|grid|heavy_grid|heavy_outline|html|jira|json|latex|latex_booktabs|latex_longtable|latex_raw|mediawiki|mixed_grid|mixed_outline|moinmoin|orgtbl|outline|pipe|plain|presto|pretty|psql|rounded_grid|rounded_outline|rst|simple|simple_grid|simple_outline|textile|tsv|unsafehtml|vertical|youtrack] │ click.types.Choice │ str │ ✘ │ ✘ │ ✓ │ MPM_OUTPUT_FORMAT │ rounded_outline │ rounded_outline │ DEFAULT │
│ mpm.pacaur │ cloup._params.Option │ --pacaur │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_PACAUR │ False │ False │ DEFAULT │
│ mpm.pacman │ cloup._params.Option │ --pacman │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_PACMAN │ False │ False │ DEFAULT │
│ mpm.paru │ cloup._params.Option │ --paru │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_PARU │ False │ False │ DEFAULT │
│ mpm.pip │ cloup._params.Option │ --pip │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_PIP │ False │ False │ DEFAULT │
│ mpm.pipx │ cloup._params.Option │ --pipx │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_PIPX │ False │ False │ DEFAULT │
│ mpm.pkg │ cloup._params.Option │ --pkg │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_PKG │ False │ False │ DEFAULT │
│ mpm.scoop │ cloup._params.Option │ --scoop │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_SCOOP │ False │ False │ DEFAULT │
│ mpm.show_params │ click_extra.parameters.ShowParamsOption │ --show-params │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✘ │ MPM_SHOW_PARAMS │ False │ True │ COMMANDLINE │
│ mpm.snap │ cloup._params.Option │ --snap │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_SNAP │ False │ False │ DEFAULT │
│ mpm.sort_by │ cloup._params.Option │ -s, --sort-by [manager_id|manager_name|package_id|package_name|version] │ click.types.Choice │ str │ ✘ │ ✓ │ ✓ │ MPM_SORT_BY │ manager_id │ manager_id │ DEFAULT │
│ mpm.stats │ cloup._params.Option │ --stats / --no-stats │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ MPM_STATS │ True │ True │ DEFAULT │
│ mpm.steamcmd │ cloup._params.Option │ --steamcmd │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_STEAMCMD │ False │ False │ DEFAULT │
│ mpm.stop_on_error │ cloup._params.Option │ --stop-on-error / --continue-on-error │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ MPM_STOP_ON_ERROR │ False │ False │ DEFAULT │
│ mpm.time │ click_extra.timer.TimerOption │ --time / --no-time │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_TIME │ False │ False │ DEFAULT │
│ mpm.timeout │ cloup._params.Option │ -t, --timeout INTEGER RANGE │ click.types.IntRange │ int │ ✘ │ ✓ │ ✓ │ MPM_TIMEOUT │ 500 │ 500 │ DEFAULT │
│ mpm.verbosity │ click_extra.logging.VerbosityOption │ -v, --verbosity LEVEL │ click.types.Choice │ str │ ✘ │ ✘ │ ✓ │ MPM_VERBOSITY │ INFO │ INFO │ DEFAULT_MAP │
│ mpm.version │ click_extra.version.ExtraVersionOption │ --version │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✘ │ MPM_VERSION │ False │ False │ DEFAULT │
│ mpm.vscode │ cloup._params.Option │ --vscode │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_VSCODE │ False │ False │ DEFAULT │
│ mpm.xkcd │ cloup._params.Option │ -x, --xkcd │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ MPM_XKCD │ False │ False │ DEFAULT │
│ mpm.yarn │ cloup._params.Option │ --yarn │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_YARN │ False │ False │ DEFAULT │
│ mpm.yay │ cloup._params.Option │ --yay │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_YAY │ False │ False │ DEFAULT │
│ mpm.yum │ cloup._params.Option │ --yum │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_YUM │ False │ False │ DEFAULT │
│ mpm.zypper │ cloup._params.Option │ --zypper │ click.types.BoolParamType │ bool │ ✘ │ ✘ │ ✓ │ MPM_ZYPPER │ False │ False │ DEFAULT │
│ mpm.backup.merge │ cloup._params.Option │ --merge │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ BACKUP_MERGE, MPM_MERGE │ False │ False │ DEFAULT │
│ mpm.backup.overwrite │ cloup._params.Option │ --overwrite, --force, --replace │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ BACKUP_OVERWRITE, MPM_OVERWRITE │ False │ False │ DEFAULT │
│ mpm.backup.toml_path │ cloup._params.Argument │ │ click.types.Path │ str │ │ ✓ │ ✓ │ │ - │ - │ DEFAULT │
│ mpm.backup.update_version │ cloup._params.Option │ --update-version │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ BACKUP_UPDATE_VERSION, MPM_UPDATE_VERSION │ False │ False │ DEFAULT │
│ mpm.install.packages_specs │ cloup._params.Argument │ │ click.types.StringParamType │ list │ │ ✓ │ ✓ │ │ None │ │ DEFAULT │
│ mpm.installed.duplicates │ cloup._params.Option │ -d, --duplicates │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ INSTALLED_DUPLICATES, MPM_DUPLICATES │ False │ False │ DEFAULT │
│ mpm.outdated.plugin_output │ cloup._params.Option │ --plugin-output │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ OUTDATED_PLUGIN_OUTPUT, MPM_PLUGIN_OUTPUT │ False │ False │ DEFAULT │
│ mpm.remove.packages_specs │ cloup._params.Argument │ │ click.types.StringParamType │ list │ │ ✓ │ ✓ │ │ None │ │ DEFAULT │
│ mpm.restore.toml_files │ cloup._params.Argument │ │ click.types.File │ list │ │ ✓ │ ✓ │ │ None │ │ DEFAULT │
│ mpm.search.exact │ cloup._params.Option │ --exact / --fuzzy │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ SEARCH_EXACT, MPM_EXACT │ False │ False │ DEFAULT │
│ mpm.search.extended │ cloup._params.Option │ --extended / --id-name-only │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ SEARCH_EXTENDED, MPM_EXTENDED │ False │ False │ DEFAULT │
│ mpm.search.query │ cloup._params.Argument │ │ click.types.StringParamType │ str │ │ ✓ │ ✓ │ │ None │ │ DEFAULT │
│ mpm.search.refilter │ cloup._params.Option │ --refilter / --no-refilter │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ SEARCH_REFILTER, MPM_REFILTER │ True │ True │ DEFAULT │
│ mpm.upgrade.all │ cloup._params.Option │ -A, --all │ click.types.BoolParamType │ bool │ ✘ │ ✓ │ ✓ │ UPGRADE_ALL, MPM_ALL │ False │ False │ DEFAULT │
│ mpm.upgrade.packages_specs │ cloup._params.Argument │ │ click.types.StringParamType │ list │ │ ✓ │ ✓ │ │ None │ │ DEFAULT │
│ mpm.which.cli_names │ cloup._params.Argument │ │ click.types.StringParamType │ list │ │ ✓ │ ✓ │ │ None │ │ DEFAULT │
╰────────────────────────────┴─────────────────────────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────────────────────┴─────────────┴────────┴─────────┴──────────────────┴───────────────────────────────────────────┴─────────────────────────────────────────────────────────┴─────────────────────────────────────────────────────────┴─────────────╯