guix_mirror_bot pushed a commit to branch next-master
in repository guix.
commit a20e839424ee91e21cdc0dc273423c2c417db30d
Author: Aleksandr Lebedev <[email protected]>
AuthorDate: Sat Nov 15 23:20:38 2025 +0100
gnu: Add dank-material-shell.
* gnu/packages/wm.scm (dankmaterialshell-minimal, dank-material-shell):
New variables.
Change-Id: I4b69151c9cf471fab3355a2a10b39d3729fcdb9b
Modified-by: Sharlatan Hellseher <[email protected]>
Signed-off-by: Sharlatan Hellseher <[email protected]>
---
gnu/packages/wm.scm | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 88 insertions(+)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 19e21d492c..9905b9a31d 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -84,6 +84,7 @@
;;; Copyright © 2025 Andrew Wong <[email protected]>
;;; Copyright © 2025 Hugo Buddelmeijer <[email protected]>
;;; Copyright © 2025 Artyom V. Poptsov <[email protected]>
+;;; Copyright © 2025 Aleksandr Lebedev <[email protected]>
;;; Copyright © 2026 Carlos Durán Domínguez <[email protected]>
;;;
;;; This file is part of GNU Guix.
@@ -112,6 +113,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system go)
#:use-module (guix build-system haskell)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
@@ -120,6 +122,7 @@
#:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (gnu packages)
+ #:use-module (gnu packages audio)
#:use-module (gnu packages bash)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
@@ -145,6 +148,10 @@
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-check)
+ #:use-module (gnu packages golang-vcs)
+ #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
@@ -165,6 +172,7 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages monitoring)
#:use-module (gnu packages mpd)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages music)
@@ -256,6 +264,86 @@ the leaves of a full binary tree.")
single, maximized application.")
(license license:expat)))
+(define-public dank-material-shell-minimal
+ (package
+ (name "dank-material-shell-minimal")
+ (version "0.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/AvengeMedia/DankMaterialShell")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "186n0pcibjk9va967vnwnq8gfb5p3zah96sv4gkgsp0k6931vs1w"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/AvengeMedia/DankMaterialShell/core/cmd/dms"
+ #:unpack-path "github.com/AvengeMedia/DankMaterialShell"
+ #:test-subdirs #~(list "../../...")
+ #:test-flags
+ ;; Network access is required to pass these tests:
+ #~(list "-skip" (string-join
+ (list "TestHandleList"
+ "TestDetectNetworkStack_Integration"
+ "TestHandle"
+ "TestRespondError_Loginctl"
+ "TestUpdate"
+ "TestGetCacheDir")
+ "|"))
+ #:install-source? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-config
+ (lambda _
+ (let* ((src (string-append #$source "/quickshell"))
+ (tgt (string-append #$output "/share/quickshell")))
+ (mkdir-p tgt)
+ (copy-recursively src tgt)))))))
+ (native-inputs
+ (list go-github-com-charmbracelet-bubbles
+ go-github-com-charmbracelet-bubbletea
+ go-github-com-charmbracelet-lipgloss
+ go-github-com-charmbracelet-log
+ go-github-com-godbus-dbus-v5
+ go-github-com-spf13-cobra
+ go-github-com-stretchr-testify
+ go-github-com-wifx-gonetworkmanager-v2
+ go-github-com-yaslama-go-wayland-wayland
+ go-golang-org-x-exp
+ go-github-com-go-git-go-git-v6
+ go-github-com-spf13-afero))
+ (propagated-inputs
+ (list quickshell
+ qtwayland))
+ (home-page "https://github.com/AvengeMedia/DankMaterialShell")
+ (synopsis "Desktop shell for wayland compositors")
+ (description
+ "This package provides a DankMaterialShell,a Quickshell-based modern
+desktop suite for Wayland compositors (such as Niri, Hyprland, MangoWC and
+Sway). This program is meant to be used in system/home modules. To launch it
+manually, use the @code{dms} CLI program, followed by @code{-c} and path to
+the @code{.../share/quickshell} path in the package.")
+ (license license:expat)))
+
+(define-public dank-material-shell
+ (package
+ (inherit dank-material-shell-minimal)
+ (name "dank-material-shell")
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs dank-material-shell-minimal)
+ (append dbus
+ brightnessctl
+ cava
+ cliphist
+ dgop
+ `(,glib "bin")
+ matugen
+ qtmultimedia
+ wl-clipboard)))))
+
(define-public herbstluftwm
(package
(name "herbstluftwm")