{ pkgs, ... }: { home.packages = with pkgs; [ go gopls godef gogetdoc gotools golines impl delve gdlv gomodifytags personal.go-instrument golangci-lint golangci-lint-langserver prettier-plugin-go-template ]; home.sessionPath = [ "$HOME/go/bin" ]; home.shellAliases = { gom = "go mod"; gomt = "go mod tidy"; gomd = "go mod download"; gog = "go get"; gogu = "go get -u"; }; home.sessionVariables.GOTOOLCHAIN = "local"; # use installed go tools programs.emacs.extraPackages = epkgs: (with epkgs; [ go-eldoc go-tag templ-ts-mode (treesit-grammars.with-grammars (grammars: with grammars; [ tree-sitter-go tree-sitter-gowork tree-sitter-gomod tree-sitter-templ ])) ]); programs.neovim.plugins = with pkgs.vimPlugins; [ coc-go ]; }