This project is open and welcoming. Be respectful, constructive, and collaborative. Harassment, trolling, and personal attacks are not tolerated.
- Fork the repository on GitHub.
- Clone your fork locally.
- Create a feature branch (
git checkout -b feature/my-logo). - Add your logo and index entry following the rules below.
- Verify with
xfetch --gen-config --logo <your-distro>. - Commit your changes with a clear message.
- Push to your fork.
- Open a Pull Request from your branch to the main repository.
- Plain UTF-8 text, LF line endings, no control characters (no tabs, no NUL).
- Rectangular block of ~12 rows; pad shorter rows with spaces so every line has the same width.
- Width may vary up to ~60 columns; keep it consistent with the distro's existing art.
- Optional ANSI escape codes are allowed for colored logos.
{
"id": "my-distro", // os-release ID (lowercase, dashes)
"name": "My Distro",
"category": "linux", // linux | macos | windows
"family": "debian", // debian | arch | fedora | opensuse | independent | macos | windows
"aliases": ["my distro", "mydistro"], // include the os-release ID and ID_LIKE tokens
"file": "defaults/linux/my-distro.txt",
"colors": { "primary": "#A81D33", "secondary": "#D70A53" },
"url": "https://example.org",
"ansi": { "primary": 125, "secondary": 161 }
}
The aliases array is what makes detection work: it must include the real
ID of the distro in /etc/os-release (e.g. linuxmint for
Linux Mint, whose file is linux-mint.txt).
Once the catalog is pushed, test the entry end-to-end:
xfetch --gen-config --logo my-distro