Skip to content

utox39/zigfetch

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

Note

For macOS users and contributors: see this Issue

Requirements

Linux only

Installation

Build from source

Note

If you want to use the master version of Zig, use the zig-master branch

# 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 Yes* 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

*(flatpak, nix, dpkg, pacman, xbps)

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

Images

Important

Only PNG images are supported.

To use images:

"images": [
    {
      "abs_path": "absolute_path/to/your/image.png",
      "height": 25,
      "width": 35
    },
    {
      "abs_path": "absolute_path/to/your/image2.png",
      "height": 30,
      "width": 35
    }
]

Don't use the ~ character.

If multiple images are specified, one will be selected pseudo-randomly.

Note

If both the images and ascii_abs_path fields are specified, the images are prioritized.

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!

About

Zigfetch is a minimal neofetch/fastfetch like system information tool

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors

Languages