{...}: { plugins.gitsigns = { enable = true; }; keymaps = [ { mode = ["n" "v"]; key = "gs"; action = "Gitsigns stage_hunk"; options = { silent = true; desc = "Stage Hunk"; }; } { mode = ["n" "v"]; key = "gr"; action = "Gitsigns reset_hunk"; options = { silent = true; desc = "Reset Hunk"; }; } { mode = "n"; key = "gS"; action = "Gitsigns stage_buffer"; options = { silent = true; desc = "Stage Buffer"; }; } { mode = "n"; key = "gu"; action = "Gitsigns undo_stage_hunk"; options = { silent = true; desc = "Undo Staged Hunk"; }; } { mode = "n"; key = "gR"; action = "Gitsigns reset_buffer"; options = { silent = true; desc = "Reset Buffer"; }; } { mode = "n"; key = "gp"; action = "Gitsigns preview_hunk_inline"; options = { silent = true; desc = "Preview Hunk"; }; } { mode = "n"; key = "gb"; action = "Gitsigns blame"; options = { silent = true; desc = "View Blame"; }; } { mode = "n"; key = "gtb"; action = "Gitsigns toggle_current_line_blame"; options = { silent = true; desc = "Toggle Blame"; }; } { mode = "n"; key = "gd"; action = "Gitsigns diffthis"; options = { silent = true; desc = "View Diff"; }; } { mode = "n"; key = "gtd"; action = "Gitsigns toggle_deleted"; options = { silent = true; desc = "Toggle Deleted"; }; } ]; }