anchor.diff:    };
   
     config = {
  +
  +    users.gids = mkMerge gids;
  +    users.uids = mkMerge uids;
   
       system.activationScripts.groups.text = mkIf (cfg.knownGroups != []) ''
         echo "setting up groups..." >&2
  
positive.code:       description = "Configuration for users.";
      };
  
      users.forceRecreate = mkOption {
        internal = true;
        type = types.bool;
  
negative.code:   user = import ./user.nix;
  
    toArguments = concatMapStringsSep " " (v: "'${v}'");
    toGID = v: { "${toString v.gid}" = v.name; };
    toUID = v: { "${toString v.uid}" = v.name; };
  
    isCreated = list: name: elem name list;
    isDeleted = attrs: name: ! elem name (mapAttrsToList (n: v: v.name) attrs);
  
    gids = mapAttrsToList (n: toGID) (filterAttrs (n: v: isCreated cfg.knownGroups v.name) cfg.groups);
    uids = mapAttrsToList (n: toUID) (filterAttrs (n: v: isCreated cfg.knownUsers v.name) cfg.users);
  
    createdGroups = mapAttrsToList (n: v: cfg.groups."${v}") cfg.gids;
    createdUsers = mapAttrsToList (n: v: cfg.users."${v}") cfg.uids;
    deletedGroups = filter (n: isDeleted cfg.groups n) cfg.knownGroups;
    deletedUsers = filter (n: isDeleted cfg.users n) cfg.knownUsers;
  
  