flake/modules/nixos/services/cloudflare-dyndns.nix
2025-10-22 13:12:15 +03:00

45 lines
1.1 KiB
Nix

{
lib,
config,
pkgs,
...
}:
let
# https://github.com/NixOS/nixpkgs/pull/394352
cloudflare-dyndns-5-3 = pkgs.cloudflare-dyndns.overridePythonAttrs rec {
version = lib.warnIfNot (
pkgs.cloudflare-dyndns.version == "5.0"
) "The cloudflare-dyndns package is updated, you should remove this override" "5.3";
src = pkgs.fetchFromGitHub {
owner = "kissgyorgy";
repo = "cloudflare-dyndns";
rev = "v${version}";
hash = "sha256-t0MqH9lDfl+cAnPYSG7P32OGO8Qpo1ep0Hj3Xl76lhU=";
};
build-system = with pkgs.python3Packages; [
hatchling
];
dependencies = with pkgs.python3Packages; [
click
httpx
pydantic
truststore
];
};
in
{
config = lib.mkMerge [
(lib.mkIf config.osbmModules.services.cloudflare-dyndns.enable {
services.cloudflare-dyndns = {
package = cloudflare-dyndns-5-3;
enable = true;
apiTokenFile = "/persist/cloudflare-dyndns";
proxied = false; # TODO please revert
domains = [
"git.osbm.dev"
"aifred.osbm.dev"
];
};
})
];
}