return {
	-- Git
	{
		"<leader><leader>gl",
		function()
			Snacks.lazygit()
		end,
		desc = "Open LazyGit",
		mode = "n",
	},
	{
		"<leader><leader>gb",
		function()
			Snacks.git.blame_line()
		end,
		desc = "Open Git Blame for this line",
		mode = "n",
	},
	-- Colours
	{
		"<leader>fcs",
		function()
			Snacks.picker.colorschemes()
		end,
		desc = "Show color schemes",
		mode = "n",
	},
	{
		"<leader>fco",
		function()
			Snacks.picker.highlights({ pattern = "hl_group:^Snacks" })
		end,
		desc = "Show Snacks highlights",
		mode = "n",
	},
	{
		"<leader>fca",
		function()
			Snacks.picker.highlights()
		end,
		desc = "Show highlight groups",
		mode = "n",
	},
	{
		"<leader>fci",
		function()
			Snacks.picker.icons()
		end,
		desc = "Show icons",
		mode = "n",
	},
	-- Terminal
	{
		"<leader>t",
		function()
			Snacks.terminal()
		end,
		desc = "Open terminal",
	},
	-- Tree
	{
		"<leader>e",
		function()
			Snacks.explorer()
		end,
		desc = "Open File Tree",
		mode = "n",
	},
	-- Pickers
	{
		"<leader>ff",
		function()
			Snacks.picker.files()
		end,
		desc = "Find file",
		mode = "n",
	},
	{
		"<leader>fg",
		function()
			Snacks.picker.grep()
		end,
		desc = "Find file content using grep",
		mode = "n",
	},
	{
		"<leader>fb",
		function()
			Snacks.picker.buffers()
		end,
		desc = "Show all buffers",
		mode = "n",
	},
	{
		"<leader>fch",
		function()
			Snacks.picker.command_history()
		end,
		desc = "Show command history",
		mode = "n",
	},
	{
		"<leader>fd",
		function()
			Snacks.picker.diagnostics()
		end,
		desc = "Show diagnostics",
		mode = "n",
	},
	{
		"<leader>fm",
		function()
			Snacks.picker.git_diff()
		end,
		desc = "Show uncommitted diffs",
		mode = "n",
	},
	{
		"<leader>fh",
		function()
			Snacks.picker.help()
		end,
		desc = "Show nvim help pages",
		mode = "n",
	},
	{
		"<leader>fj",
		function()
			Snacks.picker.jumps()
		end,
		desc = "Show available jumps",
		mode = "n",
	},
	{
		"<leader>fk",
		function()
			Snacks.picker.keymaps()
		end,
		desc = "Show keymaps",
		mode = "n",
	},
	{
		"<leader>flc",
		function()
			Snacks.picker.lsp_config()
		end,
		desc = "Show LSP configs",
		mode = "n",
	},
	{
		"gd",
		function()
			Snacks.picker.lsp_definitions()
		end,
		desc = "Goto definitions",
		mode = "n",
	},
	{
		"gi",
		function()
			Snacks.picker.lsp_implementations()
		end,
		desc = "Goto implementations",
		mode = "n",
	},
	{
		"gR",
		function()
			Snacks.picker.lsp_references()
		end,
		desc = "Goto references",
		mode = "n",
	},
	{
		"gD",
		function()
			Snacks.picker.lsp_declarations()
		end,
		desc = "Goto declaration",
		mode = "n",
	},
	{
		"gy",
		function()
			Snacks.picker.lsp_type_definitions()
		end,
		desc = "Goto T[y]pe Definition",
	},
	{
		"gai",
		function()
			Snacks.picker.lsp_incoming_calls()
		end,
		desc = "C[a]lls Incoming",
	},
	{
		"gao",
		function()
			Snacks.picker.lsp_outgoing_calls()
		end,
		desc = "C[a]lls Outgoing",
	},
	{
		"gs",
		function()
			Snacks.picker.lsp_symbols()
		end,
		desc = "Show LSP symbols",
		mode = "n",
	},
	{
		"<leader>fn",
		function()
			Snacks.picker.noice()
		end,
		desc = "Show notifications",
		mode = "n",
	},
	{
		"<leader>fp",
		function()
			Snacks.picker.projects()
		end,
		desc = "Show recent projects",
		mode = "n",
	},
	{
		"<leader>fr",
		function()
			Snacks.picker.recent()
		end,
		desc = "Show recent files",
		mode = "n",
	},
	{
		"<leader>fs",
		function()
			Snacks.picker.spelling()
		end,
		desc = "Show spelling suggestions",
		mode = "n",
	},
	{
		"z=",
		function()
			Snacks.picker.spelling()
		end,
		desc = "Show spelling suggestions",
		mode = "n",
	},
	{
		"<leader>fo",
		function()
			Snacks.picker.treesitter()
		end,
		desc = "Show treesitter details",
		mode = "n",
	},
	-- Close buffer
	{
		"<C-x>",
		function()
			Snacks.bufdelete()
		end,
		desc = "Close buffer",
		mode = "n",
	},
}
