.__ __. _______ .___________. _______ _______ .___________. ______ __ __
| \ | | | ____|| || ____|| ____|| | / || | | |
| \| | | |__ `---| |----`| |__ | |__ `---| |----`| ,----'| |__| |
| . ` | | __| | | | __| | __| | | | | | __ |
| |\ | | |____ | | | | | |____ | | | `----.| | | |
|__| \__| |_______| |__| |__| |_______| |__| \______||__| |__|
netfetch is a fast terminal system fetcher for Linux with distro-aware styling, compact output, and a personality that adapts to the system you are on.
- distro-specific ASCII logos with a tighter, more polished layout
- distro persona styling for accents, headers, and tone
- system info that includes CPU, GPU, CPU temperature, storage, battery, VPN status, and currently playing media
- lightweight rendering through
rich
- user and host
- OS, kernel, uptime, shell, DE/WM
- CPU, GPU, CPU temperature, music playback, VPN status, memory, storage, and battery info
- a colored ASCII logo that adapts to the detected distro
- a distro persona that changes the tone, accent color, and header style
.------. demo@yourhost
.-' .--. '-. ──────────────────────────
/ .' '. \ OS » DemoOS
| / .--. \ | Kernel » 6.8.0-demo
| | (____) | | Uptime » 3h 24m
| \ / | Packages » 842 (pacman)
\ '.____.' / Shell » bash
'-. .-' WM/DE » Hyprland
'------' CPU » Demo Processor @ 3.20GHz
o o o GPU » Demo Graphics
CPU Temp » 56.2°C
Playing » Artist - Song Title
VPN » Connected (wg0)
Memory » 6.1 GiB / 15.6 GiB (39%)
Storage » 120.4 GiB / 512.0 GiB (23%) [SSD]
Battery » 78% [⚡ Charging]
- Linux
- Python 3.8+
rich
Optional helpers make some fields richer when available:
playerctlfor currently playing mediampcfor MPD playbacknmclifor VPN detection through NetworkManager
netfetch is meant to be run from a local clone, not from PyPI.
- Clone the repository into the folder you want:
git clone https://github.com/max-tantan/netfetch.git ~/apps/netfetch
cd ~/apps/netfetch- Create a virtual environment and install the project locally:
python3 -m venv .venv
source .venv/bin/activate
pip install -e .- Add an alias so
netfetchworks from your shell:
echo "alias netfetch='$HOME/apps/netfetch/.venv/bin/netfetch'" >> ~/.bashrc
source ~/.bashrcIf you saved the repo in a different path, replace ~/apps/netfetch with your own folder.
- Run it:
netfetch--minimalshows a smaller, cleaner set of fields.--no-logokeeps the info panel but hides the ASCII art.--plainprints a plain text version that is easy to pipe or copy.
Examples:
netfetch --minimal
netfetch --no-logo
netfetch --plain- The implementation reads system data from
/proc,/sys,lspci, and a few common Linux tools when available. - The logo is selected from
/etc/os-releaseand falls back to a generic Linux mark when the distro is unknown. - The package counter is pacman-specific and will show
Unknownon non-Arch systems for now. - CPU temperature, VPN status, and playback info all use best-effort fallbacks when the relevant tools or sensors are missing.
Build high. Fall hard. Rise higher.