From 04db7d38208fffa93729b13bebe0bef5df26ad09 Mon Sep 17 00:00:00 2001 From: Malte Brandy Date: Sat, 5 Jun 2021 17:01:12 +0200 Subject: [PATCH] Fix various systemd configs --- nixos/roles/foundryvtt.nix | 31 +++++++++++++++---------------- nixos/roles/kassandra-server.nix | 25 +++++++++++++------------ nixos/roles/laminar/default.nix | 3 +-- 3 files changed, 29 insertions(+), 30 deletions(-) diff --git a/nixos/roles/foundryvtt.nix b/nixos/roles/foundryvtt.nix index e714c68e..4399d6f1 100644 --- a/nixos/roles/foundryvtt.nix +++ b/nixos/roles/foundryvtt.nix @@ -19,28 +19,27 @@ in { config = { systemd.services.${name} = { - enable = true; + wantedBy = [ "multi-user.target" ]; description = "Foundryvtt server"; + preStart = '' + mkdir -p ${dataDir} + if [[ -f "${configFile}" ]]; then + tempfile=$(mktemp) + cp "${configFile}" "$tempfile" + ${pkgs.jq}/bin/jq ".[0] * .[1]" -s "$tempfile" "${declarativeConfigFile}" > "${configFile}" + else + cp "${declarativeConfigFile}" "${configFile}" + fi + if [[ ! -f "${stateDir}/app/resources/app/main.js" ]]; then + echo "No ${name} app found. Please download zip from foundryvtt.com and extract to ${stateDir}/app" + fi + ''; serviceConfig = { StateDirectory = "${name}"; WorkingDirectory = stateDir; DynamicUser = true; Restart = "always"; - ExecStartPre = pkgs.writeShellScript "setup-foundry-vtt" '' - uid - mkdir -p ${stateDir}/app - if [[ -f "${configFile}" ]]; then - tempfile=$(mktemp) - cp "${configFile}" "$tempfile" - ${pkgs.jq}/bin/jq ".[0] * .[1]" -s "$tempfile" "${declarativeConfigFile}" > "${configFile}" - else - cp "${declarativeConfigFile}" "${configFile}" - fi - if [[ ! -f "${stateDir}/app/resources/app/main.js" ]]; then - echo "No ${name} app found. Please download zip from foundryvtt.com and extract to ${stateDir}/app" - fi - ''; - ExecStart = "${pkgs.nodejs}/bin/node ${stateDir}/app/resources/app/main.js --dataPath=${stateDir}/data"; + ExecStart = "${pkgs.nodejs}/bin/node ${stateDir}/app/resources/app/main.js --dataPath=\"${dataDir}\""; }; }; services = { diff --git a/nixos/roles/kassandra-server.nix b/nixos/roles/kassandra-server.nix index 8fce552a..49eed7ac 100644 --- a/nixos/roles/kassandra-server.nix +++ b/nixos/roles/kassandra-server.nix @@ -1,16 +1,17 @@ -{ pkgs, ... }: { +{ pkgs, ... }: +let + serverPath = "/var/cache/gc-links/kassandra-server"; +in +{ systemd.services.kassandra = { - enable = true; + wantedBy = [ "multi-user.target" ]; description = "Kassandra Server"; - serviceConfig = - let serverPath = "/var/cache/gc-links/kassandra-server"; - in - { - WorkingDirectory = serverPath; - ExecStart = "${serverPath}/backend -b '::1' "; - Restart = "always"; - Environment = "PATH=${pkgs.coreutils}/bin/:${pkgs.taskwarrior}/bin"; - User = "maralorn"; - }; + path = [ pkgs.coreutils pkgs.taskwarrior ]; + serviceConfig = { + WorkingDirectory = serverPath; + ExecStart = "${serverPath}/backend -b '::1' "; + Restart = "always"; + User = "maralorn"; + }; }; } diff --git a/nixos/roles/laminar/default.nix b/nixos/roles/laminar/default.nix index 596cebf0..dfe4a49b 100644 --- a/nixos/roles/laminar/default.nix +++ b/nixos/roles/laminar/default.nix @@ -90,12 +90,11 @@ in }; environment.systemPackages = [ pkgs.laminar ]; systemd.services.laminar = { - enable = true; + wantedBy = [ "multi-user.target" ]; description = "Laminar continuous integration service"; serviceConfig = { WorkingDirectory = stateDir; ExecStart = "${pkgs.laminar}/bin/laminard"; - DynamicUser = false; User = "laminar"; StateDirectory = "laminar"; LimitNOFILE = "1024000";