Fast, minimal and customizable system information fetcher.
Linux • macOS • Windows • NetBSD • OpenWrt • Android
Macchina lets you view basic system information, like your hostname, kernel, uptime, memory usage, and much more. It provides you with convenient features and extensive customization options but doesn't lose sight of its two main priorities, minimalism and performance.
Are you ricing your desktop and would like a program to display your system information, or you want it to load as soon as you open your terminal?
Macchina has you covered.
If you're interested in the library Macchina uses to fetch your system information, check out libmacchina, any issues relating to fetching should be filed on that repository.
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 I envisioned for it.
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
Macchina is pretty fast, see for yourself!
- Execution time is measured using hyperfine
Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
---|---|---|---|---|
macchina |
10.0 ± 0.5 | 7.0 | 10.8 | 1.00 |
neofetch |
214.9 ± 1.4 | 213.0 | 216.6 | 21.39 ± 1.01 |
macchina
runs 21.39 ± 1.01 times faster than neofetch
Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
---|---|---|---|---|
macchina |
5.0 ± 0.2 | 4.7 | 5.9 | 1.00 |
neofetch |
484.5 ± 4.3 | 477.2 | 492.3 | 97.10 ± 3.84 |
macchina
runs 97.10 ± 3.84 times faster than neofetch
Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
---|---|---|---|---|
macchina |
23.0 ± 2.5 | 21.2 | 32.0 | 1.00 |
neofetch |
275.9 ± 11.3 | 267.4 | 296.0 | 12.00 ± 1.38 |
macchina
runs 12.00 ± 1.38 times faster than neofetch
Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
---|---|---|---|---|
macchina |
9.0 ± 0.4 | 8.2 | 11.7 | 1.00 |
neofetch |
2207.7 ± 53.8 | 2127.1 | 2325.9 | 244.38 ± 13.43 |
macchina
runs 244.38 ± 13.43 times faster than neofetch
The themes wiki page contains a list of all the built-in themes that you can switch between using the --theme
flag.
Bars provide a way to visualize data, and each theme styles them differently. They can be enabled using the --bar
flag.
- Host
- Username
- Hostname
- Product
- Kernel
- Distribution
- Operating System
- Desktop Environment
- Window Manager
- Package Count [1]
- Terminal
- Shell
- Uptime
- Processor
- Model
- Logical Cores
- Local IP Address
- Processor Usage
- Memory Usage
- Battery
- Percentage
- Status
- Palette
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 comes packed with arguments that let you customize its behavior and styling.
The usage wiki page can tell you all about them and how they work.
wmctrl
- Gentoo Only:
portage-utils
wmctrl
The dependencies wiki page explains why these dependencies exist.
cargo install macchina
pkgin install macchina
brew install Macchina-CLI/homebrew-tap/macchina
- Macchina — latest release:
git clone https://aur.archlinux.org/macchina.git
cd macchina
makepkg -si
- Macchina —
main
branch:
git clone https://aur.archlinux.org/packages/macchina-git macchina
cd macchina
makepkg -si
Macchina's installation wiki page lists 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 | Yes |
NetBSD | Yes |
macOS | Yes |
Windows | 80% |
OpenWrt | Yes |
Android | Yes |
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!
- Support for NetBSD would not have been possible without the help and testing of NetBSD/pkgsrc package maintainer pin
- Support for macOS and Windows would not have been possible without the help, testing and major contributions of 123marvin123
- Support for OpenWrt and Android was made possible through the contributions of uttarayan21