Skip to content

SharktasticA/shorkfetch

Repository files navigation

shorkfetch

A Linux tool for displaying basic system and environment information in a summarised format. It is a *fetch clone (similar to neofetch, fastfetch, etc.) without complex or customisable art and less fields, but also significantly faster than most alternatives. It is primarily written for use with SHORK Operating Systems like SHORK 486, designed suitable for use on a wide range of hardware going back to the 486 era. But it works on modern Linux systems just fine.

shorkfetch also has a focus on providing clean CPU and GPU name reporting, especially for vintage hardware and Intel integrated graphics. Data sources available for such can have too generic or 'messy' names, thus shorkfetch is designed to help address this.

A screenshot of shorkfetch running on SHORK 486

Help wanted!

shorkfetch is young, and I would love to hear from you if you have tried shorkfetch and found that (in particular) the DE, WM and/or GPU fields were incorrect or imprecise, or in your opinion, were overly verbose, containing marks like "(R)", "TM", etc. and could likely be shortened without compromising understanding. Feel free to create an issue here or contact me via email, Discord (@sharktastica) or Reddit (u/sharktastica), and I will take your feedback on board! Please include a screenshot of your shorkfetch's output, some context about your system's real specifications, and especially the result of echo $XDG_CURRENT_DESKTOP for DE/WM related reports.

Installing

Arch

shorkfetch is available on the AUR.

yay -S shorkfetch

Everything else (quick compilation)

This assumes you already have the prerequisites for compilation already installed.

curl -fsSL https://raw.githubusercontent.com/SharktasticA/shorkfetch/refs/heads/main/install.sh | bash

Building

Requirements

You just need a C compiler (tested with GCC with either glibc or musl) and make installed.

Compilation

Simply run make to compile shorkfetch. There are some flags you can use individually or together to add styling to shorkfetch. Note that if you switch between compiling with or without any of the flags, you will need to run make clean before compiling again.

Custom colour accent

shorkfetch has an accent colour it uses for the ASCII art, field titles, the username and the hostname. You can compile with a specific accent colour by using the COL flag with one of the available colour names; for example, make COL=MAGENTA. BOLD_CYAN is the default and used as a fallback if a given colour name is invalid.

BLACK           BLUE            CYAN            GREEN  
MAGENTA         RED             WHITE           YELLOW
GREY            BOLD_BLUE       BOLD_CYAN       BOLD_GREEN
BOLD_MAGENTA    BOLD_RED        BOLD_WHITE      BOLD_YELLOW

Whilst the accent colour can be turned off when running with the -nc/--no-col argument, you can also permanently disable it by compiling with COL=OFF instead.

Disable ASCII art

shorkfetch has pre-programmed ASCII art normally intended for use with SHORK Operating Systems. Whilst this can be hidden when running with the -na/--no-art argument, you can also permanently disable it when compiling by using the NO_ART flag with any value assigned to it; for example, make NO_ART=1.

Installation

Run make install to install to /usr/bin (you may need sudo if not installing as root). If you want to install it elsewhere, you can override the install location prefix like make PREFIX=/usr/local install. You may include the COL and/or NO_ART flags as well.

Possible errors

Errors with static building

If you experience errors with building shorkfetch statically, you can modify the Makefile to comment out or delete the line LDFLAGS += -static to build dynamically instead.

Running

Usage: shorkfetch [OPTIONS]

Options

  • -b, --bullets: Uses bullet points instead of field headings; can also be used to specific a custom character
  • -ca, --categories: Groups and divides similar fields with dashed lines
  • -c, --compact: Compacts field names (if not using bullets) and field values
  • -f, --fields: Allows you to specify which fields to show via a comma-separated list (os,krn,...)
  • -h, --help: Shows help information and exits
  • -na, --no-art: Disables the SHORK ASCII art (if compiled with art support)
  • -nc, --no-col: Disables all coloured output (if compiled with colour support)
  • -v, --version: Displays version number and exits

Field names

These are possible field names you can use with the --fields argument. The feature does not support using them to specify field order (yet).

  • os: OS
  • krn: Kernel
  • upt: Uptime
  • pkgs: packages
  • scn: Screen(s)
  • de: Desktop environment
  • wm: Window manager and/or Wayland compositor
  • trm: Terminal emulator/console size
  • sh: Shell
  • cpu: CPU
  • gpu: GPU(s)
  • ram: RAM
  • swap: Swap size
  • root: Root partition size
  • lip: Local IP

Screenshots

shorkfetch on real hardware + Debian 13

A screenshot of shorkfetch running on SHORK 486

shorkfetch on 86Box + SHORK 486

A screenshot of shorkfetch running on SHORK 486

shorkfetch on VMware Workstation + SHORK 486

A screenshot of shorkfetch running on SHORK 486

About

A fast Linux tool for displaying basic system & environment info in a summarised format

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors