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 diff --git a/overlays/modifications/default.nix b/overlays/modifications/default.nix index e6e39b8..89c02eb 100644 --- a/overlays/modifications/default.nix +++ b/overlays/modifications/default.nix @@ -8,6 +8,7 @@ in ./dae.nix ./jujutsu.nix ./spotifyx.nix + ./radicle-explorer.nix ] |> map (file: import file args) |> (overlays: (lib.composeManyExtensions overlays) final prev) diff --git a/overlays/modifications/radicle-explorer.nix b/overlays/modifications/radicle-explorer.nix new file mode 100644 index 0000000..3e2b33e --- /dev/null +++ b/overlays/modifications/radicle-explorer.nix @@ -0,0 +1,5 @@ +{outputs, ...}: final: prev: let + inherit (prev.stdenv.hostPlatform) system; +in { + radicle-explorer = outputs.packages."${system}".radicle-explorer; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 62853ee..32e3c0a 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -13,6 +13,7 @@ in rime-ice = callPackage ./rime-ice.nix {}; dioxionary = callPackage ./dioxionary.nix {}; spotifyx = callPackage ./spotifyx.nix {}; + radicle-explorer = callPackage ./radicle-explorer.nix {}; noto-serif-cjk = callPackage ./noto-serif-cjk.nix {}; noto-sans-cjk = callPackage ./noto-sans-cjk.nix {}; diff --git a/pkgs/radicle-explorer.nix b/pkgs/radicle-explorer.nix new file mode 100644 index 0000000..fef11ab --- /dev/null +++ b/pkgs/radicle-explorer.nix @@ -0,0 +1,3 @@ +{pkgs, ...}: +pkgs.radicle-explorer.withConfig { +}