Mountie helps you mount websites into desktop apps on Linux with ease!
Mountie is a free, open-source web app manager for Linux. Give it a name and a URL—it fetches an icon, launches the site in its own window, and pins cleanly to your dock with a separate process from your everyday browser.
Built for people on Zorin OS, Ubuntu, and GNOME who want the “install this site as an app” experience without fighting browser menus or distro-only tooling.
Native GTK app · Profile modes · Wayland-aware dock icons · Multi-browser
| You want… | Mountie gives you… |
|---|---|
| Sites that feel like apps | Frameless Chromium app windows / frameless Firefox profiles (no title bar) |
| Your own icons on the dock | Launchers + Wayland StartupWMClass matching that actually works |
| Independence from the browser window | Per-app isolated profiles—or share the browser profile for extensions like 1Password |
| Choice of browser | Brave, Firefox, Firefox Developer Edition, Chrome, Chromium, Edge, Vivaldi, Flatpaks, plus system default |
| Something simple and free | MIT-licensed, no account, no telemetry, no Electron wrapper |
Web tools are where a huge amount of real work happens—email, docs, chat, dashboards, video. Mountie makes those sites first-class citizens on a Linux desktop.
- Zorin OS / Ubuntu / GNOME users who want a polished GUI, not a shell script
- People coming from Omarchy-style web apps who want the same idea on a stock desktop
- Anyone tired of browser PWAs that group under Chrome/Brave or break after updates
- Users who tried Linux Mint WebApp Manager and want a lightweight, modern alternative focused on isolation and dock icons
- Create / edit web apps with name + URL, profile mode, and show/hide title bar (Firefox frameless by default)
- Auto-fetch favicons (HTML icons →
/favicon.ico→ Google favicon API) - Custom icon upload when a site has no usable favicon
- Browser picker, including Default browser and Firefox Developer Edition
- Profile modes per app:
- Isolated (default) — private empty profile (own dock icon)
- Shared — private profile seeded from your browser (logins & extensions like 1Password) while keeping a separate dock icon
- List, launch, edit, and remove managed apps from one window
- Keyboard-first UI — Tab through the create form, shortcuts for add/launch/edit/delete, F1 shortcut reference
- Automatic repair of dock-matching metadata on startup (important on Wayland)
Respectful comparison—different tools optimize for different environments.
| Mountie | Omarchy web apps | Linux Mint WebApp Manager | Chrome / Brave “Install app” (PWA) | |
|---|---|---|---|---|
| UI | Native GTK4 / libadwaita GUI | TUI menu inside Omarchy | GTK GUI | Inside the browser |
| Best fit | Zorin / Ubuntu / GNOME stock desktops | Full Omarchy (Hyprland) setup | Linux Mint / Cinnamon (runs elsewhere too) | Single browser ecosystem |
| Isolation | Isolated by default; optional shared browser profile | Typically shares browser profile | Optional isolated profiles | PWA / app profile |
| Dock icons on Wayland | Sets StartupWMClass to Chromium’s real app_id |
Window rules / Hyprland-centric | Can need manual class fixes | Often good for official PWAs |
| Browser choice | Yes (default + many browsers) | Usually Chromium-family default | Yes | That browser only |
| Electron bloat | No—uses the browser you already have | No | No | No |
| Cost / license | Free · MIT | Free · part of Omarchy | Free · Mint project | Free |
In short: Omarchy is a full opinionated desktop; Mint’s tool is the classic Linux GUI for web apps; browser PWAs are convenient but browser-bound. Mountie is a focused, modern manager you can drop onto Zorin or Ubuntu and share as a standalone open-source project.
Screenshots will live in docs/screenshots/.
(Add PNGs here when publishing marketing materials.)
curl -fsSL https://raw.githubusercontent.com/maplepreneur/Mountie/main/install.sh | bashOn Debian / Ubuntu / Zorin, the script installs the latest GitHub Release .deb when one is available. Otherwise it builds from source and installs to ~/.local.
# System-wide (.deb on Debian-like distros)
curl -fsSL https://raw.githubusercontent.com/maplepreneur/Mountie/main/install.sh | bash -s -- --system
# Always build from source (user install)
curl -fsSL https://raw.githubusercontent.com/maplepreneur/Mountie/main/install.sh | bash -s -- --from-source
# Uninstall
curl -fsSL https://raw.githubusercontent.com/maplepreneur/Mountie/main/install.sh | bash -s -- --uninstallgit clone https://github.com/maplepreneur/Mountie.git
cd Mountie
./install.sh # smart default
./install.sh --user # ~/.local
./install.sh --system # .deb / system-wide
./install.sh --from-source # force cargo buildBuild a versioned package (version comes from Cargo.toml):
./scripts/build-deb.sh
# → dist/mountie_0.1.0_amd64.deb
sudo apt install ./dist/mountie_*.debAttach the .deb to a GitHub Release named like mountie_0.1.0_amd64.deb so install.sh can download it.
Full requirements, PATH setup, upgrade from the old name, uninstall, and troubleshooting:
Maintainer deep-dive (install modes, .deb layout, release checklist):
- Open Mountie
- Click + (Add Web App) or press Ctrl+N
- Enter Name and URL (use Tab / Shift+Tab to move between fields)
- Choose a Browser (or Default browser)
- Choose a Profile mode (Isolated or Shared)
- Fetch icon or Choose image…
- Click Create or press Enter
- Launch from Super search, the app menu, the ▶ button, or Enter on a selected row
- Use the pencil button (or Ctrl+E) to edit; trash (or Delete / Ctrl+D) to remove with confirmation
Press F1 or click the keyboard icon in the header for a full shortcut list.
| Action | Shortcut |
|---|---|
| Add web app | Ctrl+N |
| Refresh list | Ctrl+R or F5 |
| Show shortcuts | F1 or Ctrl+? |
| Move selection | ↑ / ↓ or K / J (list focused) |
| Launch selected | Enter (list focused) or Ctrl+Enter |
| Edit selected | Ctrl+E (or E when list focused) |
| Re-seed Shared from browser | Ctrl+Shift+R (or the sync button on the row) |
| Remove selected | Ctrl+D or Delete (confirmation dialog) |
| Next / previous field (dialog) | Tab / Shift+Tab |
| Create / Save (dialog) | Enter in Name or URL |
| Cancel dialog | Esc |
Tips
- Isolated apps start signed out. Sign in once inside each web app.
- Use Shared browser profile when you need password managers (e.g. 1Password) or existing logins.
- Chromium / Brave Origin Shared uses the live browser profile (
--app+ the real--user-data-dir). Sync and extensions are the same as the browser; the dock icon stays separate viaStartupWMClass. - Firefox Shared is still a snapshot (Firefox cannot attach an app window to the running profile). When it looks signed out, Re-seed (Ctrl+Shift+R).
- Dock matching:
StartupWMClassequals Chromium’s Waylandapp_id; the list uses an absolute PNG path for favicons.
| Browser family | Launch style | Profile location |
|---|---|---|
| Chromium / Chrome / Brave / Edge / Vivaldi | Isolated: --app + private --user-data-dir. Shared: Omarchy-style {browser} --app=URL (default profile). |
Isolated: ~/.local/share/mountie/profiles/<id>/. Shared: the browser’s default profile. |
| Firefox / Developer Edition / LibreWolf | Dedicated profile + --no-remote |
~/.local/share/mountie/firefox/<id>/ (Shared is seeded from the browser) |
Launchers: ~/.local/share/applications/webapp-*.desktop
On Wayland, Chromium ignores --class and uses a URL-based window id (e.g. brave-www.youtube.com__-Default). Mountie writes that into StartupWMClass so the dock shows the right icon.
src/
main.rs # Application entry
browser.rs # Detect browsers + launch commands
desktop.rs # .desktop file I/O
favicon.rs # Icon download / normalize
paths.rs # XDG paths
webapp.rs # Create / list / delete / repair
ui/ # GTK4 + libadwaita UI
resources/ # Desktop launcher + icon for Mountie itself
scripts/build-deb.sh # Versioned .deb package builder
install.sh # One-shot installer (deb or source)
INSTALL.md # Detailed setup
docs/packaging.md # Packaging & release documentation
Contributions are welcome. See CONTRIBUTING.md.
cargo test
cargo build --release- Inspired by the simplicity of Omarchy web apps and the completeness of Linux Mint WebApp Manager
- Built with Rust, GTK4, and libadwaita
MIT © Voxel North
Free to use. Free to share. Free to improve.