mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-24 21:42:51 -05:00
dankinstall: remove systemd path for Hyprland
This commit is contained in:
@@ -406,7 +406,7 @@ func TestHyprlandConfigDeployment(t *testing.T) {
|
|||||||
content, err := os.ReadFile(result.Path)
|
content, err := os.ReadFile(result.Path)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Contains(t, string(content), "# MONITOR CONFIG")
|
assert.Contains(t, string(content), "# MONITOR CONFIG")
|
||||||
assert.Contains(t, string(content), "bind = $mod, T, exec, $TERMINAL")
|
assert.Contains(t, string(content), "bind = $mod, T, exec, ghostty")
|
||||||
assert.Contains(t, string(content), "exec-once = ")
|
assert.Contains(t, string(content), "exec-once = ")
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -442,7 +442,7 @@ general {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Contains(t, string(newContent), "monitor = DP-1, 1920x1080@144")
|
assert.Contains(t, string(newContent), "monitor = DP-1, 1920x1080@144")
|
||||||
assert.Contains(t, string(newContent), "monitor = HDMI-A-1, 3840x2160@60")
|
assert.Contains(t, string(newContent), "monitor = HDMI-A-1, 3840x2160@60")
|
||||||
assert.Contains(t, string(newContent), "bind = $mod, T, exec, $TERMINAL")
|
assert.Contains(t, string(newContent), "bind = $mod, T, exec, kitty")
|
||||||
assert.NotContains(t, string(newContent), "monitor = eDP-2")
|
assert.NotContains(t, string(newContent), "monitor = eDP-2")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -460,7 +460,10 @@ func TestHyprlandConfigStructure(t *testing.T) {
|
|||||||
assert.Contains(t, HyprlandConfig, "# STARTUP APPS")
|
assert.Contains(t, HyprlandConfig, "# STARTUP APPS")
|
||||||
assert.Contains(t, HyprlandConfig, "# INPUT CONFIG")
|
assert.Contains(t, HyprlandConfig, "# INPUT CONFIG")
|
||||||
assert.Contains(t, HyprlandConfig, "# KEYBINDINGS")
|
assert.Contains(t, HyprlandConfig, "# KEYBINDINGS")
|
||||||
assert.Contains(t, HyprlandConfig, "bind = $mod, T, exec, $TERMINAL")
|
assert.Contains(t, HyprlandConfig, "# ENVIRONMENT VARS")
|
||||||
|
assert.Contains(t, HyprlandConfig, "{{TERMINAL_COMMAND}}")
|
||||||
|
assert.Contains(t, HyprlandConfig, "exec-once = dms run")
|
||||||
|
assert.Contains(t, HyprlandConfig, "bind = $mod, T, exec,")
|
||||||
assert.Contains(t, HyprlandConfig, "bind = $mod, space, exec, dms ipc call spotlight toggle")
|
assert.Contains(t, HyprlandConfig, "bind = $mod, space, exec, dms ipc call spotlight toggle")
|
||||||
assert.Contains(t, HyprlandConfig, "windowrulev2 = noborder, class:^(com\\.mitchellh\\.ghostty)$")
|
assert.Contains(t, HyprlandConfig, "windowrulev2 = noborder, class:^(com\\.mitchellh\\.ghostty)$")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,10 +7,20 @@
|
|||||||
# monitor = eDP-2, 2560x1600@239.998993, 2560x0, 1, vrr, 1
|
# monitor = eDP-2, 2560x1600@239.998993, 2560x0, 1, vrr, 1
|
||||||
monitor = , preferred,auto,auto
|
monitor = , preferred,auto,auto
|
||||||
|
|
||||||
|
# ==================
|
||||||
|
# ENVIRONMENT VARS
|
||||||
|
# ==================
|
||||||
|
env = QT_QPA_PLATFORM,wayland
|
||||||
|
env = ELECTRON_OZONE_PLATFORM_HINT,auto
|
||||||
|
env = QT_QPA_PLATFORMTHEME,gtk3
|
||||||
|
env = QT_QPA_PLATFORMTHEME_QT6,gtk3
|
||||||
|
env = TERMINAL,{{TERMINAL_COMMAND}}
|
||||||
|
|
||||||
# ==================
|
# ==================
|
||||||
# STARTUP APPS
|
# STARTUP APPS
|
||||||
# ==================
|
# ==================
|
||||||
exec-once = bash -c "wl-paste --watch cliphist store &"
|
exec-once = bash -c "wl-paste --watch cliphist store &"
|
||||||
|
exec-once = dms run
|
||||||
|
|
||||||
# ==================
|
# ==================
|
||||||
# INPUT CONFIG
|
# INPUT CONFIG
|
||||||
@@ -126,7 +136,7 @@ layerrule = noanim, ^(quickshell)$
|
|||||||
$mod = SUPER
|
$mod = SUPER
|
||||||
|
|
||||||
# === Application Launchers ===
|
# === Application Launchers ===
|
||||||
bind = $mod, T, exec, $TERMINAL
|
bind = $mod, T, exec, {{TERMINAL_COMMAND}}
|
||||||
bind = $mod, space, exec, dms ipc call spotlight toggle
|
bind = $mod, space, exec, dms ipc call spotlight toggle
|
||||||
bind = $mod, V, exec, dms ipc call clipboard toggle
|
bind = $mod, V, exec, dms ipc call clipboard toggle
|
||||||
bind = $mod, M, exec, dms ipc call processlist focusOrToggle
|
bind = $mod, M, exec, dms ipc call processlist focusOrToggle
|
||||||
|
|||||||
@@ -359,11 +359,11 @@ func (a *ArchDistribution) InstallPackages(ctx context.Context, dependencies []d
|
|||||||
}
|
}
|
||||||
|
|
||||||
terminal := a.DetectTerminalFromDeps(dependencies)
|
terminal := a.DetectTerminalFromDeps(dependencies)
|
||||||
if err := a.WriteEnvironmentConfig(terminal); err != nil {
|
if err := a.WriteEnvironmentConfig(terminal, wm); err != nil {
|
||||||
a.log(fmt.Sprintf("Warning: failed to write environment config: %v", err))
|
a.log(fmt.Sprintf("Warning: failed to write environment config: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := a.EnableDMSService(ctx); err != nil {
|
if err := a.EnableDMSService(ctx, wm); err != nil {
|
||||||
a.log(fmt.Sprintf("Warning: failed to enable dms service: %v", err))
|
a.log(fmt.Sprintf("Warning: failed to enable dms service: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -563,7 +563,11 @@ func (b *BaseDistribution) DetectTerminalFromDeps(dependencies []deps.Dependency
|
|||||||
return deps.TerminalGhostty
|
return deps.TerminalGhostty
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *BaseDistribution) WriteEnvironmentConfig(terminal deps.Terminal) error {
|
func (b *BaseDistribution) WriteEnvironmentConfig(terminal deps.Terminal, wm deps.WindowManager) error {
|
||||||
|
if wm == deps.WindowManagerHyprland {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
homeDir, err := os.UserHomeDir()
|
homeDir, err := os.UserHomeDir()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to get home directory: %w", err)
|
return fmt.Errorf("failed to get home directory: %w", err)
|
||||||
@@ -602,12 +606,25 @@ TERMINAL=%s
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *BaseDistribution) EnableDMSService(ctx context.Context) error {
|
func (b *BaseDistribution) EnableDMSService(ctx context.Context, wm deps.WindowManager) error {
|
||||||
|
if wm == deps.WindowManagerHyprland {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
cmd := exec.CommandContext(ctx, "systemctl", "--user", "enable", "--now", "dms")
|
cmd := exec.CommandContext(ctx, "systemctl", "--user", "enable", "--now", "dms")
|
||||||
if err := cmd.Run(); err != nil {
|
if err := cmd.Run(); err != nil {
|
||||||
return fmt.Errorf("failed to enable dms service: %w", err)
|
return fmt.Errorf("failed to enable dms service: %w", err)
|
||||||
}
|
}
|
||||||
b.log("Enabled dms systemd user service")
|
b.log("Enabled dms systemd user service")
|
||||||
|
|
||||||
|
if wm == deps.WindowManagerNiri {
|
||||||
|
addWantsCmd := exec.CommandContext(ctx, "systemctl", "--user", "add-wants", "niri.service", "dms")
|
||||||
|
if err := addWantsCmd.Run(); err != nil {
|
||||||
|
return fmt.Errorf("failed to add dms as niri.service want: %w", err)
|
||||||
|
}
|
||||||
|
b.log("Added dms as niri.service want")
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -334,11 +334,11 @@ func (d *DebianDistribution) InstallPackages(ctx context.Context, dependencies [
|
|||||||
}
|
}
|
||||||
|
|
||||||
terminal := d.DetectTerminalFromDeps(dependencies)
|
terminal := d.DetectTerminalFromDeps(dependencies)
|
||||||
if err := d.WriteEnvironmentConfig(terminal); err != nil {
|
if err := d.WriteEnvironmentConfig(terminal, wm); err != nil {
|
||||||
d.log(fmt.Sprintf("Warning: failed to write environment config: %v", err))
|
d.log(fmt.Sprintf("Warning: failed to write environment config: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := d.EnableDMSService(ctx); err != nil {
|
if err := d.EnableDMSService(ctx, wm); err != nil {
|
||||||
d.log(fmt.Sprintf("Warning: failed to enable dms service: %v", err))
|
d.log(fmt.Sprintf("Warning: failed to enable dms service: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -358,11 +358,11 @@ func (f *FedoraDistribution) InstallPackages(ctx context.Context, dependencies [
|
|||||||
}
|
}
|
||||||
|
|
||||||
terminal := f.DetectTerminalFromDeps(dependencies)
|
terminal := f.DetectTerminalFromDeps(dependencies)
|
||||||
if err := f.WriteEnvironmentConfig(terminal); err != nil {
|
if err := f.WriteEnvironmentConfig(terminal, wm); err != nil {
|
||||||
f.log(fmt.Sprintf("Warning: failed to write environment config: %v", err))
|
f.log(fmt.Sprintf("Warning: failed to write environment config: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := f.EnableDMSService(ctx); err != nil {
|
if err := f.EnableDMSService(ctx, wm); err != nil {
|
||||||
f.log(fmt.Sprintf("Warning: failed to enable dms service: %v", err))
|
f.log(fmt.Sprintf("Warning: failed to enable dms service: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -436,11 +436,11 @@ func (g *GentooDistribution) InstallPackages(ctx context.Context, dependencies [
|
|||||||
}
|
}
|
||||||
|
|
||||||
terminal := g.DetectTerminalFromDeps(dependencies)
|
terminal := g.DetectTerminalFromDeps(dependencies)
|
||||||
if err := g.WriteEnvironmentConfig(terminal); err != nil {
|
if err := g.WriteEnvironmentConfig(terminal, wm); err != nil {
|
||||||
g.log(fmt.Sprintf("Warning: failed to write environment config: %v", err))
|
g.log(fmt.Sprintf("Warning: failed to write environment config: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := g.EnableDMSService(ctx); err != nil {
|
if err := g.EnableDMSService(ctx, wm); err != nil {
|
||||||
g.log(fmt.Sprintf("Warning: failed to enable dms service: %v", err))
|
g.log(fmt.Sprintf("Warning: failed to enable dms service: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -373,11 +373,11 @@ func (o *OpenSUSEDistribution) InstallPackages(ctx context.Context, dependencies
|
|||||||
}
|
}
|
||||||
|
|
||||||
terminal := o.DetectTerminalFromDeps(dependencies)
|
terminal := o.DetectTerminalFromDeps(dependencies)
|
||||||
if err := o.WriteEnvironmentConfig(terminal); err != nil {
|
if err := o.WriteEnvironmentConfig(terminal, wm); err != nil {
|
||||||
o.log(fmt.Sprintf("Warning: failed to write environment config: %v", err))
|
o.log(fmt.Sprintf("Warning: failed to write environment config: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := o.EnableDMSService(ctx); err != nil {
|
if err := o.EnableDMSService(ctx, wm); err != nil {
|
||||||
o.log(fmt.Sprintf("Warning: failed to enable dms service: %v", err))
|
o.log(fmt.Sprintf("Warning: failed to enable dms service: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -353,11 +353,11 @@ func (u *UbuntuDistribution) InstallPackages(ctx context.Context, dependencies [
|
|||||||
}
|
}
|
||||||
|
|
||||||
terminal := u.DetectTerminalFromDeps(dependencies)
|
terminal := u.DetectTerminalFromDeps(dependencies)
|
||||||
if err := u.WriteEnvironmentConfig(terminal); err != nil {
|
if err := u.WriteEnvironmentConfig(terminal, wm); err != nil {
|
||||||
u.log(fmt.Sprintf("Warning: failed to write environment config: %v", err))
|
u.log(fmt.Sprintf("Warning: failed to write environment config: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := u.EnableDMSService(ctx); err != nil {
|
if err := u.EnableDMSService(ctx, wm); err != nil {
|
||||||
u.log(fmt.Sprintf("Warning: failed to enable dms service: %v", err))
|
u.log(fmt.Sprintf("Warning: failed to enable dms service: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -209,8 +209,12 @@ func (m Model) viewInstallComplete() string {
|
|||||||
labelStyle := lipgloss.NewStyle().Foreground(lipgloss.Color(theme.Subtle))
|
labelStyle := lipgloss.NewStyle().Foreground(lipgloss.Color(theme.Subtle))
|
||||||
|
|
||||||
b.WriteString(labelStyle.Render("Troubleshooting:") + "\n")
|
b.WriteString(labelStyle.Render("Troubleshooting:") + "\n")
|
||||||
|
if m.selectedWM == 1 {
|
||||||
|
b.WriteString(labelStyle.Render(" Disable autostart: ") + cmdStyle.Render("remove 'exec-once = dms run' from hyprland.conf") + "\n")
|
||||||
|
} else {
|
||||||
b.WriteString(labelStyle.Render(" Disable autostart: ") + cmdStyle.Render("systemctl --user disable dms") + "\n")
|
b.WriteString(labelStyle.Render(" Disable autostart: ") + cmdStyle.Render("systemctl --user disable dms") + "\n")
|
||||||
b.WriteString(labelStyle.Render(" View logs: ") + cmdStyle.Render("journalctl --user -u dms") + "\n")
|
b.WriteString(labelStyle.Render(" View logs: ") + cmdStyle.Render("journalctl --user -u dms") + "\n")
|
||||||
|
}
|
||||||
|
|
||||||
if m.osInfo != nil {
|
if m.osInfo != nil {
|
||||||
if cmd := uninstallCommand(m.osInfo.Distribution.ID, m.dependencies); cmd != "" {
|
if cmd := uninstallCommand(m.osInfo.Distribution.ID, m.dependencies); cmd != "" {
|
||||||
|
|||||||
Reference in New Issue
Block a user