Macchina

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

Table of Contents


About

macchina lets you view system information, like your kernel version, uptime, memory usage, processor load and much more.

If you're interested in the library macchina uses to fetch system information, have a look at libmacchina; fetching-related issues should be filed on that repository.


What's new in v3.0

LocalIP Readout

You are now required to specify your network interface for the local IP readout to work properly.

```toml

The interface name might differ on your machine, please check in with your network utility e.g. ip address

interface = "wlan0" ```

Why the sudden change?

Kernel Readout

You can now shorten the output of the kernel readout through the new --long-kernel flag or by adding the following to your macchina.toml:

```toml

When set to false, only the version of your

operating system's kernel will be displayed.

long_kernel = false ```

Themes

You can now customize the text of every readout's key — Whaaaat!

Jump in your theme file and add the following:

json "keys": { "host": "HOST", "kernel": "KERN", "battery": "BAT", "os": "OS", "de": "DE", "wm": "WM", "distro": "DIST", "terminal": "TERM", "shell": "SHELL", "packages": "PKGS", "uptime": "UP", "memory": "MEM", "machine": "MACH", "local_ip": "IP", "backlight": "BRI", "resolution": "RES", "cpu_load": "CPU LOAD", "cpu": "CPU" },


Performance

macchina is lightning fast, see for yourself:

🐧 Linux

This benchmark was performed using an Intel® Core™ i5-3350P CPU @ 3.10GHz

| Command | Mean [ms] | Min [ms] | Max [ms] | | :--------- | --------: | -------: | -------: | | macchina | 4.8 ± 0.4 | 4.5 | 8.1 |

🍏 macOS

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

🚩 NetBSD

This benchmark was performed inside a virtual machine using an Intel® Core™ i5-8265U CPU @ 1.60GHz

| 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 |


Features

Themes

macchina comes equipped with built-in themes that style their readouts, bars and separators differently. You can see the list with the --list-themes flag and use the one you like with --theme <name>, you can also make your own.

Bars

Bars provide a way to visualize data, through symbols rather than numbers, and they can be enabled using the --bar flag.

Doctor

libmacchina can sometimes fail to fetch certain readouts, and macchina has a feature in place that allows you to see why they failed, this is done through the --doctor flag.


Configuration

See macchina.toml for an example configuration file.

You can also create custom themes in JSON format. Themes allow for more customization and are separate from the main configuration file. See Carbon.json for an example theme.

You can have as many as you want, just avoid using the names of built-in themes.

To start using your theme:

  1. Run macchina --list-themes to verify that macchina has listed your theme.
  2. Inside macchina.toml, add theme = <name_of_theme_without_json_extension>.
  3. You're good to go! macchina will start using your theme.

Runtime dependencies

These dependencies are not required, but they extend what macchina can show.

Linux:

NetBSD:


Installation

Cargo

cargo install macchina

Pkgsrc

pkgin install macchina

Homebrew

brew install macchina

Termux

pkg install macchina

Windows

scoop install macchina

Arch Linux

bash git clone https://aur.archlinux.org/macchina.git cd macchina makepkg -si

bash git clone https://aur.archlinux.org/macchina-git.git cd macchina makepkg -si

Nix

bash nix-env -iA <channel>.macchina

The installation wiki page lists some other ways you can install the program or the steps to compile from source.

You might prefer running the prebuilt binary that corresponds with your operating system.


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!