From 9d92c0bbd8d7930629eb3d7a7f28e221a5ef50ce Mon Sep 17 00:00:00 2001 From: Leonhard Kost Date: Wed, 11 Feb 2026 20:36:43 +0100 Subject: [PATCH] use EnvironmentFile in dyndns systemd service to drastically uncomplicate things --- nixos/server/dyndns/default.nix | 10 +++------- nixos/server/dyndns/dyndns.py | 17 +++++------------ 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/nixos/server/dyndns/default.nix b/nixos/server/dyndns/default.nix index 1f01e61..0a82558 100644 --- a/nixos/server/dyndns/default.nix +++ b/nixos/server/dyndns/default.nix @@ -3,12 +3,7 @@ ... }: let - pyenv = pkgs.python3.withPackages ( - ps: with ps; [ - nc-dnsapi - python-dotenv - ] - ); + pyenv = pkgs.python3.withPackages (ps: with ps; [ nc-dnsapi ]); in { users.groups.dyndns = { }; @@ -32,7 +27,8 @@ in serviceConfig = { Type = "oneshot"; User = "dyndns"; - ExecStart = "${pyenv.interpreter} ${./dyndns.py} ${./nc.env.secret}"; + ExecStart = "${pyenv.interpreter} ${./dyndns.py}"; + EnvironmentFile = ./. + "/nc.env.secret"; }; }; } diff --git a/nixos/server/dyndns/dyndns.py b/nixos/server/dyndns/dyndns.py index f8f0d37..cc42680 100644 --- a/nixos/server/dyndns/dyndns.py +++ b/nixos/server/dyndns/dyndns.py @@ -1,17 +1,10 @@ from nc_dnsapi import Client -from dotenv import dotenv_values -import sys, urllib3 +import os, urllib3 -if len(sys.argv) != 2: - raise Exception("Something funky is going on with argv") - -dotenv_path = sys.argv[1] -secrets = dotenv_values(dotenv_path) - -CUSTOMER = secrets["NC_CUSTOMER"] -API_PASSWORD = secrets["NC_API_PASSWORD"] -API_KEY = secrets["NC_API_KEY"] -DOMAIN = secrets["NC_DOMAIN"] +CUSTOMER = os.environ["NC_CUSTOMER"] +API_PASSWORD = os.environ["NC_API_PASSWORD"] +API_KEY = os.environ["NC_API_KEY"] +DOMAIN = os.environ["NC_DOMAIN"] ip = urllib3.request("GET", "https://api.ipify.org").data.decode()