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.

Performance

macchina is lightning fast, see for yourself:

Execution time is measured using hyperfine

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 has a theming system which you can use to customize pretty much any visual aspect of the program. Themes live outside the configuration file, so you can create a bunch of them and switch between them at any time.

Learn how to make your own — there is documentation in case something is not quite so clear.

Doctor

libmacchina can sometimes fail to fetch certain readouts, and macchina has a feature in place that describes why they failed. You don't have to guess what went wrong, --doctor has your back!

Configuration

The configuration file defines the behavior of macchina, it does not allow for much customization. See macchina.toml for an example configuration file.

In order for macchina to be able to read the configuration file, you need to place macchina.toml in:

Customization

Themes define the look, layout and styling of macchina. See Hydrogen.toml for an example theme.

In order for macchina to be able to find your themes, you need to place them in:

To start using your theme:

  1. Run macchina --list-themes to verify that macchina has listed your theme.
  2. Add that same name you see in your terminal to the theme option in macchina.toml
  3. You're good to go! macchina will start using your theme.

Dependencies

Build dependencies

The following are required dependencies if you're building from source or installing through cargo:

Runtime dependencies

The following are optional dependencies, they only extend what macchina can fetch:

Linux:

NetBSD:

Installation

Cargo

cargo install macchina

Pkgsrc

pkgin install macchina

openSUSE Tumbleweed

zypper in 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.

Packaging Status

Packaging status

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!

ASCII Art

Some of the ASCII art displayed in macchina is not our own.

If you (the artist) are not okay with us using your ASCII art, please contact me.