dotfiles/hosts/linode/l001/headscale.nix
2025-10-09 23:02:10 -05:00

48 lines
1.3 KiB
Nix

{ pkgs, ... }:
{
config = {
# TODO backup /var/lib/headscale data
# TODO https://github.com/gurucomputing/headscale-ui ?
environment.systemPackages = with pkgs; [ headscale ];
services.headscale = {
enable = true;
settings = {
server_url = "https://nexus.joshuabell.xyz";
database.type = "sqlite3";
derp = {
auto_update_enable = true;
update_frequency = "5m";
};
dns = {
magic_dns = true;
base_domain = "net.joshuabell.xyz";
extra_records =
let
h001ARecord = name: {
type = "A";
name = "${name}.joshuabell.xyz";
value = "100.64.0.13";
};
in
[
# {
# type = "A";
# name = "jellyfin.joshuabell.xyz";
# value = "100.64.0.13";
# }
h001ARecord "jellyfin"
h001ARecord "media"
h001ARecord "notes"
h001ARecord "chat"
h001ARecord "sso-proxy"
h001ARecord "n8n"
h001ARecord "sso"
h001ARecord "gist"
h001ARecord "git"
];
};
};
};
};
}