pkg.sopackage field notes

brew / rank 9486

Install nmh with Homebrew

New version of the MH mail handler. Version 1.8 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install nmh

provider-native install command

overview

Package summary

New version of the MH mail handler

Commands and aliases

  • anno
  • burst
  • comp
  • flist
  • flists
  • fmttest
  • fnext
  • folder
  • folders
  • forw
  • fprev
  • inc
  • install-mh
  • mhbuild
  • mhfixmsg
  • mhical
  • mhlist
  • mhlogin
  • mhmail
  • mhn
  • mhparam
  • mhpath
  • mhshow
  • mhstore
  • msgchk
  • new
  • next
  • packf
  • pick
  • prev
  • prompter
  • refile

history

Project history and usage

nmh is the maintained 'new MH' implementation of the MH message handling system: a Unix mail environment made from many small commands rather than one monolithic mail client.

Project history

MH predates nmh by decades. RAND's 1979 user's manual describes MH as a UNIX shell-driven mail system where each mail activity is a separate command and each message is stored as a separate file in a folder directory. nmh continued that model as a mostly compatible replacement for MH, based on MH 6.8.3 from RAND and the University of California.

The nmh FAQ describes the fork as a response to the languishing state of MH: Richard Coleman created nmh from MH 6.8.3, added GNU autoconf, and fixed bugs and inconsistencies. Later maintainers moved the project infrastructure to Savannah, which remains the official source location.

Adoption history

nmh is niche by modern mail-client standards but important to Unix mail traditionalists because it preserves the MH composition model: commands such as inc, scan, show, repl, forw, refile, pick, sortm, and rmm compose naturally with shell scripts. The project page also points to front ends such as exmh and mh-e, showing that nmh is both an end-user toolkit and a substrate for other mail interfaces.

Package-manager coverage across Homebrew, Debian/Ubuntu, Fedora, Alpine, Nix, and openSUSE reflects long-tail adoption rather than hype adoption. Its value is continuity: scripts, habits, and mail stores built around MH semantics can keep working on contemporary Unix-like systems.

How it is used

Package nerds use nmh when they want mail to be shell-native. Typical workflows initialize a profile, incorporate messages into MH folders, scan folders, show or reply to individual messages, refile mail by shell command, and use pick/sortm/mhpath/mhparam in scripts. The practical appeal is that the mailbox is regular files plus small commands, so grep, find, cron, editors, and shell aliases remain first-class tools.

The tradeoff is intentional: nmh is not a turnkey GUI mail app. It rewards users who want explicit control over message storage, composition drafts, aliases, profile settings, and MIME handling.

Why package nerds care

nmh matters because it is a living bridge from early Unix mail design to present package ecosystems. It is a good example of a package whose significance is architectural and historical rather than measured by broad consumer adoption.

Timeline

  • {'event': "RAND published The MH Message Handling System: User's Manual, documenting the shell-command and per-message-file model that nmh inherits.", 'year': '1979'}
  • {'event': 'Richard Coleman created nmh from MH 6.8.3 after MH development slowed, adding GNU autoconf and cleanup work according to the MH/nmh FAQ.', 'year': '1990s'}
  • {'event': 'nmh development infrastructure moved to Savannah and continued through the nmh-workers community.', 'year': '2000s'}

Related projects

  • RAND MH
  • exmh
  • mh-e
  • mmh

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:repl

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
~/.mh_profile

executables

Installed executables

CommandKindExposureNote
annoexecutableindexed executableDiscovered from the local executable index.
burstexecutableindexed executableDiscovered from the local executable index.
compexecutableindexed executableDiscovered from the local executable index.
flistexecutableindexed executableDiscovered from the local executable index.
flistsexecutableindexed executableDiscovered from the local executable index.
fmttestexecutableindexed executableDiscovered from the local executable index.
fnextexecutableindexed executableDiscovered from the local executable index.
folderexecutableindexed executableDiscovered from the local executable index.
foldersexecutableindexed executableDiscovered from the local executable index.
forwexecutableindexed executableDiscovered from the local executable index.
fprevexecutableindexed executableDiscovered from the local executable index.
incexecutableindexed executableDiscovered from the local executable index.
install-mhexecutableindexed executableDiscovered from the local executable index.
mhbuildexecutableindexed executableDiscovered from the local executable index.
mhfixmsgexecutableindexed executableDiscovered from the local executable index.
mhicalexecutableindexed executableDiscovered from the local executable index.
mhlistexecutableindexed executableDiscovered from the local executable index.
mhloginexecutableindexed executableDiscovered from the local executable index.
mhmailexecutableindexed executableDiscovered from the local executable index.
mhnexecutableindexed executableDiscovered from the local executable index.
mhparamexecutableindexed executableDiscovered from the local executable index.
mhpathexecutableindexed executableDiscovered from the local executable index.
mhshowexecutableindexed executableDiscovered from the local executable index.
mhstoreexecutableindexed executableDiscovered from the local executable index.
msgchkexecutableindexed executableDiscovered from the local executable index.
newexecutableindexed executableDiscovered from the local executable index.
nextexecutableindexed executableDiscovered from the local executable index.
packfexecutableindexed executableDiscovered from the local executable index.
pickexecutableindexed executableDiscovered from the local executable index.
prevexecutableindexed executableDiscovered from the local executable index.
prompterexecutableindexed executableDiscovered from the local executable index.
refileexecutableindexed executableDiscovered from the local executable index.
replexecutableindexed executableDiscovered from the local executable index.
rmfexecutableindexed executableDiscovered from the local executable index.
rmmexecutableindexed executableDiscovered from the local executable index.
scanexecutableindexed executableDiscovered from the local executable index.
sendexecutableindexed executableDiscovered from the local executable index.
sendfilesexecutableindexed executableDiscovered from the local executable index.
showexecutableindexed executableDiscovered from the local executable index.
sortmexecutableindexed executableDiscovered from the local executable index.
unseenexecutableindexed executableDiscovered from the local executable index.
whatnowexecutableindexed executableDiscovered from the local executable index.
whomexecutableindexed executableDiscovered from the local executable index.

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-08-03
manager version1.8
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:nmh
Version1.8
Package managerHomebrew
Homepagehttps://www.nongnu.org/nmh/
Bottlenot recorded
Servicenone declared

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • curated configuration and credential file locations
  • curated package history
  • pkgdb category and tag curation