aboutsummaryrefslogtreecommitdiff
path: root/modules/storage
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
parentbe1266cb5fd7a5a65a47a2238ba23447b6062c2d (diff)
downloadhomeserver-nixos-config-60e26854dac063f0732f44babb3c7d3dbf7888a0.tar.gz
homeserver-nixos-config-60e26854dac063f0732f44babb3c7d3dbf7888a0.zip
Add git + gitweb integration
Diffstat (limited to 'modules/storage')
-rw-r--r--modules/storage/default.nix1
-rw-r--r--modules/storage/git.nix41
2 files changed, 42 insertions, 0 deletions
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 = "_";
+ };
+ };
+}