From 5b8d259ee6ab7b24ab93ff8a6a4d0bf2332fe9fc Mon Sep 17 00:00:00 2001 From: damidoug Date: Fri, 14 Nov 2025 20:55:28 +0100 Subject: [PATCH] aerospace: auto-reload config on file changes; --- modules/programs/aerospace.nix | 38 +++++++++++++++------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/modules/programs/aerospace.nix b/modules/programs/aerospace.nix index e6d69a4e6..b05fab7de 100644 --- a/modules/programs/aerospace.nix +++ b/modules/programs/aerospace.nix @@ -180,27 +180,23 @@ in home = { packages = lib.mkIf (cfg.package != null) [ cfg.package ]; - file.".config/aerospace/aerospace.toml".source = - let - generatedConfig = tomlFormat.generate "aerospace" ( - filterNulls ( - cfg.settings - // { - # Override these to avoid launchd conflicts - start-at-login = false; - after-login-command = [ ]; - } - ) - ); - extraConfig = pkgs.writeText "aerospace-extra-config" cfg.extraConfig; - in - pkgs.runCommandLocal "aerospace.toml" - { - inherit generatedConfig extraConfig; - } - '' - cat "$generatedConfig" "$extraConfig" > "$out" - ''; + file.".config/aerospace/aerospace.toml" = { + source = tomlFormat.generate "aerospace" ( + filterNulls ( + cfg.settings + // { + # Override these to avoid launchd conflicts + start-at-login = false; + after-login-command = [ ]; + } + ) + ); + + onChange = lib.mkIf cfg.launchd.enable '' + echo "AeroSpace config changed, reloading..." + ${lib.getExe cfg.package} reload-config + ''; + }; }; launchd.agents.aerospace = {