about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ops/nixos/camden/default.nix32
1 files changed, 27 insertions, 5 deletions
diff --git a/ops/nixos/camden/default.nix b/ops/nixos/camden/default.nix
index 64f1e8d54dd5..9cecbcdccf0e 100644
--- a/ops/nixos/camden/default.nix
+++ b/ops/nixos/camden/default.nix
@@ -93,11 +93,21 @@ in pkgs.lib.fix(self: {
       curl emacs26-nox gnupg pass pciutils direnv
     ]);
 
-  users.users.tazjin = {
-    isNormalUser = true;
-    uid = 1000;
-    extraGroups = [ "wheel" ];
-    shell = nixpkgs.fish;
+  users = {
+    # Set up my own user for logging in and doing things ...
+    users.tazjin = {
+      isNormalUser = true;
+      uid = 1000;
+      extraGroups = [ "git" "wheel" ];
+      shell = nixpkgs.fish;
+    };
+
+    # Set up a user & group for general git shenanigans
+    groups.git = {};
+    users.git = {
+      group = "git";
+      isNormalUser = false;
+    };
   };
 
   # Services setup
@@ -121,6 +131,18 @@ in pkgs.lib.fix(self: {
     } ;
   };
 
+  # Run cgit for the depot. The onion here is nginx(thttpd(cgit)).
+  systemd.services.cgit = {
+    wantedBy = [ "multi-user.target" ];
+    script = "${pkgs.web.cgit-taz}/bin/cgit-launch";
+
+    serviceConfig = {
+      Restart = "on-failure";
+      User = "git";
+      Group = "git";
+    };
+  };
+
   # serve my website
   services.nginx = {
     enable = true;