macchina lets you view system information, like your kernel version, uptime, memory usage, processor load and much more. macchina is basic by default and extensible by design.
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.
Execution time is measured using hyperfine
macchina is lightning fast, see for yourself:
This benchmark was performed on an Intel® Core™ i5-8265U
| Command | Mean [ms] | Min [ms] | Max [ms] |
| :--------- | --------: | -------: | -------: |
| macchina
| 2.8 ± 0.4 | 2.3 | 4.6 |
| Command | Mean [ms] | Min [ms] | Max [ms] |
| :--------- | --------: | -------: | -------: |
| macchina
| 5.0 ± 0.2 | 4.7 | 5.9 |
This benchmark was performed inside a virtual machine on an Intel® Core™ i5-8265U
| Command | Mean [ms] | Min [ms] | Max [ms] |
| :--------- | ---------: | -------: | -------: |
| macchina
| 17.7 ± 1.6 | 16.8 | 27.2 |
| Command | Mean [ms] | Min [ms] | Max [ms] |
| :--------- | --------: | -------: | -------: |
| macchina
| 9.0 ± 0.4 | 8.2 | 11.7 |
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.
Why are they separate?
Modularity — themes are an engine of their own, and their sole purpose is to provide an interface that allows for the modification of macchina's visual components. It makes sense to separate them from the main configuration file.
Portability — sure, the configuration file is shareable, but what if you wanted to share the look of your macchina and not its behavior? What if you wanted to switch between dozens of themes that you very carefully designed? The way we handle customization answers this need.
Learn how to make your own, and maybe have a look at the documentation while you're at it.
[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!
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
inside:
$XDG_CONFIG_HOME/macchina
on Linux and the BSDs.$HOME/.config/macchina
on macOS.%AppData%/macchina
on Windows.If macchina is not utilizing your configuration file, despite you placing it
in the correct location, you should tell macchina where to find it by passing
the file's path to --config
.
Themes are TOML files that describe the 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:
$XDG_CONFIG_HOME/macchina/themes
on Linux and the BSDs.$HOME/.config/macchina/themes
on macOS.%AppData%/macchina/themes
on Windows.To start using your theme:
Run macchina --list-themes
to verify that macchina has listed your theme.
If all goes well, you should see one or more themes listed.
In macchina.toml, set theme
to one of the listed
themes, e.g.:
bash
theme = "Helium" # case-sensitive!
The following are required dependencies if you're building from source or installing through cargo
:
The following are optional dependencies, they only extend what macchina can fetch:
Linux:
NetBSD:
cargo install macchina
pkgin install macchina
zypper in macchina
brew install macchina
pkg install macchina
scoop install macchina
<channel>
is nixpkgs
or nixos
:bash
nix-env -iA <channel>.macchina
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
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.
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!
Looking to help? Read this first.
The following are some awesome people that have helped make macchina a really cool fetcher:
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.