From fd060bb33e0dea3524d2270378857e93a1e96e2e Mon Sep 17 00:00:00 2001 From: lew Date: Tue, 7 Apr 2026 16:55:47 +0100 Subject: [PATCH] feat: added enable options, documents rebuild listener, and moves penfield to its proper domain --- hosts/lab/sites.nix | 7 ++++++- modules/site.nix | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/hosts/lab/sites.nix b/hosts/lab/sites.nix index 4db697b..f1781be 100644 --- a/hosts/lab/sites.nix +++ b/hosts/lab/sites.nix @@ -1,5 +1,6 @@ # services.site. options: # +# enable — whether this site is active (default: false) # domain — primary domain (required) # repo — git repository URL (required) # static — serve build output as static files, no Node server (default: false) @@ -14,6 +15,9 @@ # dataDir — base directory for repo and data (default: /srv/) # readWritePaths — paths the server can write to at runtime (default: []) # afterServices — systemd units to wait for before building (default: ["forgejo.service"]) +# +# a listener is active on http://localhost:4323/hooks/${name}-rebuild for CD +# Forgejo repo -> settings -> Webhooks -> Add webhook { ... }: let @@ -36,7 +40,8 @@ in }; services.site.penfield = { - domain = "penfield2.ily.rs"; + domain = "penfield.ily.rs"; + redirectDomains = [ "penfield.wynne.rs" ]; repo = "https://git.ily.rs/lew/penfield"; static = true; }; diff --git a/modules/site.nix b/modules/site.nix index 73ba234..1e73bcd 100644 --- a/modules/site.nix +++ b/modules/site.nix @@ -5,6 +5,8 @@ let siteModule = types.submodule ({ name, ... }: { options = { + enable = lib.mkEnableOption "this site"; + domain = mkOption { type = types.str; description = "Primary domain name."; @@ -86,7 +88,7 @@ let }; }); - cfg = config.services.site; + cfg = lib.filterAttrs (_: site: site.enable) config.services.site; webhookPort = 4323;