Set the timezone per machine, sintra to Europe/Paris #109

Closed
padreug wants to merge 1 commit from fix/sintra-timezone into dev
2 changed files with 19 additions and 2 deletions

View file

@ -46,8 +46,9 @@
}; };
}; };
# Timezone - set to your location # Fleet default. Override per machine with timeZoneForModel in flake.nix —
time.timeZone = "America/Guatemala"; # mkDefault is what lets that override win without mkForce.
time.timeZone = lib.mkDefault "America/Guatemala";
# Locale # Locale
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";

View file

@ -67,6 +67,18 @@
batm3 = "USD"; batm3 = "USD";
}; };
# Timezone per machine model. Wall-clock time on an ATM is not cosmetic:
# it is what the journal is read in when someone is standing at the
# machine, and system.autoUpgrade's `dates = "04:00"` is local, so this
# decides when the nightly rebuild restarts the app and the dispenser
# runs its audible init routine. A machine on the wrong zone does that
# in the middle of its own business hours.
#
# Unlisted models fall back to the fleet default in configuration.nix.
timeZoneForModel = {
sintra = "Europe/Paris";
};
lib = nixpkgs.lib; lib = nixpkgs.lib;
# Helper to create a live USB NixOS config for a specific machine model # Helper to create a live USB NixOS config for a specific machine model
@ -124,6 +136,10 @@
appDir = "${atm-app}"; appDir = "${atm-app}";
}; };
# Per-machine wall clock; see timeZoneForModel above.
time.timeZone = lib.mkIf (timeZoneForModel ? ${machineModel})
timeZoneForModel.${machineModel};
# Operator TUI and CLI tools # Operator TUI and CLI tools
environment.systemPackages = [ environment.systemPackages = [
atm-tui.packages.${system}.default atm-tui.packages.${system}.default