Macchina

Fast, minimal and customizable system information frontend. Linux • macOS • Windows • NetBSD • OpenWrt • Android Preview Version Downloads Say Thanks

About Macchina

Macchina is a frontend for libmacchina. If you're interested in the library, check out libmacchina.

Macchina lets you view system information, like your kernel version, uptime, memory usage, processor load and much more. It provides you with convenient features and extensive customization options but still retains its two main fundamentals: performance and minimalism.


Performance

Macchina is lightning fast, see for yourself:

🐧 Linux

| Command | Mean [ms] | Min [ms] | Max [ms] | | :--------- | --------: | -------: | -------: | | macchina | 3.6 ± 0.5 | 3.0 | 5.4 |

👩🏽‍💻 macOS

| Command | Mean [ms] | Min [ms] | Max [ms] | | :--------- | --------: | -------: | -------: | | macchina | 5.0 ± 0.2 | 4.7 | 5.9 |

🚩 NetBSD

| Command | Mean [ms] | Min [ms] | Max [ms] | | :--------- | ---------: | -------: | -------: | | macchina | 17.7 ± 1.6 | 16.8 | 27.2 |

💻 Windows

| Command | Mean [ms] | Min [ms] | Max [ms] | | :--------- | --------: | -------: | -------: | | macchina | 9.0 ± 0.4 | 8.2 | 11.7 |


Minimalism

Macchina first started as a barebones fetcher, but has evolved to incorporate the many aspects people love to see in their fetcher. This evolution however did not discard the minimalistic look that was envisioned for the program.

Here's what you can make it look like using the various supported flags.

macchina -c white --no-box --no-ascii --no-separator --no-bar-delimiter --bar

Minimal Output Preview


Features

Themes

Macchina comes equipped with built-in themes that style their readouts, bars and separators differently. No extra configuration required.

Bars

Bars provide a way to visualize data, and each theme styles them differently. They can be enabled using the --bar flag.

Preview of the bar flag


What it fetches


Meet Doctor

Macchina comes with a very special flag, allowing you analyze which elements failed to fetch, and why. It can differentiate between errors, and warnings, and its comprehensive output should help you understand where the issue is coming from.

macchina --doctor

Preview of the doctor flag


Configuration

Macchina can be configured through a dotfile, macchina.toml is an example dotfile that you can use and build on top of to make it your own.

You can also create custom themes in JSON format and use them instead of the built-in themes that we provide.

json { "name": "Carbon", "bar": { "Custom": { "glyph": "ߋ", "symbol_open": "[", "symbol_close": "]" } }, "color": { "Rgb": [231, 198, 100] }, "separator": "⇉", "separator_color": { "Rgb": [158, 208, 114] }, "spacing": 2, "padding": 0, "block_title": "┤ Carbon ├", "abbreviation": "Classic" }


Dependencies

These dependencies are not required, but they extend what Macchina can do.

Linux:

NetBSD:

The dependencies wiki page explains why these dependencies exist.


Installation

cargo install macchina

More installation options.


Platform Support

| Platform | Support | | :-------: | :-----: | | GNU/Linux | ✓ | | NetBSD | ✓ | | macOS | ✓ | | Windows | 80% | | OpenWrt | ✓ | | Android | ✓ |


🌍 Contributors

Crates.io

Macchina, like many other open-source projects, would not be where it is right now without the help of its contributors, thank you all so much!