1
0
Fork 0
mirror of https://github.com/LnL7/nix-darwin.git synced 2025-04-08 18:20:48 +00:00

Merge pull request #531 from Enzime/fix-tailscale

Fix Tailscale module
This commit is contained in:
Domen Kožar 2022-09-20 13:44:22 +01:00 committed by GitHub
commit caea6653b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -29,20 +29,31 @@ in
};
config = mkIf cfg.enable {
warnings = [
(mkIf (cfg.magicDNS.enable && cfg.domain == "") "${showOption cfg.domain} isn't empty, Tailscale MagicDNS search path won't be configured.")
];
assertions = [ {
assertion = !cfg.magicDNS.enable || config.networking.dns != [ "100.100.100.100" ];
message = ''
When MagicDNS is enabled, fallback DNS servers need to be set with `networking.dns`.
Otherwise, Tailscale will take a long time to connect and all DNS queries
will fail until Tailscale has connected.
'';
} ];
environment.systemPackages = [ cfg.package ];
launchd.user.agents.tailscaled = {
launchd.daemons.tailscaled = {
# derived from
# https://github.com/tailscale/tailscale/blob/main/cmd/tailscaled/install_darwin.go#L30
serviceConfig = {
Label = "com.tailscale.tailscaled";
ProgramArguments = [ "${lib.getBin cfg.package}/bin/tailscaled" ];
ProgramArguments = [
"/bin/sh" "-c"
"/bin/wait4path ${cfg.package} && ${cfg.package}/bin/tailscaled"
];
RunAtLoad = true;
};
};
networking = mkIf cfg.magicDNS.enable {
dns = [ "100.100.100.100" ];
search =