nixcfg/modules/nixos/services/avahi/default.nix
2024-01-11 10:31:04 +00:00

42 lines
917 B
Nix

{ lib, config, options, ... }:
let
cfg = config.plusultra.services.avahi;
inherit (lib) types mkEnableOption mkIf;
in
{
options.plusultra.services.avahi = with types; {
enable = mkEnableOption "Avahi";
};
config = mkIf cfg.enable {
services.avahi = {
enable = true;
nssmdns = true;
publish = {
enable = true;
addresses = true;
domain = true;
hinfo = true;
userServices = true;
workstation = true;
};
extraServiceFiles = {
smb = ''
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_smb._tcp</type>
<port>445</port>
</service>
</service-group>
'';
};
};
};
}