41af32456429cbebd7f54b9ee65f2a5f9806eec7
Zigfetch
| Default config | Custom config |
|---|---|
![]() |
![]() |
Description
Zigfetch is a minimal neofetch/fastfetch like system information tool
Requirements
- >= zig v0.15.2
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/
Via Homebrew
brew install utox39/tap/zigfetch
Other package managers
- nixpkg: Thanks to @heisfer
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.
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!

