Don't set $TZ

We don't need to set $TZ, because we have /etc/localtime.  In fact,
setting $TZ without $TZDIR doesn't work anymore since Glibc no longer
contains zone info.
Create a /etc/zoneinfo symlink and use it in $TZDIR

Setting $TZDIR to ${pkgs.tzdata}/share/zoneinfo can cause logged-in
sessions to refer to a garbage-collected zoneinfo directory.  So use
/etc/zoneinfo instead.