anchor.diff:              samba-smbd = daemonService "smbd" "";
               samba-nmbd = mkIf cfg.enableNmbd (daemonService "nmbd" "");
               samba-winbindd = mkIf cfg.enableWinbindd (daemonService "winbindd" "");
  -            samba-setup = {
  -              description = "Samba Setup Task";
  -              script = setupScript;
  -              unitConfig.RequiresMountsFor = "/var/lib/samba";
  -            };
             };
  +          tmpfiles.rules = [
  +            "d /var/lock/samba - - - - -"
  +            "d /var/log/samba - - - - -"
  +            "d /var/cache/samba - - - - -"
  +            "d /var/lib/samba/private - - - - -"
  +          ];
           };
   
           security.pam.services.samba = {};
  
positive.code:   cfg = config.services.samba;
  
    samba = cfg.package;
  
    setupScript =
      ''
        mkdir -p /var/lock/samba /var/log/samba /var/cache/samba /var/lib/samba/private
      '';
  
    shareConfig = name:
      let share = getAttr name cfg.shares; in
  
negative.code:         systemd = {
            targets.samba = {
              description = "Samba Server";
              after = [ "network.target" ];
              wantedBy = [ "multi-user.target" ];
            };
            # Refer to https://github.com/samba-team/samba/tree/master/packaging/systemd
  