mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 17:17:22 +01:00
55 lines
1.6 KiB
Nix
55 lines
1.6 KiB
Nix
{ pkgs, lib, config, ... }:
|
|
{
|
|
services = {
|
|
# Network shares
|
|
# add a user with sudo smbpasswd -a <user>
|
|
samba = {
|
|
package = pkgs.samba4Full;
|
|
extraConfig = ''
|
|
workgroup = WORKGROUP
|
|
server role = standalone server
|
|
dns proxy = no
|
|
|
|
pam password change = yes
|
|
map to guest = bad user
|
|
create mask = 0664
|
|
force create mode = 0664
|
|
directory mask = 0775
|
|
force directory mode = 0775
|
|
follow symlinks = yes
|
|
'';
|
|
|
|
# ^^ `samba4Full` is compiled with avahi, ldap, AD etc support compared to the default package, `samba`
|
|
# Required for samba to register mDNS records for auto discovery
|
|
# See https://github.com/NixOS/nixpkgs/blob/592047fc9e4f7b74a4dc85d1b9f5243dfe4899e3/pkgs/top-level/all-packages.nix#L27268
|
|
enable = true;
|
|
openFirewall = true;
|
|
shares.Eternor = {
|
|
browseable = "yes";
|
|
"read only" = "no";
|
|
"guest ok" = "no";
|
|
path = "/Vault/Eternor";
|
|
writable = "true";
|
|
comment = "Eternor";
|
|
"valid users" = "@Swarsel";
|
|
};
|
|
};
|
|
|
|
|
|
avahi = {
|
|
publish.enable = true;
|
|
publish.userServices = true;
|
|
# ^^ Needed to allow samba to automatically register mDNS records without the need for an `extraServiceFile`
|
|
nssmdns4 = true;
|
|
# ^^ Not one hundred percent sure if this is needed- if it aint broke, don't fix it
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
|
|
samba-wsdd = {
|
|
# This enables autodiscovery on windows since SMB1 (and thus netbios) support was discontinued
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
};
|
|
}
|