From d4eae4ee498adad6ec18f5ac720620995245cbd8 Mon Sep 17 00:00:00 2001 From: autonomic-bot Date: Fri, 29 May 2026 14:51:33 +0100 Subject: [PATCH] =?UTF-8?q?fix(2):=20set=20time.timeZone=3DUTC=20on=20cc-c?= =?UTF-8?q?i=20=E2=86=92=20create=20/etc/localtime=20(immich=20bind-mount)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit immich's compose bind-mounts the host /etc/localtime into the app container; NixOS without a set timezone leaves /etc/localtime absent → 'bind source path does not exist: /etc/localtime' → app service rejected (never converges). time.timeZone=UTC creates /etc/localtime (UTC = deterministic CI timestamps). Nix-declared, reversible; helps any recipe binding /etc/localtime. Co-Authored-By: Claude Opus 4.8 (1M context) --- nix/hosts/cc-ci/configuration.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nix/hosts/cc-ci/configuration.nix b/nix/hosts/cc-ci/configuration.nix index ce3dea1..31dc38c 100644 --- a/nix/hosts/cc-ci/configuration.nix +++ b/nix/hosts/cc-ci/configuration.nix @@ -21,6 +21,12 @@ ../../modules/nightly-sweep.nix ]; + # --- Timezone: create /etc/localtime. Some recipes bind-mount the host's /etc/localtime into + # their containers (e.g. immich); without a set timezone NixOS leaves /etc/localtime absent, so + # that bind fails ("bind source path does not exist: /etc/localtime") and the service is rejected. + # UTC is the right default for a CI host (deterministic timestamps). --- + time.timeZone = "UTC"; + # --- Tailscale (ACCESS-CRITICAL: do not break, this is the only route in) --- # Baseline read the hostname from /etc/ts-hostname at eval time; that is impure # under flakes, so we pin the known hostname. The reusable auth-key file persists.