About LinuxSetup

The problem

Setting up a fresh Linux machine means repeating the same work every time: finding each vendor's install page, adding the right repository, importing a signing key, then finally installing the package. Do that for twenty tools and an afternoon disappears. Get one step wrong and the whole thing fails with an error that explains very little.

What this does

Pick your distribution, tick the software you want, and LinuxSetup writes a single shell script that installs all of it. The script handles the tedious parts — adding repositories, importing keys, refreshing package lists — in the correct order for your distribution.

It supports the Debian family (Ubuntu, Linux Mint, Pop!_OS), the Red Hat family (Fedora, Rocky, AlmaLinux), Arch and Manjaro, and openSUSE, using each one's native package manager rather than a lowest-common-denominator approach.

How packages are installed

Every package uses the most official method available for your distribution, in this order of preference:

  • The distribution's own repositories, where the software is packaged.
  • The vendor's official repository — for example Microsoft's for VS Code, or Docker's for Docker Engine — added with its signing key.
  • The vendor's official installer or package download, for software that is not in any repository.
  • Flatpak or Snap, where that is the maintained route for a desktop app.

Nothing is mirrored or repackaged here. Every download comes from the vendor, over HTTPS, with signature checking left switched on.

Read before you run

The full script is always shown on screen before you copy it. It runs with administrator privileges, so please read it first — that is exactly why it is displayed rather than hidden behind a one-line installer.

Who makes it

LinuxSetup is built and maintained by Cenedy Udoy Palma. It is free to use and funded by advertising, which is what keeps it available without accounts or paywalls.

Something wrong?

Package names and vendor install methods change often. If a script fails or a package is out of date, please report it via the contact page — including the error output helps a great deal.