Apps such as Icecat or ungoogled-chromium are not able to get the correct timezone from /etc/localtime when `/etc/localtime` is a realpath maybe because it expect /etc/share/zoneinfo, with readlink partially works fine some apps, maybe related with an icu bug.[1]
I just removed manually `/etc/localtime` and crate an symlink `sudo ln -s $TZDIR/$(cat /etc/timezone) /etc/localtime` and ungoogled-chromium works fine. Icecat in other hand has an additional bug related with icu[2][3] and folder policy where `/gnu` is not allowed so in order to make it work is necessary disable sandbox `MOZ_DISABLE_CONTENT_SANDBOX=1 icecat` or set manually TZ env `TZ=$(cat /etc/timezone) icecat`, btw I have `privacy.resistFingerprinting` false. The weird thing is that in almost all of those reported the error is the opposite where having a realpath solves it but in guix it is the problem, perhaps it could be because these apps have updated their code to make it work with `icu` v72 and guix has v71. Steps to reproduce it: - guix pull && guix package -u - Install last icecat or ungoogled-chromium version - Verify that you don't have $TZ set, unset it. - If it's Icecat open `about:config` and set `privacy.resistFingerprinting` to false - Open https://webbrowsertools.com/timezone/ in the browser - Check the timezone - sudo rm -r /etc/localtime && sudo ln -s $TZDIR/$(cat /etc/timezone) /etc/localtime - Open chromium or `MOZ_DISABLE_CONTENT_SANDBOX=1 icecat` - Visit https://webbrowsertools.com/timezone/ again, check the timezone. See also: - https://github.com/NixOS/nixpkgs/issues/238025 - https://github.com/NixOS/nixpkgs/pull/238700 Footnotes: [1] https://github.com/unicode-org/icu/pull/2323 [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1848615 [3] https://hg.mozilla.org/releases/mozilla-esr115/rev/d7948b142f43