/afetch

Simple system info written in C - Made super fast with POSIX tools instead of calling package managers

Primary LanguageCGNU General Public License v3.0GPL-3.0

afetch

Simple system info

Fast and simple system info (for UNIX based operating systems) written in POSIX compliant C99, that can be configured at compile time by editing the config.h file. It uses the C Preprocessor to implement config options at compile time.

Why use afetch?

afetch is written in C99, meaning that it should be able to be compiled with almost all C compilers. As well as being written in a very fast language, it's multithreaded. This makes it even faster, as well as distinguishing it from similar programs written is POSIX sh. The only limitations it has is the speed of your distros package manager!

Requirements

Package count supported

  • Alpine
  • Arch
  • Arch7
  • ArchBang
  • Arco
  • Artix
  • CelOS
  • Debian
  • Deepin
  • Elementary OS
  • EndeavourOS
  • Fedora (slow due to package manager)
  • FreeBSD
  • Gentoo
  • MacOS (homebrew)
  • Manjaro
  • Mint
  • NetBSD
  • NixOS
  • OpenBSD
  • OpenSUSE Leap (slow due to package manager)
  • OpenSUSE Tumbleweed (slow due to package manager)
  • Parabola
  • Pop!_OS
  • postmarketOS
  • Slackware
  • Solus
  • Ubuntu
  • Void
  • Zorin

afetch is made to be run anywhere, but if your operating system isn't in the list above then open an issue! If on Linux please show the output of cat /etc/os-release, or if you're using something else then uname -s.

Configuration options

  • Custom text for each seperate row of info
  • Force upper/lowercase text
  • Option to print colour blocks, and choose a character for the block
  • More to be implemented soon

To do

  • Make README.md more dynamic (adapt to different screen sizes)
  • Add links to information about distros in README.md
  • Find more efficient ways to do certain things, like the /etc/os-release part on Linux.
  • Create CONFIG.md file with in depth guide to customisation

Thanks