A macOS Neofetch alternative, previously written in C++, now written in Rust.
Note To view the previous files, visit the
legacybranch, which contains the old C++ files for this project.
"But seriously, why? Why another Neofetch alternative?" I hear you ask, and the answer is pretty simple. There are multiple Neofetch rewrites out there, most of them probably faster than Macfetch, but besides doing absolutely the same as Neofetch (but much faster), they all share something in common, macOS is not supported.
paleofetchonly supports Arch (and it's no longer maintained).fastfetchworks only on a handful of Linux distros.freshfetchsame as the above.macchinalacks the Neofetch aesthetic.afetchis awesome, but not what I'm looking for out of the box.
Yes, Linux is supported, and that's great, but it's about time for a macOS alternative to come out, and that's why Macfetch (as its name suggests) is macOS-only, and not only that, it's 95% faster.
You can either install Macfetch via Homebrew, or you can build from source.
To install Macfetch via Homebrew, just tap the repository, and install like so:
brew tap gantoreno/macfetch
brew install macfetchAnd voilà! Macfetch should now be installed under /usr/local/Cellar/macfetch/<version>.
To build from source. Start by cloning the repo:
git clone https://github.com/gantoreno/macfetch.git
cd macfetchAnd simply run with cargo:
cargo run # for the debug target
cargo run --release # for the optimized release targetTo build, same thing:
cargo build # for the debug target
cargo build --release # for the optimized release targetYour binary should be available under target/x86_64-apple-darwin/and withing the folder of the build target you chose (either debug or release).
Macfetch can be customized via a TOML configuration file located at ~/.config/macfetch/config.toml.
You can control which segments are displayed and in what order by specifying a segments list under [general]:
[general]
segments = [
"machine",
"separator",
"os",
"cpu",
"memory",
]Only the segments listed will be rendered, in the order specified. If no config file exists, Macfetch uses the default segment order.
| Segment | Description |
|---|---|
machine |
Username and hostname |
separator |
Dashed separator line |
os |
macOS version |
host |
Hardware model |
kernel |
Kernel version |
uptime |
System uptime |
packages |
Homebrew package count |
shell |
Current shell |
resolution |
Display resolution |
de |
Desktop environment (Aqua) |
wm |
Window manager (Quartz Compositor) |
terminal |
Terminal emulator |
cpu |
Processor info |
gpu |
Graphics card |
battery |
Battery percentage |
memory |
RAM usage |
empty |
Blank line |
dark_colors |
Dark color palette |
light_colors |
Light color palette |
Licensed under the MIT license.

