microfetch/README.md

70 lines
2.2 KiB
Markdown
Raw Normal View History

2024-08-03 17:08:47 +00:00
# Microfetch
2024-08-04 13:35:16 +00:00
A stupidly simple fetch tool, written in Rust. Runs in a fraction of a second,
displays most nonsense people on r/unixporn care about. Aims to replace
fastfetch on my system, but probably not on yours. Though you are more than
welcome to use it on your system: it's fast.
![Demo](.github/assets/demo.png)
2024-08-03 17:08:47 +00:00
## Features
2024-08-04 13:35:16 +00:00
- Fast
- Really fast
- Minimal dependencies
- Actually really fast
2024-08-04 13:35:16 +00:00
- Cool NixOS logo (other, inferior, distros are not supported)
- Reliable detection of following info:
- Hostname/Username
- Kernel
- Name
- Version
- Architecture
- Current shell (from $SHELL)
- WM/Compositor and display backend
- Memory Usage/Total Memory
- Storage Usage/Total Storage (for `/` only)
- Shell Colors
- Did I mention fast?
## Benchmarks
Microfetch's performance is mostly hardware-dependant, however, the overall
trend seems to be < 2ms on any modern (2015 and after) CPU. Below are the
benchmarks with Hyperfine on my desktop system.
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
| :-------------------------- | --------: | -------: | -------: | -------: |
| `target/release/microfetch` | 1.3 ± 0.1 | 1.2 | 3.7 | 1.00 |
On an average configuration, this is roughly 25 times faster than fastfetch and
around 80 times faster than neofetch. Results, as stated above, may vary.
2024-08-04 13:35:16 +00:00
## Customizing
You can't.
### Why?
Customization, of any kind, is expensive: I could try reading environment
variables, parse command-line arguments or read a configuration file but all of
those increment execution time and resource consumption by a lot.
### Really?
To be fair, you _can_ customize Microfetch by... Well, patching it. It's not the
best way per se, but it will be the only way that does not compromise on speed.
## Contributing
I will, mostly, reject feature additions. This is not to say you should avoid
them altogether, as you might have a really good idea worth discussing but as a
general rule of thumb consider talking to me before creating a feature PR.
Contributions that help improve performance in specific areas of Microfetch are
welcome. Though, prepare to be bombarded with questions.
2024-08-04 13:35:16 +00:00
## License
2024-08-03 17:08:47 +00:00
2024-08-04 13:35:16 +00:00
Microfetch is licensed under [GPL3](LICENSE). See the license file for details.