zed-editor: don't add activation scripts if there is nothing to merge (#7254)

This commit is contained in:
Kieran
2025-06-13 02:47:44 +01:00
committed by GitHub
parent 5ab15331c2
commit 09859234f8

View File

@@ -8,6 +8,7 @@ let
inherit (lib)
literalExpression
mkIf
mkMerge
mkOption
types
;
@@ -166,19 +167,23 @@ in
}
);
home.activation = {
zedSettingsActivation = lib.hm.dag.entryAfter [ "linkGeneration" ] (
impureConfigMerger "{}" ".[0] * .[1]" "${config.xdg.configHome}/zed/settings.json" (
jsonFormat.generate "zed-user-settings" mergedSettings
)
);
zedKeymapActivation = lib.hm.dag.entryAfter [ "linkGeneration" ] (
impureConfigMerger "[]"
".[0] + .[1] | group_by(.context) | map(reduce .[] as $item ({}; . * $item))"
"${config.xdg.configHome}/zed/keymap.json"
(jsonFormat.generate "zed-user-keymaps" cfg.userKeymaps)
);
};
home.activation = mkMerge [
(mkIf (mergedSettings != { }) {
zedSettingsActivation = lib.hm.dag.entryAfter [ "linkGeneration" ] (
impureConfigMerger "{}" ".[0] * .[1]" "${config.xdg.configHome}/zed/settings.json" (
jsonFormat.generate "zed-user-settings" mergedSettings
)
);
})
(mkIf (cfg.userKeymaps != [ ]) {
zedKeymapActivation = lib.hm.dag.entryAfter [ "linkGeneration" ] (
impureConfigMerger "[]"
".[0] + .[1] | group_by(.context) | map(reduce .[] as $item ({}; . * $item))"
"${config.xdg.configHome}/zed/keymap.json"
(jsonFormat.generate "zed-user-keymaps" cfg.userKeymaps)
);
})
];
xdg.configFile = lib.mapAttrs' (
n: v: