Clean installer to join the eduroam Wi-Fi network on Linux with NetworkManager. Works for any institution registered in the eduroam CAT database (most universities and research centers worldwide).
Paste in your terminal:
curl -fsSL https://install.linuxroam.org | bashIt will:
- Auto-detect your country (you can change it).
- Let you search your institution by name.
- Ask for your
sudopassword. - Ask for your eduroam username (usually
user@yourdomain) and password.
…then connect automatically. You'll see docker-style progress as it downloads the profile, installs the certificate and brings the connection up.
Prefer not to pipe into
bash? Use the equivalent process-substitution form:bash <(curl -fsSL https://install.linuxroam.org)
curl -fsSL https://install.linuxroam.org | bash # full flow
curl -fsSL https://install.linuxroam.org | bash -s -- --country ES # skip country menu (CAT code)
curl -fsSL https://install.linuxroam.org | bash -s -- --profile 595 # install a CAT profile by ID- Fetches your institution's profile from the official eduroam CAT API.
- Extracts the CA certificate, RADIUS server name, EAP method (TTLS or PEAP), inner auth (PAP/MSCHAPv2…) and anonymous identity.
- Writes the CA to
/etc/eduroam/ca.pem. - Creates
/etc/NetworkManager/system-connections/eduroam.nmconnectionwith:- Server validation via
domain-suffix-match(no warnings, no checkbox to tick). - Password stored (no reprompts).
- Server validation via
- Removes any previous
eduroamprofile to avoid duplicates and reloads NetworkManager.
The only hard requirement is NetworkManager — the installer writes an
.nmconnection profile and drives nmcli. It's architecture-independent
(no compiled code, just bash + python + curl).
✅ Works on any distro that uses NetworkManager, which is the norm on the desktop:
- Ubuntu, Linux Mint, Pop!_OS, elementary…
- Fedora, openSUSE
- Debian (GNOME/KDE)
- Arch, Manjaro, EndeavourOS…
❌ Does not work where there is no NetworkManager:
- Ubuntu Server / cloud images (netplan + systemd-networkd)
- Plain
systemd-networkd,connman,wicd, or rawwpa_supplicantsetups - Minimal/headless systems (e.g. Alpine by default)
The script checks this up front and exits with a clear message instead of half-failing.
- NetworkManager (
nmcli). bash,curl,python3,uuidgen(uuid-runtime/util-linux),sudo.
All preinstalled on any modern desktop distro; on minimal systems you may
need to install bash or uuidgen. A recent NetworkManager (last few
years) is recommended — fields like domain-suffix-match and
addr-gen-mode=default need NM ≥ 1.2 / ≥ 1.40 respectively.
curl -fsSL https://install.linuxroam.org | bash -s -- --uninstallThis removes the eduroam connection, its NetworkManager profile and the
installed certificates. (Equivalent manual steps: sudo nmcli connection delete eduroam, then remove /etc/NetworkManager/system-connections/eduroam.nmconnection
and /etc/eduroam.)
- EAP-TLS (personal-certificate-based) is not supported. Most universities use TTLS/PAP or PEAP/MSCHAPv2, which work.
- Your institution must be registered in CAT. If it's missing, ask your IT department to publish a profile there — it's free.
Built and maintained by Diverso Lab (Universidad de Sevilla).
GNU General Public License v3.0 © Diverso Lab.