Thanks for contributing to the xfetch config collection.
This repository holds presets, layouts and example configs for the core
(xfetch/) and for plugins (plugins/).
- Fork the repository and create a feature branch.
- Add or update your config in the right folder:
-
xfetch/defaults/— the default config reference.xfetch/presets/layouts/— layout presets (layout_<name>[_full].jsonc).xfetch/presets/showcase/— showcase configs demonstrating modules, colors and options.plugins/<plugin-name>/— configs that require a plugin binary.
-
Run the validation CI locally before opening the PR:
bash scripts/ci.sh(Linux/macOS) or./scripts/ci.ps1(Windows). It parses every.jsonc/.jsonfile. - Test the config end-to-end:
xfetch --config <path>. - Add an entry to CHANGELOG.md.
- Open a pull request. PRs that fail validation are rejected.
- Files are JSONC: valid JSON plus
//and/* */comments and trailing commas. They must parse cleanly. - Only reference config keys the installed xfetch version supports (see the configuration guide).
- Layout presets must use a valid layout name and follow the existing
layout_<name>.jsoncnaming. - Plugin configs live under
plugins/<plugin-name>/and must declare the plugin ininfo_pluginswith its binary name. - Keep the collection portable: no machine-specific paths, usernames or absolute paths in committed files.
- Prefer colors and icons from the supported names (colors:
Black–Whiteplus dark variants; icons: any text, including Nerd Font glyphs).
Be respectful, constructive, and collaborative. Harassment, trolling, and personal attacks are not tolerated.