Skip to content

Conversation

Toni500github
Copy link
Owner

@Toni500github Toni500github commented Jun 29, 2025

Neofetch has been an inspiration for many projects, even for fastfetch which has took its crown.
It has been used as a must-have for linux rices, especially in communities like r/unixporn.

There are many different neofetch-style programs out there, many beeing created for fetching system informations, others for fetching things such as github profiles i.e githubfetch

It was just a normal sunny day, when all of the sudden something snapped, something inside of me: custom fetch
So many neofetch-style programs out there being created for many but only sole purpose/use-case.

Right there I knew my new mission. To build a neofetch-style program that not only fetches system information, but one that can be extended with user-created libraries to fetch anything, while being able to use at your advantage its powerful parser.

Aight my bad for this "cinematic" paragraph.
I know that plugins are not really something new, but at the same time I never saw a neofetch-style program that can actually fetch other informations than what they have been created for.

If you want to see a POC for creating your own plugin, you can checkout customfetch-plugin-github

This PR is obviously still WIP, and it's going to break 99% of config.layout but is really fixable by just replacing underscores _ with dots .

TODO:

  • Create cufetchpm
  • Create manifest standard
  • Add config interfaces for the plugins
  • (maybe) Rewrite libcufetch in C for more languages support

Un-related commits that should be in main

  • 51742e7 makefile: force link with fmt static library
  • 7827407 misc: remove VENDOR_TEST and DEVICE_TEST
  • f6a56cf docs: fix some -h incorrections
  • 0104997 misc: fix crash with really big all_ids string in pci.ids.hpp
  • 907d567 44361a1 misc: fix some things
  • 1600cf1 misc: ditch selfmade command execute functions in favour of cross-platform tiny-proccess-library
  • 59c57c0 args: migrate GNU getopt to getopt_port

BurntRanch and others added 30 commits June 19, 2025 21:49
make common.hpp a header library file + move and refactor libdl macros
wm_name, wm_version, de_name are the remaining ones
@Toni500github
Copy link
Owner Author

bruh fuk I forgot what I was supposed to add next after 3 weeks 💀

Hey there, so sorry about missing out for 3 weeks, I was doing some other work for some prizes
and totally forgot about customfetch.

Though I can say it was a good thing leaving out customfetch for some time without thinking about it,
not saying that I don't like customfetch, at all, though I was just too much frustated contributing to the same codebase
every single day.

I'll merge this branch soon into main. The release v2.0 will still be long to go because of macOS support
I don't know why but it's so damn slow when printing to stdout and then to stderr, in my other program it was mixing up text input. I don't know if it's a bug fixed the latest {fmt} git version so I won't report it right away
Since we going to relay on a git-hash to wether or not update a plugin 'source' and almost no one would use a local path that is not a git repository

changed it also because it's clearer imo
most short duration feature ever :wilted_rose:
only this was missing. I think we ready to merge once the docs are ready
@Toni500github
Copy link
Owner Author

I think it's time to merge the branch.

There are maybe a couple of more things that can be added, but right now I think it's a good shape to be used in the main branch.

Everything that will be about plugins, to be not confused in the v2.0 changelog, will be starting with either plugins: or cufetchpm: or libcufetch:.

So it's time to get back to work for real in the main program after 2 months.

@Toni500github Toni500github merged commit f7185ed into main Sep 6, 2025
26 checks passed
@Toni500github Toni500github deleted the plugins branch September 6, 2025 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants