41 lines
849 B
Nix
41 lines
849 B
Nix
|
{ config, lib, pkgs, ... }:
|
||
|
let
|
||
|
cfg = config.this.lang.golang;
|
||
|
graphical = config.this.graphical;
|
||
|
in with lib; {
|
||
|
options = {
|
||
|
this.lang.golang = {
|
||
|
enable = mkOption {
|
||
|
default = graphical.enable;
|
||
|
type = with types; bool;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
home-manager.users.james = {
|
||
|
programs.go = {
|
||
|
enable = true;
|
||
|
goPath = ".local/go";
|
||
|
goBin = ".local/bin.go";
|
||
|
# packages = {
|
||
|
# "golang.org/x/tools/cmd/godoc";
|
||
|
# "golang.org/x/tools/cmd/goimports";
|
||
|
# "golang.org/x/tools/cmd/gorename";
|
||
|
# "golang.org/x/tools/cmd/guru";
|
||
|
# };
|
||
|
};
|
||
|
|
||
|
home.packages = with pkgs; [
|
||
|
air
|
||
|
gocode
|
||
|
golangci-lint
|
||
|
gomodifytags
|
||
|
gomodifytags
|
||
|
gore
|
||
|
gotests
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
}
|