anchor.diff:            }
           ];
   
  +      # !!! Use NixOS module system to add default attributes.
         addAttrs =
           { name
           , description
  
positive.code:         , createHome ? false
          , useDefaultShell ? false
          , password ? null
          }:
          { inherit name description uid group extraGroups home shell createHome password; };
  
      in map addAttrs (defaultUsers ++ config.users.extraUsers);
  
  
negative.code: 
    # Note: the 'X' in front of the password is to distinguish between
    # having an empty password, and not having a password.
    serializedUser = u: "${u.name}\n${u.description}\n${toString u.uid}\n${u.group}\n${toString (concatStringsSep "," u.extraGroups)}\n${u.home}\n${u.shell}\n${toString u.createHome}\n${if u.password != null then "X" + u.password else ""}\n${toString u.isSystemUser}\n";
    serializedGroup = g: "${g.name}\n${toString g.gid}";
    
    # keep this extra file so that cat can be used to pass special chars such as "`" which is used in the avahi daemon
  