Modern rules-based browser launcher and link redirector ready to replace your default browser. https://switchyard.aly.codes/
  • Go 73.9%
  • Astro 9.5%
  • Python 6.3%
  • Just 2.3%
  • TypeScript 2.2%
  • Other 5.8%
Find a file
2026-07-10 18:28:22 -04:00
.github ci: add separate build job for sw package 2026-07-05 23:31:47 -04:00
browser-setup move desktop integration to its own package and package with nix 2026-06-02 11:21:16 -04:00
cmd cmd/sw/model: show actions hint only if browser has desktop actions 2026-07-06 08:51:04 -04:00
data update for v0.17.1 2026-07-10 18:28:22 -04:00
flake build: add aarch64-darwin support and macos-specific packages 2026-07-06 08:59:00 -04:00
flatpak build: add aarch64-darwin support and macos-specific packages 2026-07-06 08:59:00 -04:00
gtk update for v0.17.1 2026-07-10 18:28:22 -04:00
internal browserscan: add IncludeNoDisplay option to control NoDisplay entries 2026-07-10 18:26:50 -04:00
nix build: add aarch64-darwin support and macos-specific packages 2026-07-06 08:59:00 -04:00
scripts flatpak: update go dependencies and script to generate .info locally 2026-07-05 21:33:43 -04:00
webextension update for v0.17.1 2026-07-10 18:28:22 -04:00
website website: add tui documentation and update using page 2026-07-06 16:23:32 -04:00
.envrc add .envrc 2026-06-23 14:39:45 -04:00
.gitignore .gitignore: add /sw to ignore list 2026-07-05 21:34:36 -04:00
.prettierignore add .prettierignore for website/ 2026-06-23 14:39:56 -04:00
flake.lock flake.lock: Update 2026-05-29 11:15:22 -04:00
flake.nix build: add aarch64-darwin support and macos-specific packages 2026-07-06 08:59:00 -04:00
go.mod darwin: add browser scanning and launch support 2026-07-06 08:48:09 -04:00
go.sum build: add aarch64-darwin support and macos-specific packages 2026-07-06 08:59:00 -04:00
justfile Move default browser logic to host package and unify test commands 2026-07-05 13:54:50 -04:00
LICENSE.md add nix flake 2026-01-16 19:02:54 -05:00
README.md README: fix heading 2026-06-22 18:34:51 -04:00

CI License: GPL v3 Ko-fi Firefox Chrome

Switchyard Icon

Switchyard

A rules-based browser launcher for Linux.

Switchyard Launcher

Get it on Flathub

Features

  • Browser rules: Automatically open links in specific browsers based on conditions you define.
  • Link redirections: Clean up links before they open—remove tracking parameters, swap domains, and more.
  • Quick launcher: When no rule matches, choose a browser with a click or keyboard shortcut.
  • GTK4 + libadwaita: Native GNOME look and feel.

Installation

Switchyard is available on Flathub:

flatpak install flathub io.github.alyraffauf.Switchyard

Nix Flake

nix run github:alyraffauf/switchyard

Building from Source

For non-Flatpak builds, requires Go 1.24+, GTK4/libadwaita development libraries, and just.

just install-deps # For Fedora
just build
sudo just install # To /usr/local

Building Flatpak

just flatpak # Build and install