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:
4
.github/workflows/copr-release.yml
vendored
4
.github/workflows/copr-release.yml
vendored
@@ -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
|
||||
|
||||
35
README.md
35
README.md
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user