diff --git a/modules/services/forgejo.nix b/modules/services/forgejo.nix index 7eb23a7..31208e0 100755 --- a/modules/services/forgejo.nix +++ b/modules/services/forgejo.nix @@ -3,6 +3,12 @@ with lib; let cfg = config.modules.services.forgejo; + + theme = pkgs.fetchzip { + url = "https://github.com/catppuccin/gitea/releases/download/v0.4.0/catppuccin-gitea.tar.gz"; + sha256 = "15ac7nk2a7jkwf714f9c2mxq3sn53rc9xwg2izg9syffvjsxa033"; + stripRoot = false; + }; in { options.modules.services.forgejo = { enable = mkOption { @@ -40,6 +46,15 @@ in { PASSWORD_HASH_ALGO = "argon2"; PASSWORD_CHECK_PWN = true; }; + "ui" = { + THEMES = + builtins.concatStringsSep + "," + (["auto"] + ++ (map (name: removePrefix "theme-" (removeSuffix ".css" name)) + (attrNames (builtins.readDir theme)))); + DEFAULT_THEME = "catppuccin-mocha-red"; + }; "ui.meta" = { AUTHOR = "reidlab"; DESCRIPTION = "reidlab's git instance"; @@ -77,5 +92,13 @@ in { ''; }; }; + + systemd.services.gitea = { + preStart = mkAfter '' + rm -rf ${config.services.gitea.stateDir}/custom/public + mkdir -p ${config.services.gitea.stateDir}/custom/public + ln -sf ${theme} ${config.services.gitea.stateDir}/custom/public/css + ''; + }; }; } diff --git a/readme.md b/readme.md index b36a2bf..3f75e72 100755 --- a/readme.md +++ b/readme.md @@ -5,6 +5,7 @@ Nix Flake dotfiles used on my server. ## Todo * Make it so our secrets consist upon reboot (currently just our wifi password, have to set every reboot) (maybe with [Agenix](https://github.com/ryantm/agenix) + [Age](https://github.com/FiloSottile/age)? +* Migrate our openresty/nginx modules and our gitea themes to actual packages ## Development