Docs › Add a distro

Add a distro

Adding a new Linux distribution takes less than five minutes. All you need to know is the name of the package manager command used to install packages on that distro.

Step 1 — Create the distro file

Inside the content/distros/ folder, create a new JSON file named after the distro slug (lowercase, no spaces):

content/distros/fedora.json

Step 2 — Fill in the fields

{
  "name": "Fedora",
  "slug": "fedora",
  "description": "A cutting-edge, community-supported Linux distribution.",
  "install_package_command": "dnf install -y",
  "logo": "/img/distros/fedora.png"
}
FieldWhat it means
nameThe display name shown in the UI
slugA short, unique identifier (lowercase, hyphens only). Used as the key in each program’s package_names.
descriptionA short sentence shown on the distro card
install_package_commandThe command used to install packages — everything before the package name(s)
logoPath to a 128×128 PNG logo relative to static/. Displayed on the distro selection card. Optional — the card renders without it.

Place a 128×128 PNG in static/img/distros/<slug>.png and set the logo field to /img/distros/<slug>.png.

To create one from an SVG (e.g. from simple-icons), use rsvg-convert:

rsvg-convert -w 128 -h 128 input.svg -o static/img/distros/<slug>.png

All existing logos use a light grey rounded background (#f8f9fa) with the brand color filled icon, so new logos look consistent with the rest.

Step 4 — Add package names to programs

Once the distro is registered, open any content/programs/<slug>/program.json and add an entry for your distro’s slug:

"package_names": {
  "default": "firefox",
  "fedora": "firefox"
}

If the package name is the same as default, you can skip it — the generator will fall back to default automatically.

Step 5 — Test locally

Run the dev server and go to the Setup Generator:

hugo server -b http://localhost:1313 -p 1313

Your new distro should appear as a card in Step 1 with its logo. Select it and verify the generated script uses the correct install command.

Step 6 — Submit a pull request

Once everything looks good locally, open a pull request against the main repository:

github.com/RajPorus19/linux-setup-generator

Fork the repo, push your changes to a branch, and open a PR from that branch to main. See the Contributing guide for a step-by-step walkthrough.