Commit 88d8c9f4dc70

Vincent Demeester <vincent@sbr.pm>
2018-11-01 17:36:47
profiles.containers: add openshift profile
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent d82c021
modules/profiles/kubernetes.nix
@@ -32,7 +32,6 @@ in
       home.packages = with pkgs; [
         cri-tools
         kail
-        kubectl
         kustomize
         knctl
         kube-prompt
@@ -40,7 +39,13 @@ in
       ];
     }
     (mkIf cfg.minikube.enable {
-      home.packages = with pkgs; [ cfg.minikube.package ];
+      home.packages = with pkgs; [
+        cfg.minikube.package
+        docker-machine-kvm2
+      ];
+    })
+    (mkIf (!config.profiles.containers.openshift.enable) {
+      home.packages = with pkgs; [ kubectl ];
     })
   ]);
 }
modules/profiles/openshift.nix
@@ -0,0 +1,45 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.profiles.containers.openshift;
+in
+{
+  options = {
+    profiles.containers.openshift = {
+      enable = mkOption {
+        default = true;
+        description = "Enable openshift profile";
+        type = types.bool;
+      };
+      minishift = {
+        enable = mkOption {
+          default = false;
+          description = "Enable minishift";
+          type = types.bool;
+        };
+        package = mkOption {
+          default = pkgs.minishift;
+          description = "Minishift package";
+          type = types.package;
+        };
+      };
+    };
+  };
+  config = mkIf cfg.enable (mkMerge [
+    {
+      profiles.containers.kubernetes.enable = true;
+      home.packages = with pkgs; [
+        s2i
+        openshift
+      ];
+    }
+    (mkIf cfg.minishift.enable {
+      home.packages = with pkgs; [
+        cfg.minishift.package
+        docker-machine-kvm
+        docker-machine-kvm2
+      ];
+    })
+  ]);
+}
modules/module-list.nix
@@ -21,6 +21,7 @@
     ./profiles/i3.nix
     ./profiles/kubernetes.nix
     ./profiles/laptop.nix
+    ./profiles/openshift.nix
     ./profiles/ssh.nix
     ./profiles/tmux.nix
     ./profiles/zsh.nix
openshift.nix
@@ -1,10 +0,0 @@
-{ pkgs, ... }:
-
-{
-  home.packages = with pkgs; [
-    docker-machine-kvm
-    docker-machine-kvm2
-    s2i
-    openshift
-  ];
-}
shikoku.nix
@@ -21,9 +21,14 @@
     enable = true;
     docker = true;
     kubernetes = { enable = true; minikube.enable = true; };
-    #openshift = { enable = true; minishift.enable = true; };
+    openshift = { enable = true; minishift.enable = true; };
   };
   programs.vscode.enable = true;
+  services.shairport-sync.enable = true;
+  
+  home.file."src/github.com/knative/.envrc".source = ./projects/nix.envrc;
+  home.file."src/github.com/knative/default.nix".source = ./projects/knative/default.nix;
+
   home.packages = with pkgs; [
     google-chrome
     obs-studio # screencast
wakasu.nix
@@ -4,7 +4,6 @@
   imports = [
     ./desktop.nix
     ./devops.nix
-    ./openshift.nix
   ];
   profiles.laptop.enable = true;
   profiles.dev = {
@@ -20,7 +19,7 @@
     enable = true;
     docker = true;
     kubernetes = { enable = true; minikube.enable = true; };
-    #openshift = { enable = true; minishift.enable = true; };
+    openshift = { enable = true; minishift.enable = true; };
   };
   programs.vscode.enable = true;
   home.packages = with pkgs; [