MPM(1)

πŸ“¦ version 25.12, in nixos 26.05, nixpkgs unstable

πŸ’… MPM β€” the MiKTeX package manager, bestie edition

okay so like, this is the manual page for mpm β€” the MiKTeX package manager β€” straight out of the User Commands section of your man pages. she's giving ✨ package management ✨ and honestly? she ate.


🌸 SYNOPSIS 🌸

mpm [option...]

that's it. that's the whole vibe. a command, and then as many options as your little heart desires 🫢


πŸŽ€ DESCRIPTION πŸŽ€

so here's the thing: MPM starts in windowed mode if you don't specify any command-line options. like, she'll just open up a window for you, no notes. but the moment you pass her a command-line option, she switches it up and stays in the terminal. iconic behaviour honestly πŸ’…


πŸ‘‘ USER MODE VS. ADMINISTRATOR MODE πŸ‘‘

this utility can be run in two (2) modes, and honestly picking between them is the whole personality of this program:

  • User mode (default) β€” MPM operates on the user installation directory, which is usually ~/.miktex/texmfs/install. this is your lil personal sandbox, just you and your packages 🌸
  • Administrator mode β€” MPM operates on the system-wide installation directory, which is usually /usr/local/share/miktex-texmf, assuming that the MiKTeX setup is shared by all users. bestie, MPM must be run with administrator privileges for this one. no cap. ⚠️

by default, MPM runs in user mode. you can turn on administrator mode with the --admin option. for example, if you want to install a package for all users, you invoke MPM like this:

> mpm --admin --install=a0poster

slay, now everyone on the machine has a0poster πŸŽ‰ (note: --install=a0poster is literally pulled straight from the original example β€” that's the exact invocation, don't come for me)


✨ OPTIONS ✨

okay here's the full menu, no skips, no cutting corners, every single one:

  • --admin β€” Run in administrator mode. and what does that actually mean? two things, bestie:
    • Operate on the system-wide MiKTeX configuration data store.
    • Install packages for all users.

using this option requires a shared MiKTeX setup, i.e., MiKTeX must have been set up for all users. and the program must be run with administrator privileges. so like, don't just casually fire this off 😭

  • --help β€” Give help and exit. the classic "i'm lost" button 🫢
  • --hhelp β€” this one's only available on Windows systems: show the manual page in an HTML Help window and exit when the window is closed. so you get a whole window, and when you close it, she's gone. bye πŸ‘‹
  • --import=package β€” Import the specified package from another MiKTeX installation. the root directory must be specified via --repository=dir. so yes, you need both, don't @ me πŸ’€
  • --import-all β€” Import all packages from another MiKTeX installation. and again, the root directory must be specified via --repository=dir. same deal, go big or go home πŸ”₯
  • --pick-repository-url β€” Pick up a suitable URL from the package repository list and print it. lowkey handy ngl ✨
  • --quiet β€” Suppress all output, except errors. she goes silent mode but still screams if something breaks πŸ™ˆ
  • --repository=location β€” Use the specified location as the package repository. the location can be either a fully qualified path name (a local package repository) or an URL (a remote package repository). your choice, main character πŸŽ€
  • --repository-release-state=state β€” Select the release state of the remote package repository. the release state is relevant for finding appropriate package repositories. and state must be one of stable or next β€” those are the only two, periodt πŸ’…
  • --set-repository=location β€” Store the location of the default package repository in the MiKTeX configuration data store. the location can be either a fully qualified path name (a local package repository) or an URL (a remote package repository). this is the "make it permanent" option πŸ‘‘
  • --trace[=tracestreams] β€” Enable trace messages. the tracestreams argument, if specified, is a comma-separated list of trace stream names (Chapter 9, Trace Streams). yes, chapter nine, she's got lore πŸ“š
  • --verbose β€” Turn on verbose output mode. she's gonna tell you everything πŸ—£οΈ
  • --version β€” Show version information and exit. quick lil flex, then she's out πŸ’–

πŸ¦‹ ENVIRONMENT πŸ¦‹

all the env vars she reads, and what they do:

  • MIKTEX_REPOSITORY β€” Location of the default package repository. this can be either a fully qualified path name (a local package repository) or an URL (a remote package repository). same rules as --repository, just vibes-based from your environment 🌈
  • MIKTEX_TRACE β€” Comma-separated list of trace stream names (see Chapter 9, Trace Streams). if this variable is set, then MiKTeX programs will write trace messages into the configured log sink. so like, set it and suddenly everything is documented forever πŸ’€
  • http_proxy β€” The proxy server to be used for HTTP.
  • FTP_PROXY β€” The proxy server to be used for . (yes, this is genuinely how the original reads β€” the sentence just ends. i'm not making this up, i'm not filling in the blank, i'm just reporting the facts 🫑)
  • ALL_PROXY β€” The proxy server to be used, if no protocol-specific proxy is set. the fallback queen πŸ‘‘
  • NO_PROXY β€” Comma-separated list of host names that should not go through any proxy. the "do not perceive me" list πŸ™ˆ

πŸ’œ SEE ALSO πŸ’œ

  • miktex(1) β€” go read that one next, bestie, iykyk

a lil warning from me to you: --admin is not a toy. it touches the system-wide config store and installs for all users, and it requires administrator privileges and a shared MiKTeX setup. be normal about it pls πŸ™

πŸ’– and that's the whole page !! πŸ’–

cute lil sign-off: this gorgeous thing is MiKTeX 25.12, dated December 29, 2025, filed under MPM(1) in User Commands. go forth and manage those packages, queen πŸ‘‘βœ¨πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from