MangoWC - (2026) is an extensible, multi-distribution installer engineered for a minimal, lightning-fast Wayland desktop environment pairing the Mango Wayland compositor with Noctalia Shell, styled with Kitty terminal and Fastfetch.
Unlike bloated scripts that install dozens of non-essential applications, this installer focuses strictly on core desktop components, Wayland essentials, and streamlined configuration.
- Lean Core Desktop: Zero bloat. Installs only
mangowc,noctalia,quickshell,kitty, file management (thunar,yazi), terminal productivity utilities (eza,htop,btop,zoxide,cava), and essential Wayland display & recording utilities (wlr-randr,wl-mirror,grim,slurp,gpu-screen-recorder,xdg-desktop-portal-wlr). No NVIDIA proprietary builds, no OBS, and no heavy unnecessary apps. - Quickshell Ecosystem Ready: Pre-configures the Quickshell repository/dependencies (
qt6-qtdeclarative,qt6-qtwayland,qt6-qt5compat,qt6-qtsvg,qt6-qtmultimedia,qt6-qtimageformats,socat,jq) so you can run custom Quickshell bars, overviews, and widgets out of the box. - Virtual Machine Aware: Automatically detects hypervisors (KVM, QEMU, Proxmox, VMware, VirtualBox) across all distros, installs
qemu-guest-agent, enables the guest service, configures software cursor fallbacks (WLR_NO_HARDWARE_CURSORS=1), and masks missing hardware services to prevent timeouts. - Pure Kitty Integration: All keybindings and configs are unified around
kitty— foot and foot-client configs are eliminated. - Config Colocation: Keeps all Mango configurations and related application configurations consolidated under
~/.config/mangowc/(includingkitty.conf), maintaining clean compatibility via a~/.config/mango -> mangowcsymlink. - Safe Automatic Backups: Automatically backs up modified directories prior to installation with timestamps (e.g.
~/.config/fastfetch➔~/.config/fastfetch-mangowc-<timestamp>). - Noctalia Greeter & greetd: Optional interactive or command-line installation and rollback management for
noctalia-greeterongreetd. - Wallpaper-Bank Download Prompt: Features the LinuxBeginnings interactive prompt for downloading wallpapers, complete with AI-generated content disclosures and download size warnings.
- Modular Multi-Distro Engine: Shared libraries under
lib/(common.sh,detect.sh,greeter.sh,wallpapers.sh) with distro-isolated packages and setups underdistros/<distro>/(Gentoo, Arch, Fedora, Debian, Ubuntu). - Debugging & Logging: Detailed logging to
Install-Logs/install-<timestamp>.logwith an optional--debugflag for verbose execution.
Clone this repository and run the installer:
git clone https://github.com/LinuxBeginnings/mangowc.git
cd mangowc
chmod +x install.sh
./install.shThe installer supports several non-interactive and debugging flags:
| Flag | Description |
|---|---|
-d, --debug |
Enable verbose shell tracing (set -x) and detailed debug logs |
-u, --uninstall |
Completely uninstall MangoWC, Noctalia, and restore previous configuration |
--install-greeter |
Non-interactively configure greetd with noctalia-greeter |
--remove-greeter |
Restore previous display manager / greetd configuration |
--skip-greeter |
Skip login manager / greeter configuration |
--no-wallpapers |
Bypass wallpaper bank download prompt |
--update-noctalia |
Check for Noctalia & Greeter updates and prompt to upgrade |
-h, --help |
Display usage options |
mangowc/
├── install.sh # Main orchestrator
├── README.md # Documentation
├── lib/ # Multi-distro common libraries
│ ├── common.sh # Colors, logging, sudo keepalive, backup helpers
│ ├── detect.sh # /etc/os-release parsing and VM/distro matcher
│ ├── greeter.sh # greetd + noctalia-greeter installation & rollback
│ └── wallpapers.sh # Wallpaper-Bank cloning with AI warning
├── distros/ # Distribution-specific modules
│ ├── fedora/
│ │ ├── packages.sh # Lean package lists (mangowm, noctalia, kitty, etc.)
│ │ └── setup.sh # DNF parallel downloads, COPR & Terra/RPM Fusion repos
│ ├── arch/ # Arch Linux packages (yay/paru AUR support)
│ ├── gentoo/ # Gentoo Linux (emerge binary/source + GURU + source mango 0.17.0)
│ ├── ubuntu/ # Ubuntu 26.04+ (ButterRepo + APT packages)
│ └── debian/ # Modular stub for Debian
└── configs/
├── btop/ # Target: ~/.config/btop/
│ └── btop.conf
├── fastfetch/ # Target: ~/.config/fastfetch/
│ └── config.jsonc
├── ghostty/ # Target: ~/.config/ghostty/
│ └── config
├── greetd/ # Target: /etc/greetd/
│ └── config.toml
├── kitty/ # Target: ~/.config/kitty/ (Noctalia-themeable)
│ ├── current-theme.conf
│ └── kitty.conf
├── yazi/ # Target: ~/.config/yazi/ (Noctalia flavor)
│ ├── flavors/
│ └── theme.toml
└── mangowc/ # Target: ~/.config/mangowc/
├── autostart.sh # Portal & Noctalia startup
├── bind.conf # Mango keybindings
├── config.conf # Mango compositor config (scroller proportions)
├── env.conf # Dynamic Wayland environment & MANGO_DEFAULT_LAYOUT
├── monitor.conf # Display rules
├── noctalia.conf # Theme colors
├── rule.conf # Window rules (floating-kitty, etc.)
├── tag.conf # Workspace tag layout
└── bin/ # Helper scripts
├── reload.sh # Mango & Noctalia reloader
├── screenshot.sh # Grim + Slurp screenshot tool
├── set-icons # Tela icon switcher
└── toggle-outer-gaps.sh
- Standard XDG Locations: App configs (
kitty,ghostty,btop,yazi,fastfetch) are deployed directly to~/.config/<app>so Noctalia Shell's theme engine can seamlessly generate and apply color schemes (e.g.~/.config/kitty/current-theme.conf,~/.config/yazi/theme.toml). - Mango Compositor: Configured under
~/.config/mangowcwith an automatic symlink~/.config/mango -> mangowc. - Default Layout: Controlled via
env=MANGO_DEFAULT_LAYOUT,...in~/.config/mangowc/env.conf. Reloading viaSuper + Alt + Ror~/.config/mangowc/bin/reload.shsynchronizes this layout across all tags intag.conf.
When noctalia-greeter is selected, greetd is configured to launch:
[default_session]
command = "noctalia-greeter-session -- --session mango"
user = "greeter"Avatars and themes will automatically reflect the user's settings when AccountsService is active. To revert back to your previous display manager configuration, run:
./install.sh --remove-greeter