{ pkgs, lib, config, ... }: { options.mods.octo.enable = lib.mkEnableOption "enables octo"; config = lib.mkIf config.mods.octo.enable { programs.nvf.settings.vim.lazy.plugins."octo.nvim" = { package = pkgs.vimPlugins.octo-nvim; setupModule = "octo"; setupOpts = { picker = "telescope"; enable_builtin = true; }; cmd = ["Octo"]; keys = [ { key = "oi"; mode = "n"; action = "Octo issue list"; desc = "List GitHub Issues"; } { key = "op"; mode = "n"; action = "Octo pr list"; desc = "List GitHub PullRequests"; } { key = "od"; mode = "n"; action = "Octo discussion list"; desc = "List GitHub Discussions"; } { key = "on"; mode = "n"; action = "Octo notification list"; desc = "List GitHub Notifications"; } { key = "os"; mode = "n"; action = "function() require('octo.utils').create_base_search_command { include_current_repo = true } end"; lua = true; desc = "Search GitHub"; } ]; }; }; }