From fda65523fbb8dd7ef4a2eba4d39f88ce19245713 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sun, 11 Dec 2022 01:23:22 +0100 Subject: [PATCH] nixos/evcc: Fix unit environment In some recent version evcc started requiring `getent` in the PATH, or else it would fail to start. It also now requires an sqlite database, which it tries to create a directory for at `$HOME/.evcc`, so we now need to provide a StateDirectory. --- nixos/modules/services/home-automation/evcc.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/home-automation/evcc.nix b/nixos/modules/services/home-automation/evcc.nix index c12ba9d0c1e2..efa2cf244313 100644 --- a/nixos/modules/services/home-automation/evcc.nix +++ b/nixos/modules/services/home-automation/evcc.nix @@ -48,7 +48,10 @@ in wantedBy = [ "multi-user.target" ]; - + environment.HOME = "/var/lib/evcc"; + path = with pkgs; [ + glibc # requires getent + ]; serviceConfig = { ExecStart = "${package}/bin/evcc --config ${configFile} ${escapeShellArgs cfg.extraArgs}"; CapabilityBoundingSet = [ "" ]; @@ -77,6 +80,7 @@ in ProtectKernelModules = true; ProtectKernelTunables = true; ProtectProc = "invisible"; + StateDirectory = "evcc"; SystemCallArchitectures = "native"; SystemCallFilter = [ "@system-service"