{"id":16137531,"url":"https://github.com/ntbbloodbath/lcfetch","last_synced_at":"2025-06-22T07:35:14.881Z","repository":{"id":41982344,"uuid":"395388901","full_name":"NTBBloodbath/lcfetch","owner":"NTBBloodbath","description":"A fast and easy to configure alternative to neofetch written in C and configured using Lua","archived":false,"fork":false,"pushed_at":"2024-09-03T21:12:16.000Z","size":322,"stargazers_count":23,"open_issues_count":6,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-02-28T10:50:15.206Z","etag":null,"topics":["c","fetch","linux","lua","system-information"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NTBBloodbath.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2021-08-12T17:00:05.000Z","updated_at":"2022-07-29T22:06:40.000Z","dependencies_parsed_at":"2024-10-27T18:22:39.227Z","dependency_job_id":"0029b180-ca99-4f2f-9be7-346e1561e7d7","html_url":"https://github.com/NTBBloodbath/lcfetch","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NTBBloodbath%2Flcfetch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NTBBloodbath%2Flcfetch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NTBBloodbath%2Flcfetch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NTBBloodbath%2Flcfetch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NTBBloodbath","download_url":"https://codeload.github.com/NTBBloodbath/lcfetch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243940088,"owners_count":20372045,"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","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":["c","fetch","linux","lua","system-information"],"created_at":"2024-10-09T23:27:48.443Z","updated_at":"2025-03-18T16:30:30.302Z","avatar_url":"https://github.com/NTBBloodbath.png","language":"C","readme":"\u003cdiv align=\"center\"\u003e\n\n# lcfetch\n\n![License](https://img.shields.io/github/license/NTBBloodbath/lcfetch?style=flat-square)\n[![build](https://github.com/NTBBloodbath/lcfetch/actions/workflows/build.yml/badge.svg)](https://github.com/NTBBloodbath/lcfetch/actions/workflows/build.yml)\n\n![lcfetch demo](https://user-images.githubusercontent.com/36456999/133947515-0116a6fe-8e1e-4c23-a181-8d055a0071e2.png)\n\n\u003c/div\u003e\n\nA fast and easy to configure alternative to [neofetch](https://github.com/dylanaraps/neofetch)\nwritten in C and configured using Lua!\n\n\u003e **IMPORTANT**: I'm a newbie using C and the Lua C API so if you see something wrong\n\u003e please let me know!\n\n## Installation\n\nYou can grab the latest release from our [releases](https://github.com/NTBBloodbath/lcfetch/releases/latest)\nor if you want to live in the bleeding-edge with the latest features you can [build from source](#building-from-source).\n\n\u003e **NOTE**: lcfetch was tested only with Lua `5.3+` but should work as expected with earlier\n\u003e Lua versions.\n\n### Building from source\n\n#### Installing dependencies\n\nThe packages listed below are optional because lcfetch will download `Lua 5.3.6` locally\nby default in order to avoid installing extra stuff in your system and libraries if they\naren't installed in your system.\n\n\u003e **IMPORTANT**: xmake is not in all distributions repositories,\n\u003e please refer to xmake [installation guide](https://xmake.io/#/guide/installation).\n\n##### Ubuntu\n\n```sh\napt install lua5.3 liblua5.3-dev libx11-dev libxrandr-dev libreadline-dev\n```\n\n##### Fedora\n\n```sh\ndnf install lua lua-devel libX11-devel libXrandr-devel readline-devel\n```\n\n##### Arch\n\n```sh\npacman -S lua53 libx11 libxrandr readline\n```\n\n##### Termux\n\n```sh\napt install xmake lua53 liblua53 libx11 libxrandr readline xorgproto\n```\n\n\u003e **NOTE**: isn't your distro covered here but you know the exact packages names? Please\n\u003e send a Pull Request!\n\n---\n\nNow that you have the system-wide dependencies you can proceed to build and install lcfetch!\n\n```sh\ngit clone --depth 1 https://github.com/NTBBloodbath/lcfetch.git \\\n    \u0026\u0026 cd lcfetch\n```\n\nFor speeding up things, you can simply use our [XMake file](./xmake.lua).\n\nThe `lcfetch` target (the default one) will automatically download the required\nthird-party dependencies for building lcfetch (`Lua 5.3.6` and system dependencies like `libxrandr` if needed).\n\n```sh\n# For only building lcfetch\nxmake\n\n# For building and installing lcfetch, lcfetch will be installed at '~/.local/bin'\nxmake install\n```\n\n\u003e **IMPORTANT**: if you don't have clang installed you will need to change the compiler\n\u003e by adding `--cc=gcc` in your xmake call.\n\n#### Troubleshooting\n\n1. If you're getting an error related to `Xatom.h` header during compilation you will\n     need to install `xorgproto` package (don't know if the package name changes in some distros tho).\n\n## Usage\n\nFor starting lcfetch you will only need to type `lcfetch` in your terminal.\n\nlcfetch also provides a CLI with some options.\n\n```\n$ lcfetch --help\nUsage: lcfetch [OPTIONS]\n\nOPTIONS:\n    -c, --config /path/to/config    Specify a path to a custom config file\n    -h, --help                      Print this message and exit\n    -v, --version                   Show lcfetch version\n\nReport bugs to https://github.com/NTBBloodbath/lcfetch/issues\n```\n\n\u003e See `man lcfetch` for more information about usage and configurations.\n\n### Configuring lcfetch\n\nlcfetch uses the [Lua scripting language](https://www.lua.org/) as its configuration\nlanguage.\n\nWhen installing lcfetch with `XMake` we will automatically copy the default configurations\nunder the default configurations path for lcfetch (`~/.config/lcfetch/config.lua`).\n\n\u003e **NOTE**: if you didn't installed lcfetch with `xmake install` you will need to copy the file\n\u003e by yourself under `~/.config/lcfetch` directory. The default configurations file is\n\u003e located under [config](./config) directory in the repository.\n\nAll the configuration options are self-documented and easy to understand.\n\n## Uninstalling\n\nFor uninstalling lcfetch you can simply run `xmake uninstall` in the lcfetch directory.\n\nThis command will remove the lcfetch binary from `~/.local/bin` directory and also\nthe lcfetch man pages from `~/.local/share/man/man1`.\n\n\u003e **NOTE**: you will need to refresh your `mandb` to completely remove lcfetch man pages.\n\n## Acknowledgements\n\n- [dylanaraps](https://github.com/dylanaraps), creator of `neofetch`. We _will_\n  extract some ASCII distribution logos from `neofetch`.\n- [rxi](https://github.com/rxi), lcfetch is using his [log.c](https://github.com/rxi/log.c)\n  library for providing error logs in a fancy way.\n- [wmctrl](http://tripie.sweb.cz/utils/wmctrl/) creator (I don't know who is),\n  I extracted the window manager name logic from his awesome program.\n- All the amazing people who helped me to test stuff :heart:.\n\n## Contribute\n\n1. Fork it (https://github.com/NTBBloodbath/lcfetch/fork)\n2. Create your feature branch (\u003ckbd\u003egit checkout -b my-new-feature\u003c/kbd\u003e)\n3. Commit your changes (\u003ckbd\u003egit commit -am 'Add some feature'\u003c/kbd\u003e)\n4. Push to the branch (\u003ckbd\u003egit push origin my-new-feature\u003c/kbd\u003e)\n5. Create a new Pull Request\n\n## Todo\n\n- [x] Support for some missing essential fields (e.g. `Packages`, `WM`)\n- [x] Stop hardcoding the ASCII distro logo and accent color\n- [x] Add more configurations\n- [x] Strip content on non-wide terminals if we need to (like neofetch)\n- [ ] Add support for MacOS (probably the last thing to be done?)\n- [ ] Add support for images (we can use icat, uberzug or kitty protocols)\n\n## License\n\nlcfetch is distributed under [GPLv2 license](./LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntbbloodbath%2Flcfetch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fntbbloodbath%2Flcfetch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntbbloodbath%2Flcfetch/lists"}