Skip to content

Crystal should respect the TZDIR environment variable #16459

@MaddyGuthridge

Description

@MaddyGuthridge

Bug Report

When I install Crystal using mise, I am unable to run crystal init app aoc2025.

Image

This happens because NixOS places timezone info into an unusual location: /etc/zoneinfo, rather than the more-common /usr/share/zoneinfo. This change is reflected by the use of the TZDIR environment variable, which contains the path of the actual timezone info directory.

I believe this is somewhat mentioned in #12775.

While NixOS patches this on their build, it means I am unable to use Crystal when it is managed by Mise instead of Nix (I prefer this as it is better for development).

As such, it would be nice if Crystal supported this environment variable when determining where timezone info should be loaded from. In particular:

I am not 100% sure if this is an official standard, but it would be worth considering to make life easier for people whose systems have "let's be different syndrome".

  • NixOS 25.05
  • Crystal 1.18.2 [635ca37] (2025-10-21)

Apologies if this is not a good idea: I haven't learnt Crystal yet (although I am excited to get started), so am not super familiar with the goals of the project.


Add a 👍 reaction to issues you find important.

Metadata

Metadata

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions