- Use nixos-render-docs commonmark as the rendering engine - Add GitHub source links (Declared by) for each option - Fix installation.md links pointing to /docs/nix-module -> /docs/nix-options
6.4 KiB
| title | description |
|---|---|
| Installation | Install mangowm on AerynOS, 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.
AerynOS
mangowm is available in the AerynOS package repository.
You can install it using the moss package manager:
sudo moss install mangowm
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; } -
Start mango on login
The following are common examples. Refer to the official NixOS documentation for full configuration options.
Option A — greetd: Autologin on first start; login screen after logout.
services.greetd = { enable = true; settings = { initial_session = { command = "mango"; user = "your-username"; # auto-login on first start, no password required }; default_session = { command = "${pkgs.greetd.tuigreet}/bin/tuigreet --cmd mango"; user = "greeter"; }; }; };Option B — Display manager autologin: Autologin via an existing display manager (e.g. SDDM, GDM).
addLoginEntry(default:true) automatically registers mango as a session.services.displayManager = { defaultSession = "mango"; # derived from mango.desktop filename autoLogin = { enable = true; user = "your-username"; }; };Option C — getty autologin: No login screen, boots directly into mango on TTY1.
For bash/zsh:
services.getty.autologinUser = "your-username"; environment.loginShellInit = '' [ "$(tty)" = /dev/tty1 ] && exec mango '';For fish:
services.getty.autologinUser = "your-username"; programs.fish.loginShellInit = '' if test (tty) = /dev/tty1 exec mango end ''; -
All available options
See Nix Module Options for the full list of NixOS and Home Manager options.
PikaOS
mangowm is available in the PikaOS package repository.
You can install it using the pikman package manager:
pikman install mangowm
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:
waylandwayland-protocolslibinputlibdrmlibxkbcommonpixmanlibdisplay-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.3 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