From 465ffab65d0680ea64052d9a9990788966675d10 Mon Sep 17 00:00:00 2001 From: Adam Dinwoodie Date: Mon, 30 Dec 2024 21:34:18 +0000 Subject: [PATCH 1/2] nixos/taskserver: fix systemd shellcheck warning The taskserver-init systemd unit fails to build with systemd.enableStrictShellChecks enabled, due to using the potentially unsafe `mkdir -m`. Fix that by moving directory creation out to systemd.tmpfiles. --- nixos/modules/services/misc/taskserver/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/misc/taskserver/default.nix b/nixos/modules/services/misc/taskserver/default.nix index 64ff7437fb08..592514718940 100644 --- a/nixos/modules/services/misc/taskserver/default.nix +++ b/nixos/modules/services/misc/taskserver/default.nix @@ -498,16 +498,16 @@ in ca.cert = if needToCreateCA then "${cfg.dataDir}/keys/ca.cert" else "${cfg.pki.manual.ca.cert}"; }; + systemd.tmpfiles.rules = [ + "d ${cfg.dataDir} 0770 ${cfg.user} ${cfg.group}" + "z ${cfg.dataDir} 0770 ${cfg.user} ${cfg.group}" + ]; + systemd.services.taskserver-init = { wantedBy = [ "taskserver.service" ]; before = [ "taskserver.service" ]; description = "Initialize Taskserver Data Directory"; - preStart = '' - mkdir -m 0770 -p "${cfg.dataDir}" - chown "${cfg.user}:${cfg.group}" "${cfg.dataDir}" - ''; - script = '' ${taskd} init touch "${cfg.dataDir}/.is_initialized" From 79bf56ec91ede1c218c6405d130755e002453178 Mon Sep 17 00:00:00 2001 From: Adam Dinwoodie Date: Mon, 30 Dec 2024 21:55:19 +0000 Subject: [PATCH 2/2] nixos/taskserver: fix test deprecation warning --- nixos/tests/taskserver.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/taskserver.nix b/nixos/tests/taskserver.nix index bd4dac40da87..31dfea00435c 100644 --- a/nixos/tests/taskserver.nix +++ b/nixos/tests/taskserver.nix @@ -114,7 +114,7 @@ import ./make-test-python.nix ( testScript = { nodes, ... }: let - cfg = nodes.server.config.services.taskserver; + cfg = nodes.server.services.taskserver; portStr = toString cfg.listenPort; specialisations = "${nodes.server.system.build.toplevel}/specialisation"; newServerSystem = "${specialisations}/manual_config";