{ config, lib, pkgs, ... }: let inherit (lib) mkIf; cfg = config.programs.neovim; in { config = mkIf (cfg.enable && cfg.ideConfig.enableGolang) { programs = { neovim = { extraPackages = with pkgs; [go gopls]; extraLuaConfig = # lua '' local lsp = require('lspconfig'); local default_capabilities = require('cmp_nvim_lsp').default_capabilities(); lsp.gopls.setup({ cmd = { '${pkgs.gopls}/bin/gopls' }, capabilities = default_capabilities, }); ''; }; }; }; # For accurate stack trace _file = ./default.nix; }