Commit 0ef1fcba7751

Vincent Demeester <vincent@sbr.pm>
2018-11-01 16:55:31
profiles.containers: add kubernetes profile 👼
… with a minikube option… Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent fcc04b7
modules/profiles/kubernetes.nix
@@ -0,0 +1,46 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.profiles.containers.kubernetes;
+in
+{
+  options = {
+    profiles.containers.kubernetes = {
+      enable = mkOption {
+        default = true;
+        description = "Enable kubernetes profile";
+        type = types.bool;
+      };
+      minikube = {
+        enable = mkOption {
+          default = false;
+          description = "Enable minikube";
+          type = types.bool;
+        };
+        package = mkOption {
+          default = pkgs.minikube;
+          description = "Minikube package";
+          type = types.package;
+        };
+      };
+    };
+  };
+  config = mkIf cfg.enable (mkMerge [
+    {
+      profiles.containers.enable = true;
+      home.packages = with pkgs; [
+        cri-tools
+        kail
+        kubectl
+        kustomize
+        knctl
+        kube-prompt
+        kubectx
+      ];
+    }
+    (mkIf cfg.minikube.enable {
+      home.packages = with pkgs; [ cfg.minikube.package ];
+    })
+  ]);
+}
modules/module-list.nix
@@ -18,6 +18,7 @@
     ./profiles/gaming.nix
     ./profiles/git.nix
     ./profiles/i3.nix
+    ./profiles/kubernetes.nix
     ./profiles/laptop.nix
     ./profiles/ssh.nix
     ./profiles/tmux.nix
devops.nix
@@ -1,7 +1,6 @@
 { pkgs, prefix, ... }:
 
 {
-  imports = [ ./kubernetes.nix ./minikube.nix ];
   home.packages = with pkgs; [
     google-cloud-sdk
     packer
hokkaido.nix
@@ -3,8 +3,6 @@
 {
   imports = [
     ./desktop.nix
-    # k8s
-    ./kubernetes.nix
   ];
   profiles.laptop.enable = true;
   profiles.dev = {
kubernetes.nix
@@ -1,13 +0,0 @@
-{ pkgs, prefix, ... }:
-
-{
-  home.packages = with pkgs; [
-    cri-tools
-    kail
-    kubectl
-    kustomize
-    knctl
-    kube-prompt
-    kubectx
-  ];
-}
minikube.nix
@@ -1,7 +0,0 @@
-{ pkgs, prefix, ... }:
-
-{
-  home.packages = with pkgs; [
-    minikube
-  ];
-}
shikoku.nix
@@ -19,6 +19,8 @@
   profiles.containers = {
     enable = true;
     docker = true;
+    kubernetes = { enable = true; minikube.enable = true; };
+    #openshift = { enable = true; minishift.enable = true; };
   };
   programs.vscode.enable = true;
   home.packages = with pkgs; [
wakasu.nix
@@ -18,6 +18,8 @@
   profiles.containers = {
     enable = true;
     docker = true;
+    kubernetes = { enable = true; minikube.enable = true; };
+    #openshift = { enable = true; minishift.enable = true; };
   };
   programs.vscode.enable = true;
   home.packages = with pkgs; [