Like fastfetch but a little bit faster. Written in flat assembler (fasm).
- ASCII art
- username@hostname
- OS
- kernel+version
- shell name
- terminal name
- displays
- uptime
- total process count
- motherboard (host field in fastfetch)
- CPU name
- GPU name (handle many? seems a pain)
- RAM usage
- disk usage
- swap usage
- local IP?
- terminal font?
- system font?
- color swatches
Items suffixed with ? are maybes.
Warning
Only x86_64-linux is supported.
nix run github:plumj-am/fasmfetchOr add this flake as an input and add fasmfetch to your packages.
# flake.nix
{
inputs.fasmfetch = {
url = "github:plumj-am/fasmfetch";
inputs.nixpkgs.follows = "nixpkgs";
};
}
# packages.nix
{
environment.systemPackages = [
inputs.fasmfetch.packages.x86_64-linux.default
];
}You will, at the very least, need the flat assembler. If you use Nix, you can use the provided devshell which includes all the necessary dependencies and more.
git clone https://git.plumj.am/plumjam/fasmfetch
cd fasmfetch
just run
# or
fasm main.S target/fasmfetch
./target/fasmfetchfasmfetch has a flag to hide each of its outputs so you can customise it as you wish.
https://github.com/plumj-am/fasmfetch/issues
usage:
ff | fasmfetch [options]
options:
-n --no-header Hide the 'fasmfetch' header from the output
-nk --no-kernel Hide the kernel line
-ns --no-shell Hide the shell line
-nt --no-term Hide the terminal line
-ne --no-editor Hide the editor line
-nw --no-wm Hide the wm line
-nu --no-uptime Hide the uptime line
-np --no-procs Hide the procs line
-nr --no-ram Hide the ram line
-na --no-swap Hide the swap line
-nw --no-swatches Hide the color swatches
-h --help Show this help screenI plan to add support for setting these via an environment variable but, for now, it's best to add them as an alias to your shell config.
In Nushell for example:
alias ff = ff -n -nt -nwThis will hide the header, terminal, and color swatches.
Benchmarked with Hyperfine on commit b6cc005b16.
Benchmark 1: ./result/bin/fasmfetch
Time (mean ± σ): 106.4 µs ± 10.7 µs [User: 66.9 µs, System: 4.1 µs]
Range (min … max): 93.5 µs … 144.1 µs 100 runs
Benchmark 2: fastfetch
Time (mean ± σ): 195.9 ms ± 40.0 ms [User: 70.5 ms, System: 38.2 ms]
Range (min … max): 172.4 ms … 290.2 ms 100 runs
Summary
./result/bin/fasmfetch ran
1842.08 ± 419.05 times faster than fastfetch
All benchmarks are ran on the same host. The workflow can be seen in
.forgejo/workflows/ci.yml.
The MIT License (MIT)
Copyright (c) 2026-present PlumJam <git@plumj.am>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.