#timezone #systemd #dbus #zoneinfo #geoclue

app automatic-timezoned

Automatically update system timezone based on location

171 stable releases

new 2.0.17 Jun 16, 2024
2.0.14 May 20, 2024
2.0.10 Mar 25, 2024
1.0.152 Feb 18, 2024
1.0.4 Jul 30, 2022

#45 in Unix APIs

Download history 216/week @ 2024-02-27 301/week @ 2024-03-05 404/week @ 2024-03-12 93/week @ 2024-03-19 134/week @ 2024-03-26 61/week @ 2024-04-02 149/week @ 2024-04-09 5/week @ 2024-04-16 151/week @ 2024-04-30 135/week @ 2024-05-07 92/week @ 2024-05-14 89/week @ 2024-05-21 279/week @ 2024-06-04 199/week @ 2024-06-11

654 downloads per month

GPL-3.0 license

111 lines

Automatic Timezone Daemon

Crates.io Build Status dependency status

A Linux daemon to automatically update the system timezone based on location.

How It Works

  1. The current location is retrieved from GeoClue
  2. The timezone of the current location is determined using tzf-rs
  3. The timezone is updated via systemd-timedated
  4. Then, the daemon waits for the location updated signal from GeoClue, and repeats from step 1 when it happens

Note: The timezone choice may not be accurate if very close to a timezone border due to tzf-rs using simplified shape data.


Please see the examples/ directory for sample configurations.


$ automatic-timezoned --help
Automatically update system timezone based on location

Usage: automatic-timezoned [OPTIONS]

  -l, --log-level <LOG_LEVEL>  Log level filter. See <https://docs.rs/env_logger> for syntax [env: AUTOTZD_LOG_LEVEL=] [default: info]
  -h, --help                   Print help
  -V, --version                Print version


Packaging status



cargo build --release


cargo test


This service depends on the tzf-rs package which bundles timezones and their geographical borders, here are some alternatives which have made different trade-offs for performance and accuracy:


GNU General Public License v3.0


~318K SLoC