Skip to content

About

A MangoWC Window mgr installer with noctalia for multiple distros (Fedora only rn)

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🥭 ** MangoWC-Dots - (2026) ** 🥭

Minimal & Extensible Wayland Compositor Setup with Noctalia Shell

LinuxBeginnings License: GPL v3




📖 Overview

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.


✨ Features

  • 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/ (including kitty.conf), maintaining clean compatibility via a ~/.config/mango -> mangowc symlink.
  • 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-greeter on greetd.
  • 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 under distros/<distro>/ (Gentoo, Arch, Fedora, Debian, Ubuntu).
  • Debugging & Logging: Detailed logging to Install-Logs/install-<timestamp>.log with an optional --debug flag for verbose execution.

🚀 Installation

Clone this repository and run the installer:

git clone https://github.com/LinuxBeginnings/mangowc.git
cd mangowc
chmod +x install.sh
./install.sh

CLI Options

The 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

📁 Directory Architecture

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

🗂 Configuration & Theming Integration

  • 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/mangowc with an automatic symlink ~/.config/mango -> mangowc.
  • Default Layout: Controlled via env=MANGO_DEFAULT_LAYOUT,... in ~/.config/mangowc/env.conf. Reloading via Super + Alt + R or ~/.config/mangowc/bin/reload.sh synchronizes this layout across all tags in tag.conf.

🔐 Greeter Integration

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

Maintained by the LinuxBeginnings project.

About

A MangoWC Window mgr installer with noctalia for multiple distros (Fedora only rn)

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages