From 5c2e2813d0ccd7103128d312341ce7afb1ab55dd Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Mon, 26 Aug 2024 00:40:52 +0000 Subject: [PATCH] nixosMod/asserts: add mdns avahi & resolved clash check --- nix/nixos-modules/assertions/default.nix | 1 + nix/nixos-modules/assertions/mdns.nix | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 nix/nixos-modules/assertions/mdns.nix diff --git a/nix/nixos-modules/assertions/default.nix b/nix/nixos-modules/assertions/default.nix index b8d7294..1d4b0d9 100644 --- a/nix/nixos-modules/assertions/default.nix +++ b/nix/nixos-modules/assertions/default.nix @@ -2,6 +2,7 @@ imports = [ # files ./fileSystems.nix + ./mdns.nix ./nixos.nix ]; } diff --git a/nix/nixos-modules/assertions/mdns.nix b/nix/nixos-modules/assertions/mdns.nix new file mode 100644 index 0000000..1ad09e8 --- /dev/null +++ b/nix/nixos-modules/assertions/mdns.nix @@ -0,0 +1,22 @@ +{ config, lib, ... }: +let + cfgAvahi = config.services.avahi; + avahiMDNS = cfgAvahi.enable && (cfgAvahi.nssmdns4 || cfgAvahi.nssmdns6); + cfgResolved = config.services.resolved; + # TODO check settings when cfgResolved.settings exist + resolvedMDNS = cfgResolved.enable; +in +{ + config = { + + assertions = [ + { + assertion = !(avahiMDNS && cfgResolved.enable); + message = '' + systemd-resolved is enabled while Avahi mDNS is enabled, disable one of both! + ''; + } + ]; + + }; +}