diff --git a/modules/config/nsswitch.nix b/modules/config/nsswitch.nix index 7e989c163e..7e29e427cd 100644 --- a/modules/config/nsswitch.nix +++ b/modules/config/nsswitch.nix @@ -28,6 +28,7 @@ let }; inherit (config.services.avahi) nssmdns; + inherit (config.services.samba) nsswins; in @@ -43,7 +44,7 @@ in passwd: files ldap group: files ldap shadow: files ldap - hosts: files ${optionalString nssmdns "mdns_minimal [NOTFOUND=return]"} dns ${optionalString nssmdns "mdns"} myhostname + hosts: files ${optionalString nssmdns "mdns_minimal [NOTFOUND=return]"} dns ${optionalString nssmdns "mdns"} ${optionalString nsswins "wins"} myhostname networks: files dns ethers: files services: files diff --git a/modules/services/network-filesystems/samba.nix b/modules/services/network-filesystems/samba.nix index 518142ba97..779f919651 100644 --- a/modules/services/network-filesystems/samba.nix +++ b/modules/services/network-filesystems/samba.nix @@ -170,6 +170,15 @@ in example = "share"; }; + nsswins = mkOption { + default = true; # FIXME: just for debug + description = '' + Whether to enable the WINS NSS (Name Service Switch) plug-in. + Enabling it allows applications to resolve NetBIOS names (a.k.a. + Windows machine names) by transparently querying the winbindd daemon. + ''; + }; + }; }; @@ -196,6 +205,8 @@ in users.extraGroups.smbguest.gid = config.ids.uids.smbguest; + system.nssModules = optional cfg.nsswins samba; + systemd = { targets.samba = { description = "Samba server";