diff --git a/nixos/configurations/Cape/default.nix b/nixos/configurations/Cape/default.nix index 5e50bc5..84e4523 100644 --- a/nixos/configurations/Cape/default.nix +++ b/nixos/configurations/Cape/default.nix @@ -28,6 +28,7 @@ caddy = { enable = true; baseDomain = "youthlic.fun"; + radicle-explorer.enable = true; }; juicity.server.enable = true; }; diff --git a/nixos/modules/programs/caddy.nix b/nixos/modules/programs/caddy/default.nix similarity index 90% rename from nixos/modules/programs/caddy.nix rename to nixos/modules/programs/caddy/default.nix index ad88774..96bc518 100644 --- a/nixos/modules/programs/caddy.nix +++ b/nixos/modules/programs/caddy/default.nix @@ -5,6 +5,9 @@ }: let cfg = config.youthlic.programs.caddy; in { + imports = [ + ./radicle-explorer.nix + ]; options = { youthlic.programs.caddy = { enable = lib.mkEnableOption "caddy"; diff --git a/nixos/modules/programs/caddy/radicle-explorer.nix b/nixos/modules/programs/caddy/radicle-explorer.nix new file mode 100644 index 0000000..7220ae6 --- /dev/null +++ b/nixos/modules/programs/caddy/radicle-explorer.nix @@ -0,0 +1,27 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.youthlic.programs.caddy.radicle-explorer; + caddy-cfg = config.youthlic.programs.caddy; +in { + options = { + youthlic.programs.caddy.radicle-explorer = { + enable = lib.mkEnableOption "caddy.radicle-explorer"; + }; + }; + config = lib.mkIf (cfg.enable && caddy-cfg.enable) { + services.caddy.virtualHosts = { + "radicle.${caddy-cfg.baseDomain}" = { + extraConfig = '' + root * ${pkgs.radicle-explorer} + encode zstd gzip + try_files {path} /index.html + file_server + ''; + }; + }; + }; +} diff --git a/nixos/modules/programs/default.nix b/nixos/modules/programs/default.nix index 26dafe6..eb21583 100644 --- a/nixos/modules/programs/default.nix +++ b/nixos/modules/programs/default.nix @@ -7,7 +7,7 @@ ./transfer-sh.nix ./rustypaste ./mautrix-telegram.nix - ./caddy.nix + ./caddy ./dae ./forgejo.nix ./kanata.nix