Skip to content

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

License

Notifications You must be signed in to change notification settings

maxbrunet/automatic-timezoned

Repository files navigation

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.

Requirements

Please see the examples/ directory for sample configurations.

Configuration

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

Usage: automatic-timezoned [OPTIONS]

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

Packages

Packaging status

Development

Build

cargo build --release

Test

cargo test

Alternatives

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:

License

GNU General Public License v3.0