42 lines
917 B
Nix
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>
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
}
|