diff options
2 files changed, 48 insertions, 1 deletions
| -rw-r--r-- | module-groups.nix | 6 | ||||
| -rw-r--r-- | modules/server/samba.nix | 43 |
diff --git a/module-groups.nix b/module-groups.nix index 9ad9cff..0f769f2 100644 --- a/module-groups.nix +++ b/module-groups.nix @@ -4,9 +4,13 @@ rec { }; server = rec { - minimal = all.barebones ++ [ + minimal-server = all.barebones ++ [ "dnsmasq" "httpd" ]; + + home-server = minimal-server ++ [ + "samba" + ]; }; personal = rec { diff --git a/modules/server/samba.nix b/modules/server/samba.nix new file mode 100644 index 0000000..ceea17e --- /dev/null +++ b/modules/server/samba.nix @@ -0,0 +1,43 @@ +{ pkgs, ... }: { + services.samba = { + enable = true; + openFirewall = true; + + settings = { + global = { + "workgroup" = "WORKGROUP"; + "server string" = "Home server"; + "netbios name" = "Home server"; + "security" = "user"; + + "hosts allow" = "192.168.0. 127.0.0.1 localhost"; + "hosts deny" = "0.0.0.0/0"; + "guest account" = "nobody"; + "map to guest" = "bad user"; + }; + + "NetworkDirectory" = { + "path" = "/NetworkDirectory"; + "public" = "yes"; + "guest only" = "yes"; + "writeable" = "yes"; + "force create mode" = "0644"; + "force directory mode" = "0755"; + "browseable" = "yes"; + }; + }; + }; + + services.samba-wsdd = { + enable = true; + openFirewall = true; + }; + + services.avahi = { + enable = true; + + publish.enable = true; + publish.userServices = true; + nssmdns4 = true; + }; +} |
