MPM(1)
π 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) β
MPMoperates on the user installation directory, which is usually~/.miktex/texmfs/install. this is your lil personal sandbox, just you and your packages πΈ - Administrator mode β
MPMoperates 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,MPMmust 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. thelocationcan 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. andstatemust be one ofstableornextβ those are the only two, periodt π--set-repository=locationβ Store the location of the default package repository in the MiKTeX configuration data store. thelocationcan 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. thetracestreamsargument, 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
- nixos 26.05: miktex 25.12
- nixpkgs unstable: miktex 25.12
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms