fix(headscale): override db_type option to use latest headscale
All checks were successful
Discord / discord commits (push) Has been skipped
All checks were successful
Discord / discord commits (push) Has been skipped
This commit is contained in:
parent
be7d468efc
commit
c5898a9a64
3 changed files with 49 additions and 40 deletions
|
@ -6,60 +6,69 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) readFile;
|
||||
inherit (lib) mkAfter mkOption;
|
||||
|
||||
inherit (config.vars) mainUser hostName;
|
||||
headscale-flake = headscale.packages.${pkgs.system}.headscale;
|
||||
|
||||
clusterIP = config.services.pcsd.virtualIps.caddy-vip.ip;
|
||||
in {
|
||||
environment.systemPackages = [headscale-flake];
|
||||
users.users.${mainUser}.extraGroups = ["headscale"];
|
||||
# FIXME: wait for nixpkgs to reach this : https://github.com/juanfont/headscale/commit/94b30abf56ae09d82a1541bbc3d19557914f9b27
|
||||
options.services.headscale.settings.db_type = mkOption {
|
||||
type = lib.types.enum ["sqlite" "postgres"];
|
||||
};
|
||||
|
||||
home-manager.users.${mainUser}
|
||||
.programs.bash.bashrcExtra = lib.mkAfter (readFile ./completion.bash);
|
||||
config = {
|
||||
environment.systemPackages = [headscale-flake];
|
||||
users.users.${mainUser}.extraGroups = ["headscale"];
|
||||
|
||||
services.headscale = {
|
||||
enable = true;
|
||||
package = headscale-flake;
|
||||
home-manager.users.${mainUser}
|
||||
.programs.bash.bashrcExtra = mkAfter (readFile ./completion.bash);
|
||||
|
||||
address = clusterIP;
|
||||
port = 8085;
|
||||
services.headscale = {
|
||||
enable = true;
|
||||
package = headscale-flake;
|
||||
|
||||
settings = {
|
||||
server_url = "https://headscale.nelim.org";
|
||||
ip_prefixes = ["100.64.0.0/10"];
|
||||
metrics_listen_addr = "127.0.0.1:9090";
|
||||
grpc_listen_addr = "0.0.0.0:50443";
|
||||
grpc_allow_insecure = false;
|
||||
disable_check_updates = true;
|
||||
unix_socket_permission = "0770";
|
||||
address = clusterIP;
|
||||
port = 8085;
|
||||
|
||||
db_type = "sqlite3";
|
||||
db_path = "/var/lib/headscale/db.sqlite";
|
||||
private_key_path = "/var/lib/headscale/private.key";
|
||||
noise.private_key_path = "/var/lib/headscale/noise_private.key";
|
||||
settings = {
|
||||
server_url = "https://headscale.nelim.org";
|
||||
ip_prefixes = ["100.64.0.0/10"];
|
||||
metrics_listen_addr = "127.0.0.1:9090";
|
||||
grpc_listen_addr = "0.0.0.0:50443";
|
||||
grpc_allow_insecure = false;
|
||||
disable_check_updates = true;
|
||||
unix_socket_permission = "0770";
|
||||
|
||||
dns_config = let
|
||||
caddyIp =
|
||||
if hostName == "thingone"
|
||||
then "100.64.0.8"
|
||||
else "100.64.0.9";
|
||||
in {
|
||||
magic_dns = false;
|
||||
override_local_dns = true;
|
||||
nameservers = [caddyIp];
|
||||
};
|
||||
db_type = "sqlite";
|
||||
db_path = "/var/lib/headscale/db.sqlite";
|
||||
private_key_path = "/var/lib/headscale/private.key";
|
||||
noise.private_key_path = "/var/lib/headscale/noise_private.key";
|
||||
|
||||
derp = {
|
||||
urls = [];
|
||||
dns_config = let
|
||||
caddyIp =
|
||||
if hostName == "thingone"
|
||||
then "100.64.0.8"
|
||||
else "100.64.0.9";
|
||||
in {
|
||||
magic_dns = false;
|
||||
override_local_dns = true;
|
||||
nameservers = [caddyIp];
|
||||
};
|
||||
|
||||
server = {
|
||||
enabled = true;
|
||||
stun_listen_addr = "${clusterIP}:3479";
|
||||
private_key_path = "/var/lib/headscale/derp_server_private.key";
|
||||
derp = {
|
||||
urls = [];
|
||||
|
||||
region_id = 995;
|
||||
region_code = "mon";
|
||||
region_name = "montreal";
|
||||
server = {
|
||||
enabled = true;
|
||||
stun_listen_addr = "${clusterIP}:3479";
|
||||
private_key_path = "/var/lib/headscale/derp_server_private.key";
|
||||
|
||||
region_id = 995;
|
||||
region_code = "mon";
|
||||
region_name = "montreal";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
BIN
flake.lock
BIN
flake.lock
Binary file not shown.
BIN
flake.nix
BIN
flake.nix
Binary file not shown.
Loading…
Reference in a new issue