/zigfetch

Zigfetch is a minimal neofetch/fastfetch like system information tool

Primary LanguageZigMIT LicenseMIT

Zigfetch

Zig GitHub Release GitHub License GitHub Actions Workflow Status macOS Linux

Default config Custom config
dafault-config custom-config

Description

Zigfetch is a minimal neofetch/fastfetch like system information tool

Requirements

Linux only

Installation

Build from source

# Clone the repo
$ git clone https://github.com/utox39/zigfetch.git

# cd to the path
$ cd path/to/zigfetch

# Build zigfetch
$ zig build -Doptimize=ReleaseSafe

# Then move it somewhere in your $PATH. Here is an example:
$ mv ./zig-out/zigfetch ~/bin/
$ brew install utox39/tap/zigfetch

Other package managers

Packaging status

Usage

$ zigfetch

Configuration

Important

Currently, Zig does not have a built-in library for JSON validation via JSON schema, so it is very important to follow the pattern shown in the default configuration file (config.json) to avoid errors

  • Create the config folder
$ mkdir -p ~/.config/zigfetch
  • Create the config file
$ cd ~/.config/zigfetch
$ touch config.json
  • Or copy the default config (preferred way)
$ cp /path/to/zigfetch/config.json ~/.config/zigfetch/config.json

Modules

Available modules:

  • Os
  • Kernel
  • Uptime
  • Packages
  • Shell
  • Cpu
  • Gpu
  • Ram
  • Swap
  • Disk
  • Net
  • WM (Window Manager)
  • Terminal
  • Locale
  • Custom
Module type Linux macOS Windows
os Yes Yes WIP
kernel Yes Yes WIP
uptime Yes Yes WIP
packages WIP Yes (Homebrew, Macports) WIP
shell Yes (bash, zsh) Yes (bash, zsh) WIP
cpu Yes Yes WIP
gpu Yes Yes (Apple Silicon only) WIP
ram Yes Yes WIP
swap Yes Yes WIP
disk Yes Yes WIP
net Yes Yes WIP
wm Yes Yes WIP
terminal Yes Yes WIP
locale Yes Yes WIP
  "modules": [
    {
      "type": "os",
      "key": "OS",
      "key_color": "#5E81AC"
    },
    ...
  ]

Custom module

  "modules": [
    {
      "type": "custom",
      "key": "-----------",
      "key_color": "#5E81AC"
    },
    ...
  ]

Custom ASCII art

To use an ASCII art of your choice:

"ascii_abs_path": "absolute_path/to/your/ascii_art.txt"

Don't use the ~ character.

Username and Hostname color

To change the Username and Hostname color (HEX colors only):

"username_hostname_color": "#5E81AC"

Roadtrip

  • Add ASCII art for each operating system and Linux distro
  • Add GPU info for Linux
  • Add packages info for Linux
  • Add user customization
  • Add support for Windows

Contributing

Please see CONTIBUTING. Thanks!