NixOS for Time Machine Backups

Did anyone managed to get Time Machine Backups on the latest NIX build and could help a newbie like me?

I tried to follow these blogs but failed:

How to use a NixOS Linux Server for Time Machine Backups - Graham Christensen

https://github.com/ajarara/example-nixos-config/blob/cd1f4a5a7c6de77ef76385b49f89ce29370b960e/macOS-timemachine.nix

#  services.netatalk = {
#    enable = true;
#    extraConfig = ''
#      mimic model = TimeCapsule6,106  # show the icon for the first gen TC
#      log level = default:warn
#      log file = /var/log/afpd.log
#      hosts allow = 192.168.10.0/24
#    [Time Machine]
#      path = /home/TimeMachineBackups
#      valid users = john
#      time machine = yes
#      vol size limit = 262144
#    '';
#  };
#
#  users.extraUsers.macUser = { name = "john"; group = "users"; };
#  systemd.services.macUserSetup = {
#    description = "idempotent directory setup for john's time machine";
#    requiredBy = [ "netatalk.service" ];
#    script = ''
#     mkdir -p /home/TimeMachineBackups
#      chown john:users /home/TimeMachineBackups # making these calls recursive is a switch
#      chmod 0750 /home/TimeMachineBackups           # away but probably computationally expensive
#      '';
#  };

This is the error:

error:
       Failed assertions:
       - The option definition `services.netatalk.extraConfig' in `/etc/nixos/configuration.nix' no longer has any effect; please remove it.
       This option was removed in favor of `services.netatalk.settings`.

       - Exactly one of users.users.john.isSystemUser and users.users.john.isNormalUser must be set.
(use '--show-trace' to show detailed location information)

Not sure how to convert into new option services.netatalk.settings

Thank you :pray:

John

I use the following:

   services.netatalk = {
        enable = true;
        settings = {
          Homes = {  # Homes are optional - don't need them for Time Machine
            "basedir regex" = "/home";
            path = "netatalk";
          };
          time-machine = {
             path = "/timemachine";
	         "valid users" = "whoever";
             "time machine" = true;
         };
        };
      };

And you’ll want to add the avahi config too, but that hasn’t changed:

    services.avahi = {
        enable = true;
        nssmdns = true;
        publish = {
          enable = true;
          userServices = true;
        };
      };