nixos/etebase-server: Leverage $PATH

This simplifies the existing module
but also enables consumers to call `etebase-server`
from custom preStart commands (i.e. user creation commands).

Changed files
+4 -4
nixos
modules
services
+4 -4
nixos/modules/services/misc/etebase-server.nix
···
description = "An Etebase (EteSync 2.0) server";
after = [ "network.target" "systemd-tmpfiles-setup.service" ];
wantedBy = [ "multi-user.target" ];
+
path = [ pythonEnv ];
serviceConfig = {
User = cfg.user;
Restart = "always";
WorkingDirectory = cfg.dataDir;
};
environment = {
-
PYTHONPATH = "${pythonEnv}/${pkgs.python3.sitePackages}";
ETEBASE_EASY_CONFIG_PATH = configIni;
};
preStart = ''
# Auto-migrate on first run or if the package has changed
versionFile="${cfg.dataDir}/src-version"
if [[ $(cat "$versionFile" 2>/dev/null) != ${pkgs.etebase-server} ]]; then
-
${pythonEnv}/bin/etebase-server migrate --no-input
-
${pythonEnv}/bin/etebase-server collectstatic --no-input --clear
+
etebase-server migrate --no-input
+
etebase-server collectstatic --no-input --clear
echo ${pkgs.etebase-server} > "$versionFile"
fi
'';
···
else "-b 0.0.0.0 -p ${toString cfg.port}";
in ''
cd "${pythonEnv}/lib/etebase-server";
-
${pythonEnv}/bin/daphne ${networking} \
+
daphne ${networking} \
etebase_server.asgi:application
'';
};