Skip to content

plumj-am/fasmfetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fasmfetch

Like fastfetch but a little bit faster. Written in flat assembler (fasm).

Progress

  • 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.

Install

Warning

Only x86_64-linux is supported.

Nix

nix run github:plumj-am/fasmfetch

Or 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
  ];
}

From source

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/fasmfetch

Usage

fasmfetch 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 screen

I 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 -nw

This will hide the header, terminal, and color swatches.

Performance

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.

License

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.

About

Like fastfetch but a little bit faster. Written in flat assembler (fasm). [mirror]

Resources

License

Stars

Watchers

Forks

Contributors