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

43 lines
1.1 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
[
(h001ARecord "jellyfin")
(h001ARecord "media")
(h001ARecord "notes")
(h001ARecord "chat")
(h001ARecord "sso-proxy")
(h001ARecord "n8n")
(h001ARecord "sso")
(h001ARecord "gist")
(h001ARecord "git")
];
};
};
};
};
}