diff --git a/modules/plugins/gitsigns.nix b/modules/plugins/gitsigns.nix index 1f5762b..a0082c4 100644 --- a/modules/plugins/gitsigns.nix +++ b/modules/plugins/gitsigns.nix @@ -15,11 +15,12 @@ let cfg = config.plugins.gitsigns; in keymap.set = mkOption { type = with types; listOf keymap; + default = [ ]; }; }; config = lib.mkIf cfg.enable { - fn.gitsigns-nvim-on-attach = { + fn.gitsigns-nvim-on-attach = lib.mkIf (cfg.keymap.set != [ ]) { args = [ "bufnr" ]; content = { bufnr }: { vim.keymap.set = map (attrs: attrs // { buffer = bufnr; }) cfg.keymap.set; @@ -30,9 +31,12 @@ let cfg = config.plugins.gitsigns; in name = "gitsigns"; varName = "gs"; package = cfg.package; - setupSettings = cfg.settings // { - on_attach = config.fn.gitsigns-nvim-on-attach.lambda; - }; + setupSettings = lib.mkMerge [ + cfg.settings + (lib.mkIf (cfg.keymap.set != [ ]) { + on_attach = config.fn.gitsigns-nvim-on-attach.lambda; + }) + ]; }; }; } diff --git a/modules/plugins/navigation/nvim-tree.nix b/modules/plugins/navigation/nvim-tree.nix index 571d15a..329ee8a 100644 --- a/modules/plugins/navigation/nvim-tree.nix +++ b/modules/plugins/navigation/nvim-tree.nix @@ -55,11 +55,12 @@ let cfg = config.plugins.navigation.nvim-tree; in plugin.nvim-tree-lua = { name = "nvim-tree"; package = cfg.package; - setupSettings = + setupSettings = lib.mkMerge [ cfg.settings - // lib.optionalAttrs (cfg.keymap.set != [ ]) { + (lib.mkIf (cfg.keymap.set != [ ]) { on_attach = config.fn.nvim-tree-lua-on-attach.lambda; - }; + }) + ]; }; vim.g = lib.mkIf cfg.disableNetrw {