{ pkgs, lib, ... }: { programs.nixvim = { # TODO: package goto-preview though a module extraConfigLuaPost = '' ${lib.strings.fileContents ./lua/goto-preview.lua} ''; extraPlugins = [ pkgs.vimExtraPlugins.goto-preview ]; maps.normal = { "gd" = { action = "require('goto-preview').goto_preview_definition"; lua = true; desc = "[G]oto [D]efinition"; }; "gtd" = { action = "require('goto-preview').goto_preview_type_definition"; lua = true; desc = "[G]oto the [t]ype [D]efinition"; }; "gi" = { action = "require('goto-preview').goto_preview_implementation"; lua = true; desc = "[G]oto [I]mplementations"; }; "gr" = { action = "require('goto-preview').goto_preview_references"; lua = true; desc = "[G]o to all [R]eferences of the symbol"; }; "\\" = { action = "require('goto-preview').close_all_win"; lua = true; desc = "close all preview windows"; }; }; }; }