From d69b4cf8abb3be18960c5034df261dc1b1720a57 Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Mon, 21 Jul 2025 22:35:49 -0500 Subject: [PATCH 1/2] bert: Add bible.chandlerswift.com --- .../http/bible.chandlerswift.com.html | 24 ++++++++++ .../services/http/bible.chandlerswift.com.nix | 48 +++++++++++++++++++ bert/services/http/index.nix | 1 + 3 files changed, 73 insertions(+) create mode 100644 bert/services/http/bible.chandlerswift.com.html create mode 100644 bert/services/http/bible.chandlerswift.com.nix diff --git a/bert/services/http/bible.chandlerswift.com.html b/bert/services/http/bible.chandlerswift.com.html new file mode 100644 index 0000000..34aae28 --- /dev/null +++ b/bert/services/http/bible.chandlerswift.com.html @@ -0,0 +1,24 @@ + + + + + Chandler's Bible API Mirror + + + +

Chandler's Bible API Mirror

+

This site mirrors the public domain Bible API from bible.helloao.org.

+

License

+

The Holy Bible, Berean Standard Bible, BSB is produced in cooperation with Bible Hub, Discovery Bible, OpenBible.com, and the Berean Bible Translation Committee. This text of God's Word has been dedicated to the public domain.

+

https://berean.bible/terms.htm

+

You can fetch JSON files under the /api/ path. For example:

+ + + diff --git a/bert/services/http/bible.chandlerswift.com.nix b/bert/services/http/bible.chandlerswift.com.nix new file mode 100644 index 0000000..44fb23c --- /dev/null +++ b/bert/services/http/bible.chandlerswift.com.nix @@ -0,0 +1,48 @@ +{ pkgs, ... }: + +let + bibleApiPackage = pkgs.stdenv.mkDerivation { + pname = "bible-api"; + version = "2025-07-18"; + + src = pkgs.fetchzip { + url = "https://bible.helloao.org/api.zip"; + hash = "sha256-bYl8svY++D0+YHXZ8/3h+yn0xiqIDCXcN+Hh9FjP98k="; + stripRoot = false; + }; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/api + mv * $out/api/ + ''; + }; +in { + services.caddy.enable = true; + + services.caddy.virtualHosts."bible.chandlerswift.com" = { + extraConfig = '' + encode zstd gzip + file_server + root * ${bibleApiPackage} + + handle / { + header Content-Type text/html + # This is a bit of a hack, but I was unable to find a better way to just + # serve the contents of the file. If I knew the directory of the file + # and its filename, I think I could use file_server with try_files, but + # if I do a `file_server` with `.\${./bible.chandlerswift.com.html}`, then + # bible.chandlerswift.com.html just gets copied as a file into nix-store + # and I don't know its name. ...or something? Anyway this seems to work! + respond < Date: Tue, 22 Jul 2025 20:40:52 -0500 Subject: [PATCH 2/2] bert: Upgrade Navidrome to 0.57.0 --- bert/services/navidrome.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bert/services/navidrome.nix b/bert/services/navidrome.nix index 25292e8..6473689 100644 --- a/bert/services/navidrome.nix +++ b/bert/services/navidrome.nix @@ -1,6 +1,8 @@ { services.navidrome = { enable = true; + # 0.57.0 + package = (import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/96576911776181ae921f7d9dffb0a20cca4dd1b1.tar.gz") {}).navidrome; settings = { MusicFolder = "/mnt/bigbird_public/media/music"; ScanSchedule = "@every 12h";