summary refs log tree commit diff stats
path: root/user/settings/development/golang.nix
blob: 34a7489645d8d492a4fa0a7dbaae09b405cb2be4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{ pkgs, ... }: {
  home.packages = with pkgs; [
    go
    gopls
    godef
    gogetdoc
    gotools
    golines
    impl
    gomodifytags
    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
  ]);
  programs.neovim.plugins = with pkgs.vimPlugins; [
    coc-go
  ];
}