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.
macchina is lightning fast, see for yourself:
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 |
| Command | Mean [ms] | Min [ms] | Max [ms] |
| :--------- | --------: | -------: | -------: |
| macchina
| 5.0 ± 0.2 | 4.7 | 5.9 |
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 |
| Command | Mean [ms] | Min [ms] | Max [ms] |
| :--------- | --------: | -------: | -------: |
| macchina
| 9.0 ± 0.4 | 8.2 | 11.7 |
macchina comes equipped with built-in themes that style their readouts, bars and separators differently. No extra configuration required.
Bars provide a way to visualize data, and each theme styles them differently.
They can be enabled using the --bar
flag.
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
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.
macchina.toml
in $XDG_CONFIG_HOME/macchina
You can also create custom themes in JSON
format and use them instead of the
built-in themes that we provide.
$XDG_DATA_HOME/macchina/themes
, here's an
example of such a theme: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"
}
These runtime dependencies are not required, but they extend what macchina can do.
cargo install macchina
pkgin install macchina
brew install macchina
pkg install macchina
```bash
git clone https://aur.archlinux.org/macchina.git cd macchina makepkg -si
git clone https://aur.archlinux.org/macchina-git.git macchina cd macchina makepkg -si ```
Where <channel>
is probably nixpkgs
or nixos
:
bash
nix-env -iA <channel>.macchina
The installation wiki page lists some other ways you can install the program. You might also prefer running the prebuilt binary that corresponds with your operating system.
| Platform | Support | | :-------: | :-----: | | GNU/Linux | ✓ | | NetBSD | ✓ | | macOS | ✓ | | Windows | 80% | | OpenWrt | ✓ | | Android | ✓ |
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!