about summary refs log tree commit diff
path: root/home/modules/urbint/common.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home/modules/urbint/common.nix')
-rw-r--r--home/modules/urbint/common.nix79
1 files changed, 79 insertions, 0 deletions
diff --git a/home/modules/urbint/common.nix b/home/modules/urbint/common.nix
new file mode 100644
index 000000000000..52db4c66629b
--- /dev/null
+++ b/home/modules/urbint/common.nix
@@ -0,0 +1,79 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  aliases = {
+    cluster = "gcloud container clusters get-credentials";
+    vpon = "sudo systemctl start openvpn-urbint.service";
+  };
+in
+{
+  imports = [ ../lib/cloneRepo.nix ];
+
+  options = {
+    urbint.projectPath = mkOption {
+      description = ''
+      Root path to clone Urbint repos in, relative to your home directory
+      '';
+      type = types.str;
+      default = "code";
+    };
+  };
+
+  config = {
+    services.lorri.enable = true;
+
+    programs.direnv = {
+      enable = true;
+      enableBashIntegration = true;
+      enableZshIntegration = true;
+    };
+
+    home.packages = with pkgs; [
+      docker
+      docker-compose
+      skopeo
+
+      kubectl
+      kubetail
+      google-cloud-sdk
+      openvpn
+      sops
+      (import <nixpkgs-unstable> {}).argocd
+      drone-cli
+
+      git
+
+      zoom-us
+      slack
+      _1password
+    ];
+
+    nixpkgs.config.allowUnfree = true;
+
+    impure.clonedRepos = {
+      grid = {
+        github = "urbint/grid";
+        path = "${config.urbint.projectPath}/grid";
+      };
+
+      docker-images = {
+        github = "urbint/docker-images";
+        path = "${config.urbint.projectPath}/docker-images";
+      };
+
+      gitops = {
+        github = "urbint/gitops";
+        path = "${config.urbint.projectPath}/gitops";
+      };
+    };
+
+    programs.zsh.shellAliases = aliases;
+    programs.bash.shellAliases = aliases;
+
+    programs.zsh.envExtra = ''
+      export DRONE_SERVER=https://ci.urbinternal.com
+    '';
+  };
+}