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: gzip
|
||||||
BuildRequires: wget
|
BuildRequires: wget
|
||||||
|
BuildRequires: systemd-rpm-macros
|
||||||
|
|
||||||
Requires: (quickshell or quickshell-git)
|
Requires: (quickshell or quickshell-git)
|
||||||
Requires: accountsservice
|
Requires: accountsservice
|
||||||
@@ -171,6 +172,8 @@ jobs:
|
|||||||
install -Dm755 %{_builddir}/dms-cli %{buildroot}%{_bindir}/dms
|
install -Dm755 %{_builddir}/dms-cli %{buildroot}%{_bindir}/dms
|
||||||
install -Dm755 %{_builddir}/dgop %{buildroot}%{_bindir}/dgop
|
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
|
install -dm755 %{buildroot}%{_datadir}/quickshell/dms
|
||||||
cp -r %{_builddir}/dms-qml/* %{buildroot}%{_datadir}/quickshell/dms/
|
cp -r %{_builddir}/dms-qml/* %{buildroot}%{_datadir}/quickshell/dms/
|
||||||
|
|
||||||
@@ -224,6 +227,7 @@ jobs:
|
|||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc README.md CONTRIBUTING.md
|
%doc README.md CONTRIBUTING.md
|
||||||
%{_datadir}/quickshell/dms/
|
%{_datadir}/quickshell/dms/
|
||||||
|
%{_userunitdir}/dms.service
|
||||||
|
|
||||||
%files -n dms-cli
|
%files -n dms-cli
|
||||||
%{_bindir}/dms
|
%{_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.
|
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
|
### niri Integration
|
||||||
|
|
||||||
Add to your niri config
|
Add to your niri config
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ Description=Dank Material Shell (DMS)
|
|||||||
PartOf=graphical-session.target
|
PartOf=graphical-session.target
|
||||||
After=graphical-session-pre.target
|
After=graphical-session-pre.target
|
||||||
Wants=graphical-session-pre.target
|
Wants=graphical-session-pre.target
|
||||||
|
Requisite=graphical-session.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ BuildRequires: gzip
|
|||||||
BuildRequires: golang >= 1.24
|
BuildRequires: golang >= 1.24
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: wget
|
BuildRequires: wget
|
||||||
|
BuildRequires: systemd-rpm-macros
|
||||||
|
|
||||||
# Core requirements
|
# Core requirements
|
||||||
Requires: (quickshell-git or quickshell)
|
Requires: (quickshell-git or quickshell)
|
||||||
@@ -126,6 +127,9 @@ install -Dm755 %{_builddir}/danklinux-master/bin/${DMS_BINARY} %{buildroot}%{_bi
|
|||||||
# Install dgop binary
|
# Install dgop binary
|
||||||
install -Dm755 %{_builddir}/dgop %{buildroot}%{_bindir}/dgop
|
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 shell files to shared data location
|
||||||
install -dm755 %{buildroot}%{_datadir}/quickshell/dms
|
install -dm755 %{buildroot}%{_datadir}/quickshell/dms
|
||||||
cp -r * %{buildroot}%{_datadir}/quickshell/dms/
|
cp -r * %{buildroot}%{_datadir}/quickshell/dms/
|
||||||
@@ -181,6 +185,7 @@ fi
|
|||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc README.md CONTRIBUTING.md
|
%doc README.md CONTRIBUTING.md
|
||||||
%{_datadir}/quickshell/dms/
|
%{_datadir}/quickshell/dms/
|
||||||
|
%{_userunitdir}/dms.service
|
||||||
|
|
||||||
%files -n dms-cli
|
%files -n dms-cli
|
||||||
%{_bindir}/dms
|
%{_bindir}/dms
|
||||||
Reference in New Issue
Block a user