Skip to content

max-tantan/netfetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

.__   __.  _______ .___________. _______  _______ .___________.  ______  __    __  
|  \ |  | |   ____||           ||   ____||   ____||           | /      ||  |  |  | 
|   \|  | |  |__   `---|  |----`|  |__   |  |__   `---|  |----`|  ,----'|  |__|  | 
|  . `  | |   __|      |  |     |   __|  |   __|      |  |     |  |     |   __   | 
|  |\   | |  |____     |  |     |  |     |  |____     |  |     |  `----.|  |  |  | 
|__| \__| |_______|    |__|     |__|     |_______|    |__|      \______||__|  |__| 
                                                                                   

netfetch

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.

Highlights

  • 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

What It Shows

  • 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

Preview

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

Requirements

  • Linux
  • Python 3.8+
  • rich

Optional helpers make some fields richer when available:

  • playerctl for currently playing media
  • mpc for MPD playback
  • nmcli for VPN detection through NetworkManager

Quick Start

netfetch is meant to be run from a local clone, not from PyPI.

  1. Clone the repository into the folder you want:
git clone https://github.com/max-tantan/netfetch.git ~/apps/netfetch
cd ~/apps/netfetch
  1. Create a virtual environment and install the project locally:
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
  1. Add an alias so netfetch works from your shell:
echo "alias netfetch='$HOME/apps/netfetch/.venv/bin/netfetch'" >> ~/.bashrc
source ~/.bashrc

If you saved the repo in a different path, replace ~/apps/netfetch with your own folder.

  1. Run it:
netfetch

Output Modes

  • --minimal shows a smaller, cleaner set of fields.
  • --no-logo keeps the info panel but hides the ASCII art.
  • --plain prints a plain text version that is easy to pipe or copy.

Examples:

netfetch --minimal
netfetch --no-logo
netfetch --plain

Notes

  • The implementation reads system data from /proc, /sys, lspci, and a few common Linux tools when available.
  • The logo is selected from /etc/os-release and falls back to a generic Linux mark when the distro is unknown.
  • The package counter is pacman-specific and will show Unknown on 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.

About

netfetch

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages