4.9 KiB
| title | description |
|---|---|
| Installation | Install mangowm on Arch, Fedora, Gentoo, Guix System, NixOS, PikaOS, or build from source. |
Package Installation
mangowm is available as a pre-built package on several distributions. Choose your distribution below.
Arch Linux
mangowm is available in the Arch User Repository (AUR).
You can install it using an AUR helper like yay or paru:
yay -S mangowm-git
Tip: This package pulls the latest git version, ensuring you have the newest features and fixes.
Fedora
The package is in the third-party Terra repository. First, add the Terra Repository.
Warning: Both commands require root privileges. Use
sudoif needed.
dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release
Then, install the package:
dnf install mangowm
Gentoo
The package is hosted in the community-maintained GURU repository.
-
Add the GURU repository
emerge --ask --verbose eselect-repository eselect repository enable guru emerge --sync guru -
Unmask packages Add the required packages to your
package.accept_keywordsfile:gui-libs/scenefxgui-wm/mangowm
-
Install mango
emerge --ask --verbose gui-wm/mangowm
Guix System
The package definition is described in the source repository.
-
Add mango channel Add to
$HOME/.config/guix/channels.scm:(cons (channel (name 'mangowm) (url "https://github.com/mangowm/mango.git") (branch "main")) %default-channels) -
Install After running
guix pull, you can install mangowm:guix install mangowmOr add it to your system configuration using the mangowm module:
(use-modules (mangowm)) (packages (cons* mangowm-git ... ;; Other packages %base-packages))
Tip: For more information, see the Guix System documentation.
NixOS
The repository provides a Flake with a NixOS module.
-
Add flake input
# flake.nix { inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; mangowm = { url = "github:mangowm/mango"; inputs.nixpkgs.follows = "nixpkgs"; }; # other inputs ... }; } -
Import the NixOS module
Option A — Import in
configuration.nix:# configuration.nix (or any other file that you import) {inputs, ...}: { imports = [ inputs.mangowm.nixosModules.mango # .. other imports ... ]; # ... }Option B — Import directly in flake:
# flake.nix { # ... outputs = { self, nixpkgs, mangowm, ...}@inputs: let inherit (nixpkgs) lib; # ... in { nixosConfigurations.YourHostName = lib.nixosSystem { modules = [ mangowm.nixosModules.mango # or inputs.mangowm.nixosModules.mango # other imports ... ]; }; } } -
Enable the module
# configuration.nix (or any other file that you import) { programs.mango.enable = true; } -
Extra options
programs.mango.package— the mango package to use, allows usage of custom mango drvsprograms.mango.addLoginEntry(default:true) — adds login entry to the display manager
PikaOS
mangowm is available in the PikaOS package repository.
You can install it using the pikman package manager:
pikman install mangowc
Building from Source
If your distribution isn't listed above, or you want the latest unreleased changes, you can build mangowm from source.
Info: Ensure the following dependencies are installed before proceeding:
glibcwaylandwayland-protocolslibinputlibdrmlibxkbcommonpixmangitmesonninjalibdisplay-infolibliftoffhwdataseatdpcre2xorg-xwaylandlibxcb
You will need to build wlroots and scenefx manually as well.
-
Build wlroots Clone and install the specific version required (check README for latest version).
git clone -b 0.19.2 https://gitlab.freedesktop.org/wlroots/wlroots.git cd wlroots meson build -Dprefix=/usr sudo ninja -C build install -
Build scenefx This library handles the visual effects.
git clone -b 0.4.1 https://github.com/wlrfx/scenefx.git cd scenefx meson build -Dprefix=/usr sudo ninja -C build install -
Build mangowm Finally, compile the compositor itself.
git clone https://github.com/mangowm/mango.git cd mango meson build -Dprefix=/usr sudo ninja -C build install