{ ... }: { plugins.gitsigns = { enable = true; }; keymaps = [ { mode = [ "n" "v" ]; key = "hs"; action = "Gitsigns stage_hunk"; options = { silent = true; desc = "Stage Hunk"; }; } { mode = [ "n" "v" ]; key = "hr"; action = "Gitsigns reset_hunk"; options = { silent = true; desc = "Reset Hunk"; }; } { mode = "n"; key = "hS"; action = "Gitsigns stage_buffer"; options = { silent = true; desc = "Stage Buffer"; }; } { mode = "n"; key = "hu"; action = "Gitsigns undo_stage_hunk"; options = { silent = true; desc = "Undo Staged Hunk"; }; } { mode = "n"; key = "hR"; action = "Gitsigns reset_buffer"; options = { silent = true; desc = "Reset Buffer"; }; } { mode = "n"; key = "hp"; action = "Gitsigns preview_hunk_inline"; options = { silent = true; desc = "Preview Hunk"; }; } { mode = "n"; key = "hb"; action = "Gitsigns blame"; options = { silent = true; desc = "View Blame"; }; } { mode = "n"; key = "tb"; action = "Gitsigns toggle_current_line_blame"; options = { silent = true; desc = "Toggle Blame"; }; } { mode = "n"; key = "hd"; action = "Gitsigns diffthis"; options = { silent = true; desc = "View Diff"; }; } { mode = "n"; key = "td"; action = "Gitsigns toggle_deleted"; options = { silent = true; desc = "Toggle Deleted"; }; } ]; }