mirror of
https://github.com/nix-community/home-manager.git
synced 2026-01-11 17:39:37 +08:00
zed-editor: don't add activation scripts if there is nothing to merge (#7254)
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user