Compare commits

..

2 Commits

Author SHA1 Message Date
ae904436f0 Run moongreet inside Niri compositor via greetd
Moongreet needs a Wayland compositor — greetd now starts Niri with
a minimal greeter-only config (no keybinds, no gaps, auto-quit).
2026-03-26 21:33:54 +01:00
312924e2a8 Add stasis idle manager configuration
Configures screen dimming, DPMS, moonlock, and suspend timers
for AC and battery profiles. Includes app inhibit patterns for
media players, gaming, VMs, and rendering workloads.
2026-03-26 21:32:49 +01:00
3 changed files with 141 additions and 2 deletions

View File

@ -1,9 +1,11 @@
# ABOUTME: greetd-Konfiguration fuer Moonarch. # ABOUTME: greetd-Konfiguration fuer Moonarch.
# ABOUTME: Startet moongreet als Wayland-Greeter via gtk4-layer-shell. # ABOUTME: Startet Niri als Compositor fuer den Moongreet-Greeter.
[terminal] [terminal]
vt = 1 vt = 1
[default_session] [default_session]
command = "moongreet" # Moongreet braucht einen Wayland-Compositor — niri stellt diesen bereit.
# Siehe niri-greeter.kdl fuer die Compositor-Konfiguration.
command = "niri -c /etc/greetd/niri-greeter.kdl"
user = "greeter" user = "greeter"

View File

@ -0,0 +1,59 @@
// ABOUTME: Niri-Konfiguration fuer den Moongreet Login-Greeter.
// ABOUTME: Wird von greetd gestartet — minimale Config ohne Keybinds fuer Sicherheit.
input {
keyboard {
xkb {
layout "de"
}
numlock
}
touchpad {
tap
natural-scroll
}
mouse {
accel-profile "flat"
}
}
cursor {
xcursor-theme "Sweet-cursors"
}
layout {
gaps 0
focus-ring {
off
}
border {
off
}
}
// Moongreet starten und niri beenden, sobald moongreet sich schliesst.
// Retry-Loop stellt sicher, dass niri auch bei fruehen Crashes von moongreet beendet wird.
spawn-sh-at-startup "moongreet; while ! niri msg action quit --skip-confirmation 2>/dev/null; do sleep 0.5; done"
// Greeter-Fenster maximiert darstellen
window-rule {
open-maximized true
}
hotkey-overlay {
skip-at-startup
}
prefer-no-csd
animations {
off
}
binds {
// Keine Keybinds — verhindert Zugriff auf Terminals oder andere Aktionen
}

View File

@ -0,0 +1,78 @@
# Stasis idle manager configuration for Moonarch
# Manages screen dimming, DPMS, lock, and suspend timers
@author "Moonarch"
@description "Idle management for Moonarch (Niri + moonlock)"
default:
# Media playback inhibits idle (non-browser only, browser uses D-Bus inhibit)
monitor_media true
ignore_remote_media true
# App/process inhibit patterns (apps that don't use D-Bus idle-inhibit)
inhibit_apps [
"vlc"
"mpv"
"celluloid"
r"steam_app_.*"
"gamescope"
"virt-manager"
"qemu"
"obs"
"kdenlive"
"handbrake"
"blender"
]
# Lid actions (laptop only)
lid_close_action "moonlock"
lid_open_action ""
# AC power plan (relaxed)
ac:
brightness:
timeout 300
command "brightnessctl set 50%"
end
dpms:
timeout 120
command "niri msg action power-off-monitors"
resume_command "niri msg action power-on-monitors"
end
lock_screen:
timeout 180
command "moonlock"
end
suspend:
timeout 600
command "systemctl suspend"
end
end
# Battery plan (aggressive)
battery:
brightness:
timeout 60
command "brightnessctl set 30%"
end
dpms:
timeout 30
command "niri msg action power-off-monitors"
resume_command "niri msg action power-on-monitors"
end
lock_screen:
timeout 60
command "moonlock"
end
suspend:
timeout 120
command "systemctl suspend"
end
end
end