From 60e26854dac063f0732f44babb3c7d3dbf7888a0 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Fri, 13 Jun 2025 16:27:15 +0530 Subject: Add git + gitweb integration --- modules/storage/default.nix | 1 + modules/storage/git.nix | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 modules/storage/git.nix (limited to 'modules/storage') diff --git a/modules/storage/default.nix b/modules/storage/default.nix index 22bd2ff..b5cb2b2 100644 --- a/modules/storage/default.nix +++ b/modules/storage/default.nix @@ -2,5 +2,6 @@ { imports = [ ./syncthing.nix + ./git.nix ]; } 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 = "_"; + }; + }; +} -- cgit v1.3.1