{"id":31912286,"url":"https://github.com/satunix/minifetch","last_synced_at":"2025-10-13T18:00:10.069Z","repository":{"id":315075170,"uuid":"1058006196","full_name":"SATUNIX/minifetch","owner":"SATUNIX","description":"A C based fetch tool. Header based configuration. Supports Arch. ","archived":false,"fork":false,"pushed_at":"2025-09-16T15:08:39.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-16T15:52:53.392Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SATUNIX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-16T13:52:51.000Z","updated_at":"2025-09-16T15:08:43.000Z","dependencies_parsed_at":"2025-09-16T15:52:55.025Z","dependency_job_id":"40a56675-d969-4ae3-894b-15203c84ac82","html_url":"https://github.com/SATUNIX/minifetch","commit_stats":null,"previous_names":["satunix/minifetch"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/SATUNIX/minifetch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SATUNIX%2Fminifetch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SATUNIX%2Fminifetch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SATUNIX%2Fminifetch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SATUNIX%2Fminifetch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SATUNIX","download_url":"https://codeload.github.com/SATUNIX/minifetch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SATUNIX%2Fminifetch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279016384,"owners_count":26085830,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-13T18:00:02.452Z","updated_at":"2025-10-13T18:00:10.052Z","avatar_url":"https://github.com/SATUNIX.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- -- ..-. ----- ----- ...-- -... -.-- ... .- - ..- -. .. -..- --\u003e\n# minifetch v3\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/db30cd35-f6d4-43e2-a288-7619f35f65ae\" alt=\"demo image\"\u003e\n\u003c/p\u003e\n\n\n[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) \n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![GitHub Stars](https://img.shields.io/github/stars/SATUNIX/minifetch?style=flat\u0026logo=github)](https://github.com/SATUNIX/minifetch/stargazers)\n[![GitHub Issues](https://img.shields.io/github/issues/SATUNIX/minifetch.svg)](https://github.com/SATUNIX/minifetch/issues)\n[![Last Commit](https://img.shields.io/github/last-commit/SATUNIX/minifetch.svg)](https://github.com/SATUNIX/minifetch/commits)\n[![Built with C99](https://img.shields.io/badge/built%20with-C99-informational)](#)\n[![Built with \u003c3](https://img.shields.io/badge/built%20with-%E2%9D%A4-red)](#)\n\n\n\n`minifetch` is a third-generation refresh of a tiny fetch utility I made: a single-purpose system info reporter written in strict ANSI C (C99) with zero runtime dependencies beyond libc/POSIX. The program renders a static UTF-8 logo beside the data table, ships a lean collector set that works everywhere, and layers a Linux-only build for `/proc` niceties.\n\n## Ethos\n- **Portable first**: core build sticks to POSIX.1-2008 APIs and avoids `popen`, JSON parsers, or external binaries.\n- **Predictable output**: UTF-8 logo is embedded at compile time; collectors return `-1` to drop unavailable lines gracefully.\n- **Small \u0026 auditable**: ~1.7KLOC spread across focused modules under `src/` and `include/`. Binaries of 003 are 36KB and 40KB with the linux extension. \n\n\n## Quick Start\n### Requirements\n- C compiler with C99 support (GCC/Clang work well)\n- POSIX make **or** CMake ≥ 3.16\n- `python3` (used by the logo embedding script)\n\n### Make Build\n```sh\nmake                # portable core binary ./minifetch\nmake minifetch-linux # extended build with MINIFETCH_LINUX_EXT\nmake clean          # remove binaries and build artefacts\n```\n\n### CMake Build\n```sh\ncmake -S . -B build\ncmake --build build\nctest --test-dir build\n```\nCMake generates both executables and wires the smoke test through CTest. Variable `MINIFETCH_BIN`/`MINIFETCH_LINUX_BIN` is forwarded automatically.\n\n## Usage\n```\n./minifetch [-a] [-c] [-q] [-h]\n```\n- `-a` include every collector (core + Linux extras when compiled with `MINIFETCH_LINUX_EXT`).\n- `-c` force monochrome output even when stdout is a TTY.\n- `-q` quiet mode; prints values only, one per line.\n- `-h` show usage text.\n\nExample (Linux build with `-a`):\n\n```\n████  ████  OS:        Arch Linux\n██  ██  ██  Kernel:    6.16.7-arch1-1\n██      ██  Host:      archlinux\n██  ██  ██  CPU:       32\n████  ████  Shell:     bash\n            Disk:      10.8 GiB / 931 GiB (1%)\n            Memory:    4.3 GiB / 126 GiB\n            Uptime:    1h 14m\n```\nPiping the output (e.g., `./minifetch | cat`) suppresses colour automatically while preserving the value column.\n\nSee an example of the hidden mode using the below linkg. (Called hidden mode due to ongoing development and tuning, use it with the long option --hidden).\nWould make a nice screensaver or something... \n\nhttps://raw.githubusercontent.com/SATUNIX/minifetch/4f499d02227d486f8784aa7d56270abc2c375a24/hidden.svg\n\n\n## Configuration \u0026 Logo Workflow\n- Compile-time toggles live in `include/config.h`. Adjust `CFG_SHOW_*`, colour ANSI escapes, or `CFG_LABEL_WIDTH` and rebuild (e.g., `make CFLAGS+=\"-DCFG_LABEL_WIDTH=12\"`).\n- Static art is sourced from `frames/logo.txt`. Edit the UTF-8 logo, then rebuild; the Makefile/CMake scripts regenerate `build/logo_data.c` through `tools/embed_logo.sh`.\n- Embedding script escapes non-ASCII bytes and records display width so multi-byte glyphs keep the info column aligned.\n\n## Tests\nRun the bundled smoke test after each build:\n```sh\n./tests/smoke.sh\n```\nIt verifies logo presence, colour suppression on pipes, and that Linux extras appear when available. CMake’s `ctest` target wraps the same script.\n\n## Technology Stack \n\n\u003cp align=\"center\"\u003e\n  \u003c!-- C --\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/c/c-original.svg\" alt=\"C\" width=\"100\" height=\"100\"/\u003e\n  \u003c!-- CMake --\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/cmake/cmake-original.svg\" alt=\"CMake\" width=\"100\" height=\"100\"/\u003e\n  \u003c!-- Bash --\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/bash/bash-original.svg\" alt=\"Bash\" width=\"100\" height=\"100\"/\u003e\n  \u003c!-- Linux --\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/linux/linux-original.svg\" alt=\"Linux\" width=\"100\" height=\"100\"/\u003e\n\n\u003c/p\u003e\n\n\n## Further Reading\n- `PORTABILITY.md` documents supported platforms, fallbacks, and known gaps.\n- `CONTRIBUTING.md` outlines coding style (C99, 4-space indent), testing expectations, and how to add new collectors.\n\nminifetch v3 stays intentionally small, dependency-free, and friendly to both humans and automation. Enjoy the fetch.\n\u003c!-- -- ..-. ----- ----- ...-- -... -.-- ... .- - ..- -. .. -..- --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsatunix%2Fminifetch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsatunix%2Fminifetch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsatunix%2Fminifetch/lists"}