diff --git a/configuration.nix b/configuration.nix index f2ed93e..79add40 100644 --- a/configuration.nix +++ b/configuration.nix @@ -147,6 +147,8 @@ }; }; + services.udisks2.enable = true; + services.xserver.enable = true; #services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; @@ -171,4 +173,77 @@ libretro-snes9x bluetooth-manager ])); + + services.samba = { + enable = true; + securityType = "user"; + openFirewall = true; + settings = { + global = { + "workgroup" = "WORKGROUP"; + "server string" = "smbnix"; + "netbios name" = "smbnix"; + "security" = "user"; + "hosts allow" = "0.0.0.0/0"; + "guest account" = "joeb"; + "map to guest" = "bad user"; + }; + "movies" = { + "path" = "/run/media/joeb/library/movies"; + "browseable" = "yes"; + "read only" = "no"; + "guest ok" = "yes"; + "create mask" = "0644"; + "directory mask" = "0755"; + # "force user" = "joeb"; + # "force group" = "1000"; + }; + "tv" = { + "path" = "/run/media/joeb/library/tv"; + "browseable" = "yes"; + "read only" = "no"; + "guest ok" = "yes"; + "create mask" = "0644"; + "directory mask" = "0755"; + # "force user" = "joeb"; + # "force group" = "1000"; + }; + }; + }; + + services.samba-wsdd = { + enable = true; + openFirewall = true; + }; + + networking.firewall.enable = true; + networking.firewall.allowPing = true; + + services.avahi = { + enable = true; + nssmdns = true; + publish = { + enable = true; + addresses = true; + domain = true; + hinfo = true; + userServices = true; + workstation = true; + }; + extraServiceFiles = { + smb = '' + + + + %h + + _smb._tcp + 445 + + + ''; + }; + }; + } +