Commit 926c46571914

Vincent Demeester <vincent@sbr.pm>
2018-11-01 14:22:27
profiles: add a dev.go profile
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent 002befb
modules/profiles/dev.go.nix
@@ -0,0 +1,53 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.profiles.dev.go;
+in
+{
+  options = {
+    profiles.dev.go = {
+      enable = mkOption {
+        default = false;
+        description = "Enable go development profile";
+        type = types.bool;
+      };
+    };
+  };
+  config = mkIf cfg.enable (mkMerge [
+    {
+      profiles.dev.enable = true;
+      home.packages = with pkgs; [
+        go
+        gcc
+        # tools
+        gotools
+        golint
+        godef
+        gocode
+        gotests
+        gopkgs
+        gomodifytags
+        go-outline
+        go-symbols
+        goconvey
+        delve
+        # vendoring tools
+        vndr
+        dep
+        dep-collector
+        # misc
+        protobuf
+        protobuild
+      ];
+    }
+    (mkIf config.profiles.fish.enable {
+      xdg.configFile."fish/conf.d/go.fish".source = ./assets/fish/go.fish;
+      programs.fish.shellAbbrs = {
+        got = "go test -v";
+        gob = "go build -v";
+        gol = "golangci-lint run";
+      };
+    })
+  ]);
+}
modules/module-list.nix
@@ -5,6 +5,7 @@
     ./profiles/bash.nix
     ./profiles/desktop.nix
     ./profiles/dev.nix
+    ./profiles/dev.go.nix
     ./profiles/emacs.nix
     ./profiles/fish.nix
     ./profiles/git.nix
dev.go.nix
@@ -1,34 +0,0 @@
-{ pkgs, prefix, ... }:
-
-{
-  profiles.dev.enable = true;
-  xdg.configFile."fish/conf.d/go.fish".source = ./modules/profiles/assets/fish/go.fish;
-  programs.fish.shellAbbrs = {
-    got = "go test -v";
-    gob = "go build -v";
-    gol = "golangci-lint run";
-  };
-  home.packages = with pkgs; [
-    go
-    gcc
-    # tools
-    gotools
-    golint
-    godef
-    gocode
-    gotests
-    gopkgs
-    gomodifytags
-    go-outline
-    go-symbols
-    goconvey
-    delve
-    # vendoring tools
-    vndr
-    dep
-    dep-collector
-    # misc
-    protobuf
-    protobuild
-  ];
-}
hokkaido.nix
@@ -4,7 +4,6 @@
   imports = [
     ./desktop.nix
     # dev
-    ./dev.go.nix
     ./dev.python.nix
     ./dev.js.nix
     ./vscode.nix
@@ -13,6 +12,7 @@
     ./kubernetes.nix
   ];
   profiles.laptop.enable = true;
+  profiles.dev.go.enable = true;
   home.packages = with pkgs; [
     google-chrome
   ];
honshu.nix
@@ -3,8 +3,8 @@
 {
   imports = [
     ./server.nix
-    ./dev.go.nix
   ];
+  profiles.dev.go.enable = true;
   xdg.configFile."ape.conf".source = ./ape.conf;
   home.packages = with pkgs; [
     youtube-dl
remote-dev.nix
@@ -2,11 +2,10 @@
 
 {
   imports = [
-    ./fish.nix
     ./base.nix
-    ./dev.go.nix
     ./dev.js.nix
     ./dev.rust.nix
   ];
+  profiles.dev.go.enable = true;
   manual.manpages.enable = false;
 }
shikoku.nix
@@ -2,20 +2,19 @@
 
 {
   imports = [
+    ./desktop.nix
     ./gaming.nix
     ./devops.nix
-    ./dev.go.nix
     ./dev.rust.nix
     ./dev.python.nix
     ./dev.js.nix
     ./dev.java.nix
     ./dev.haskell.nix
-    ./fish.nix
     ./openshift.nix
-    ./ssh.nix
     ./vscode.nix
   ];
   profiles.desktop.enable = true;
+  profiles.dev.go.enable = true;
   xdg.configFile."fish/conf.d/docker.fish".text = ''
     set -gx DOCKER_BUILDKIT 1
   '';
shikoku.win.nix
@@ -3,9 +3,7 @@
 {
   imports = [
     ./base.nix
-    ./dev.go.nix
-    ./fish.nix
-    ./ssh.nix
   ];
+  profiles.dev.go.enable = true;
   home.packages = with pkgs; [ docker ];
 }
wakasu.nix
@@ -4,17 +4,16 @@
   imports = [
     ./desktop.nix
     ./devops.nix
-    ./dev.go.nix
     ./dev.rust.nix
     ./dev.python.nix
     ./dev.js.nix
     ./dev.java.nix
     ./dev.haskell.nix
     ./openshift.nix
-    ./ssh.nix
     ./vscode.nix
   ];
   profiles.laptop.enable = true;
+  profiles.dev.go.enable = true;
   xdg.configFile."fish/conf.d/docker.fish".text = ''
     set -gx DOCKER_BUILDKIT 1
   '';