maomaowm/mangowm.scm

74 lines
2.6 KiB
Scheme
Raw Normal View History

2026-03-01 11:38:17 +08:00
(define-module (mangowm)
2025-10-29 21:34:22 +08:00
#:use-module (guix download)
#:use-module (guix git-download)
2025-11-30 23:19:55 +08:00
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
2025-10-29 21:34:22 +08:00
#:use-module (gnu packages wm)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages admin)
#:use-module (gnu packages pcre)
#:use-module (gnu packages xorg)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages ninja)
#:use-module (gnu packages pkg-config)
#:use-module (guix build-system meson)
#:use-module ((guix licenses) #:prefix license:))
2025-10-29 21:34:22 +08:00
2026-03-01 11:38:17 +08:00
(define-public mangowm-git
2025-10-29 21:34:22 +08:00
(package
2026-03-01 11:38:17 +08:00
(name "mangowm")
2025-11-30 23:19:55 +08:00
(version "git")
2026-03-01 11:38:17 +08:00
(source (local-file "." "mangowm-checkout"
2025-11-30 23:19:55 +08:00
#:recursive? #t
#:select? (or (git-predicate (current-source-directory))
(const #t))))
2025-10-29 21:34:22 +08:00
(build-system meson-build-system)
2025-11-30 23:19:55 +08:00
(arguments
(list
#:configure-flags
#~(list (string-append "-Dsysconfdir=" #$output "/etc"))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'patch-meson
(lambda _
(substitute* "meson.build"
;; MangoWM ignores sysconfdir handling for NixOS.
;; We also need to skip that sysconfdir edits.
(("is_nixos = false")
"is_nixos = true")
;; Unhardcode path. Fixes loading default config.
2025-11-30 23:19:55 +08:00
(("'-DSYSCONFDIR=\\\"@0@\\\"'.format\\('/etc'\\)")
"'-DSYSCONFDIR=\"@0@\"'.format(sysconfdir)")))))))
2025-10-29 21:34:22 +08:00
(inputs (list wayland
libinput
libdrm
libxkbcommon
pixman
libdisplay-info
libliftoff
hwdata
seatd
pcre2
libxcb
xcb-util-wm
wlroots-0.19
2025-10-29 21:34:22 +08:00
scenefx))
2025-11-30 23:19:55 +08:00
(native-inputs (list pkg-config wayland-protocols))
(home-page "https://github.com/mangowm/mango")
2025-10-29 21:34:22 +08:00
(synopsis "Wayland compositor based on wlroots and scenefx")
(description
"MangoWM is a modern, lightweight, high-performance Wayland compositor
built on dwl crafted for speed, flexibility, and a customizable desktop experience.")
(license (list license:gpl3 ;mangowm itself, dwl
license:expat ;dwm, sway, wlroots
license:cc0)))) ;tinywl
2025-11-30 23:19:55 +08:00
(define-deprecated-package mangowc
mangowm-git)
2026-03-01 11:38:17 +08:00
mangowm-git