aboutsummaryrefslogtreecommitdiff
path: root/modules/storage/git.nix
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-06-13 16:27:15 +0530
committerAkshay Nair <phenax5@gmail.com>2025-06-13 16:27:15 +0530
commit60e26854dac063f0732f44babb3c7d3dbf7888a0 (patch)
treeba19e14d142a06e7cec3abdb377a986214e290c4 /modules/storage/git.nix
parentbe1266cb5fd7a5a65a47a2238ba23447b6062c2d (diff)
downloadhomeserver-nixos-config-60e26854dac063f0732f44babb3c7d3dbf7888a0.tar.gz
homeserver-nixos-config-60e26854dac063f0732f44babb3c7d3dbf7888a0.zip
Add git + gitweb integration
Diffstat (limited to '')
-rw-r--r--modules/storage/git.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/storage/git.nix b/modules/storage/git.nix
new file mode 100644
index 0000000..c9d447e
--- /dev/null
+++ b/modules/storage/git.nix
@@ -0,0 +1,41 @@
+{ lib, ... }:
+let
+ settings = import ../../settings.nix { inherit lib; };
+in
+{
+ systemd.tmpfiles.rules = [
+ "d ${settings.git.baseDir} 0770 - ${settings.git.group} - -"
+ ];
+ users.groups.${settings.git.group} = { };
+ users.users.bacchus.extraGroups = [ settings.git.group ];
+
+ programs.git = {
+ enable = true;
+ config = {
+ init = {
+ defaultBranch = "main";
+ };
+ color.ui = true;
+ pull.rebase = true;
+ rebase.autosquash = true;
+ user = {
+ email = "phenax5@gmail.com";
+ name = "Akshay Nair";
+ };
+ };
+ };
+
+ services.gitweb = {
+ gitwebTheme = true;
+ projectroot = settings.git.baseDir;
+ };
+
+ services.nginx = {
+ enable = true;
+ gitweb = {
+ enable = true;
+ group = settings.git.group;
+ virtualHost = "_";
+ };
+ };
+}