# Spec for DMS stable releases - Generated by GitHub Actions %global debug_package %{nil} %global version 0.5.1 %global pkg_summary DankMaterialShell - Material 3 inspired shell for Wayland compositors Name: dms Version: %{version} Release: 1%{?dist} Summary: %{pkg_summary} License: MIT URL: https://github.com/AvengeMedia/DankMaterialShell Source0: dms-qml.tar.gz BuildRequires: gzip BuildRequires: wget BuildRequires: systemd-rpm-macros Requires: (quickshell or quickshell-git) Requires: accountsservice Requires: dms-cli Requires: dgop Recommends: cava Recommends: cliphist Recommends: danksearch Recommends: hyprpicker Recommends: matugen Recommends: wl-clipboard Recommends: NetworkManager Recommends: qt6-qtmultimedia Suggests: qt6ct %description DankMaterialShell (DMS) is a modern Wayland desktop shell built with Quickshell and optimized for the niri and hyprland compositors. Features notifications, app launcher, wallpaper customization, and fully customizable with plugins. Includes auto-theming for GTK/Qt apps with matugen, 20+ customizable widgets, process monitoring, notification center, clipboard history, dock, control center, lock screen, and comprehensive plugin system. %package -n dms-cli Summary: DankMaterialShell CLI tool License: MIT URL: https://github.com/AvengeMedia/DankMaterialShell %description -n dms-cli Command-line interface for DankMaterialShell configuration and management. Provides native DBus bindings, NetworkManager integration, and system utilities. %package -n dgop Summary: Stateless CPU/GPU monitor for DankMaterialShell License: MIT URL: https://github.com/AvengeMedia/dgop Provides: dgop %description -n dgop DGOP is a stateless system monitoring tool that provides CPU, GPU, memory, and network statistics. Designed for integration with DankMaterialShell but can be used standalone. This package always includes the latest stable dgop release. %prep %setup -q -c -n dms-qml # Download architecture-specific binaries during build case "%{_arch}" in x86_64) ARCH_SUFFIX="amd64" ;; aarch64) ARCH_SUFFIX="arm64" ;; *) echo "Unsupported architecture: %{_arch}" exit 1 ;; esac wget -O %{_builddir}/dms-cli.gz "https://github.com/AvengeMedia/DankMaterialShell/releases/latest/download/dms-distropkg-${ARCH_SUFFIX}.gz" || { echo "Failed to download dms-cli for architecture %{_arch}" exit 1 } gunzip -c %{_builddir}/dms-cli.gz > %{_builddir}/dms-cli chmod +x %{_builddir}/dms-cli wget -O %{_builddir}/dgop.gz "https://github.com/AvengeMedia/dgop/releases/latest/download/dgop-linux-${ARCH_SUFFIX}.gz" || { echo "Failed to download dgop for architecture %{_arch}" exit 1 } gunzip -c %{_builddir}/dgop.gz > %{_builddir}/dgop chmod +x %{_builddir}/dgop %build %install install -Dm755 %{_builddir}/dms-cli %{buildroot}%{_bindir}/dms install -Dm755 %{_builddir}/dgop %{buildroot}%{_bindir}/dgop install -d %{buildroot}%{_datadir}/bash-completion/completions install -d %{buildroot}%{_datadir}/zsh/site-functions install -d %{buildroot}%{_datadir}/fish/vendor_completions.d %{_builddir}/dms-cli completion bash > %{buildroot}%{_datadir}/bash-completion/completions/dms || : %{_builddir}/dms-cli completion zsh > %{buildroot}%{_datadir}/zsh/site-functions/_dms || : %{_builddir}/dms-cli completion fish > %{buildroot}%{_datadir}/fish/vendor_completions.d/dms.fish || : install -Dm644 %{_builddir}/dms-qml/assets/systemd/dms.service %{buildroot}%{_userunitdir}/dms.service install -dm755 %{buildroot}%{_datadir}/quickshell/dms cp -r %{_builddir}/dms-qml/* %{buildroot}%{_datadir}/quickshell/dms/ rm -rf %{buildroot}%{_datadir}/quickshell/dms/.git* rm -f %{buildroot}%{_datadir}/quickshell/dms/.gitignore rm -rf %{buildroot}%{_datadir}/quickshell/dms/.github rm -rf %{buildroot}%{_datadir}/quickshell/dms/distro %posttrans if [ -d "%{_sysconfdir}/xdg/quickshell/dms" ]; then rmdir "%{_sysconfdir}/xdg/quickshell/dms" 2>/dev/null || true rmdir "%{_sysconfdir}/xdg/quickshell" 2>/dev/null || true rmdir "%{_sysconfdir}/xdg" 2>/dev/null || true fi if [ "$1" -ge 2 ]; then pkill -USR1 -x dms >/dev/null 2>&1 || true fi %files %license LICENSE %doc README.md CONTRIBUTING.md %{_datadir}/quickshell/dms/ %{_userunitdir}/dms.service %files -n dms-cli %{_bindir}/dms %{_datadir}/bash-completion/completions/dms %{_datadir}/zsh/site-functions/_dms %{_datadir}/fish/vendor_completions.d/dms.fish %files -n dgop %{_bindir}/dgop %changelog * Thu Nov 13 2025 AvengeMedia - 0.5.1-1 - Stable release 0.5.1 - Built from GitHub release - Includes latest dms-cli and dgop binaries