Skip to content

Latest commit

Β 

History

History
137 lines (99 loc) Β· 3.32 KB

File metadata and controls

137 lines (99 loc) Β· 3.32 KB

πŸ–₯️ About This System

A better way to get system information on Linux

Latest Release GitHub top language

Modern, GTK4-based system information viewer inspired by macOS' "About This Mac" dialog.
NurOS' About This System provides a clean and elegant interface to display detailed system information.


🌟 Features

  • ✨ Modern GTK4 interface with libadwaita
  • πŸ’» Comprehensive system info:
    • OS details & kernel version
    • CPU info (with libcpuid support)
    • Memory usage with percentages
    • GPU information
    • System uptime
    • Storage info
    • Serial number (when available)
  • πŸ“ Responsive design for any window size
  • πŸ–₯️ Native Linux integration
  • ⚑ Fast & lightweight (Vala + C)

πŸ› οΈ Dependencies

Library Purpose
GTK4 β‰₯ 4.6 GUI toolkit
libadwaita β‰₯ 1.2 Modern GNOME components
GLib β‰₯ 2.70 Core library
GIO Virtual file system API
libcpuid Optional: enhanced CPU info
Gee β‰₯ 0.8 Collections framework

Ubuntu/Debian:

sudo apt update
sudo apt install build-essential meson valac libgtk-4-dev libadwaita-1-dev libglib2.0-dev libgio2.0-dev libcpuid-dev libgee-0.8-dev

Fedora:

sudo dnf install meson vala gtk4-devel libadwaita-devel glib2-devel libcpuid-devel libgee-devel

Arch Linux:

sudo pacman -S meson vala gtk4 libadwaita glib2 libcpuid libgee

βš™οΈ Build, Install & Run

Build:

git clone https://github.com/nuros-linux/ats
cd ats
make setup
make compile

Install (optional):

sudo make install

Run:

./builddir/src/ats   # from build dir
ats                  # if installed system-wide

πŸ—οΈ Architecture

  • Frontend: Vala + GTK4 + libadwaita
  • Backend: C for fast system info gathering
  • Resources: Embedded SVGs via GResource

Key Files

  • src/ui/main.vala β€” Main UI logic
  • src/ui/Logotypes.vala β€” Logotypes dictionary
  • src/info.c & src/info.h β€” System info functions
  • data/ats.gresource.xml β€” Resource bundle

🀝 Contributing

  1. Fork & create a branch (git checkout -b feature/my-feature)
  2. Make changes & test (meson test -C builddir)
  3. Commit & push
  4. Open a Pull Request

Code Style:

  • Clear, descriptive names
  • Single-purpose functions
  • Comment complex logic

πŸ“„ License

GPL-3.0


πŸŽ‰ Acknowledgments

  • Inspired by macOS "About This Mac"
  • Built with GTK4 & libadwaita
  • Logo adapted from classic Tux penguin
  • Thanks to the GNOME Project

Note

If you encounter issues:

  1. Check the Issues page
  2. Create a new issue with detailed info
  3. Include your distro, GTK version, and errors

Made with ❀️ by bonnie