1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-05 21:15:38 -05:00

feat: Add Fedora Copr Systemd Support

- Updated distro filestructure
This commit is contained in:
purian23
2025-10-31 21:08:47 -04:00
parent 0ba982b271
commit 9c2fc570e6
5 changed files with 45 additions and 0 deletions

View File

@@ -86,6 +86,7 @@ jobs:
BuildRequires: gzip
BuildRequires: wget
BuildRequires: systemd-rpm-macros
Requires: (quickshell or quickshell-git)
Requires: accountsservice
@@ -171,6 +172,8 @@ jobs:
install -Dm755 %{_builddir}/dms-cli %{buildroot}%{_bindir}/dms
install -Dm755 %{_builddir}/dgop %{buildroot}%{_bindir}/dgop
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/
@@ -224,6 +227,7 @@ jobs:
%license LICENSE
%doc README.md CONTRIBUTING.md
%{_datadir}/quickshell/dms/
%{_userunitdir}/dms.service
%files -n dms-cli
%{_bindir}/dms

View File

@@ -342,6 +342,41 @@ sudo sh -c "curl -L https://github.com/AvengeMedia/dgop/releases/latest/download
A lot of options are subject to personal preference, but the below sets a good starting point for most features.
### Systemd Autostart
**Alternative to compositor-specific autostart**: If you installed DMS from the Fedora Copr repository, you can use systemd to manage DMS autostart instead of adding `dms run` to your compositor config.
**Benefits:**
- Works across all Wayland compositors (niri, Hyprland, sway, dwl, etc.)
- Centralized control via systemctl
- Automatic restart on failure
- Integrated logging via journalctl
**Enable autostart:**
```bash
systemctl --user enable dms.service
```
**Manual control:**
```bash
# Start DMS now
systemctl --user start dms.service
# Check status
systemctl --user status dms.service
# View logs
journalctl --user -u dms.service -f
# Restart DMS
systemctl --user restart dms.service
# Disable autostart
systemctl --user disable dms.service
```
**Note:** If using systemd autostart, remove `dms run` / `spawn "dms" "run"` from your compositor's configuration to avoid running DMS twice.
### niri Integration
Add to your niri config

View File

@@ -3,6 +3,7 @@ Description=Dank Material Shell (DMS)
PartOf=graphical-session.target
After=graphical-session-pre.target
Wants=graphical-session-pre.target
Requisite=graphical-session.target
[Service]
Type=simple

View File

@@ -24,6 +24,7 @@ BuildRequires: gzip
BuildRequires: golang >= 1.24
BuildRequires: make
BuildRequires: wget
BuildRequires: systemd-rpm-macros
# Core requirements
Requires: (quickshell-git or quickshell)
@@ -126,6 +127,9 @@ install -Dm755 %{_builddir}/danklinux-master/bin/${DMS_BINARY} %{buildroot}%{_bi
# Install dgop binary
install -Dm755 %{_builddir}/dgop %{buildroot}%{_bindir}/dgop
# Install systemd user service
install -Dm644 assets/systemd/dms.service %{buildroot}%{_userunitdir}/dms.service
# Install shell files to shared data location
install -dm755 %{buildroot}%{_datadir}/quickshell/dms
cp -r * %{buildroot}%{_datadir}/quickshell/dms/
@@ -181,6 +185,7 @@ fi
%license LICENSE
%doc README.md CONTRIBUTING.md
%{_datadir}/quickshell/dms/
%{_userunitdir}/dms.service
%files -n dms-cli
%{_bindir}/dms