automatic-timezoned

Crates.ioautomatic-timezoned
lib.rsautomatic-timezoned
version
sourcesrc
created_at2022-07-23 20:45:29.791492
updated_at2024-12-12 21:42:13.413782
descriptionAutomatically update system timezone based on location
homepage
repositoryhttps://github.com/maxbrunet/automatic-timezoned
max_upload_size
id631706
Cargo.toml error:TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Maxime Brunet (maxbrunet)

documentation

README

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

Commit count: 632

cargo fmt