1
0
Fork 0
mirror of https://github.com/LnL7/nix-darwin.git synced 2025-03-05 08:17:01 +00:00
nix-darwin/modules/time/default.nix

46 lines
1 KiB
Nix
Raw Normal View History

2016-12-16 12:20:28 +01:00
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.time;
timeZone = optionalString (cfg.timeZone != null) ''
if ! systemsetup -listtimezones | grep -q "^ ${cfg.timeZone}$"; then
2016-12-16 12:20:28 +01:00
echo "${cfg.timeZone} is not a valid timezone. The command 'listtimezones' will show a list of valid time zones." >&2
false
fi
systemsetup -settimezone "${cfg.timeZone}" 2>/dev/null 1>&2
2016-12-16 12:20:28 +01:00
'';
in
{
options = {
time.timeZone = mkOption {
type = types.nullOr types.str;
default = null;
example = "America/New_York";
2024-04-14 23:02:32 +02:00
description = ''
The time zone used when displaying times and dates. See <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
or run {command}`sudo systemsetup -listtimezones`
2016-12-16 12:20:28 +01:00
for a comprehensive list of possible values for this setting.
'';
};
};
config = {
system.activationScripts.time.text = mkIf (cfg.timeZone != null) ''
2016-12-16 12:20:28 +01:00
# Set defaults
echo "configuring time..." >&2
${timeZone}
'';
};
}