From 386acab0240534658b285705145425ae4515e977 Mon Sep 17 00:00:00 2001 From: Nikolaos Karaolidis Date: Wed, 31 Jul 2024 10:13:36 +0100 Subject: [PATCH] Add ntp Signed-off-by: Nikolaos Karaolidis --- hosts/common/system/configs/ntp/default.nix | 4 ++++ hosts/common/system/configs/timezone/default.nix | 14 ++++++++++++++ hosts/common/system/configs/timezone/timezone.sh | 7 +++++++ hosts/eirene/default.nix | 4 ++-- 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 hosts/common/system/configs/ntp/default.nix create mode 100644 hosts/common/system/configs/timezone/default.nix create mode 100644 hosts/common/system/configs/timezone/timezone.sh diff --git a/hosts/common/system/configs/ntp/default.nix b/hosts/common/system/configs/ntp/default.nix new file mode 100644 index 0000000..87a9511 --- /dev/null +++ b/hosts/common/system/configs/ntp/default.nix @@ -0,0 +1,4 @@ +{ ... }: +{ + services.ntp.enable = true; +} diff --git a/hosts/common/system/configs/timezone/default.nix b/hosts/common/system/configs/timezone/default.nix new file mode 100644 index 0000000..5ab764e --- /dev/null +++ b/hosts/common/system/configs/timezone/default.nix @@ -0,0 +1,14 @@ +{ lib, pkgs, ... }: +{ + networking.networkmanager.dispatcherScripts = [ + { + source = lib.meta.getExe ( + pkgs.writeShellApplication { + name = "timezone-sync"; + runtimeInputs = with pkgs; [ curl ]; + text = builtins.readFile ./timezone.sh; + } + ); + } + ]; +} diff --git a/hosts/common/system/configs/timezone/timezone.sh b/hosts/common/system/configs/timezone/timezone.sh new file mode 100644 index 0000000..4854001 --- /dev/null +++ b/hosts/common/system/configs/timezone/timezone.sh @@ -0,0 +1,7 @@ +case "$2" in + connectivity-change) + if timezone=$(curl --fail https://ipapi.co/timezone); then + timedatectl set-timezone "$timezone" + fi + ;; +esac diff --git a/hosts/eirene/default.nix b/hosts/eirene/default.nix index 960c8b0..cff5147 100644 --- a/hosts/eirene/default.nix +++ b/hosts/eirene/default.nix @@ -16,12 +16,14 @@ ../common/system/configs/nix ../common/system/configs/nix-ld ../common/system/configs/nixpkgs + ../common/system/configs/ntp ../common/system/configs/pipewire ../common/system/configs/plymouth ../common/system/configs/ranger ../common/system/configs/sops ../common/system/configs/ssh ../common/system/configs/system + ../common/system/configs/timezone ../common/system/configs/tmux ../common/system/configs/tree ../common/system/configs/users @@ -32,7 +34,5 @@ ]; i18n.defaultLocale = "en_US.UTF-8"; - time.timeZone = "Europe/London"; - sops.defaultSopsFile = ./secrets/secrets.yaml; }