From 60b6daf4f3e42709ce106959c594d8a3095e1a7e Mon Sep 17 00:00:00 2001 From: nevaforget <> Date: Mon, 31 Aug 2026 12:59:03 +0200 Subject: [PATCH] fix(services): give quickshell the session path As a spawn-at-startup it inherited niri's environment; the unit got systemd's minimal one, so every widget that shells out failed to start its process -- niri, nmcli, powerprofilesctl, the moonarch scripts and a dozen more. --- modules/services.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/services.nix b/modules/services.nix index d19786e..ce2f961 100644 --- a/modules/services.nix +++ b/modules/services.nix @@ -1,7 +1,7 @@ # ABOUTME: systemd system and user services for the desktop session. # ABOUTME: Rebuilt from moonarch/defaults/etc/systemd/, whose units use FHS paths. -{ pkgs, lib, moonarchPkgs, ... }: +{ config, pkgs, lib, moonarchPkgs, ... }: { # --- Audio --- @@ -103,6 +103,11 @@ partOf = [ "graphical-session.target" ]; after = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ]; + # The widgets shell out to niri, nmcli, powerprofilesctl, the moonarch + # scripts and a dozen more, and which ones is a property of the QML, not of + # this file. As a spawn-at-startup it inherited the session PATH; the unit + # gets the same set rather than a list that goes stale on the next widget. + path = [ config.system.path ]; serviceConfig = { Type = "simple"; ExecStart = "${lib.getExe pkgs.quickshell} -c moonarch";