anchor.diff:  
       system.activationScripts.users = fullDepEntry
         ''
  +        echo "updating users..."
  +
           cat ${usersFile} | while true; do
               read name || break
               read description
  
positive.code:             read password
  
              if ! curEnt=$(getent passwd "$name"); then
                  echo "creating user $name..."
                  useradd --system \
                      "$name" \
                      --comment "$description" \
  
negative.code:                     --shell "$shell"
              fi
  
              if test "$group" = nixbld; then
                  # As a special hack, add users that have nixbld as the
                  # primary group to the /etc/group entry for the nixbld
                  # group.  `nix-store' currently expects this in order
                  # to get the UIDs of all the build users by doing a
                  # getprnam("nixbld") call.
                  groupmod "$group" -A "$name"
              fi
  
          done
        '' [ "groups" ];
  
      system.activationScripts.groups = fullDepEntry
        ''
          echo "updating groups..."
          
          while true; do
              read name || break
              read gid
  
              if ! curEnt=$(getent group "$name"); then
                  groupadd --system \
                      "$name" \
                      ''${gid:+--gid $gid}
  