modules/etebase-server: add package, pythonPackage

options, to keep the packaeges configurable
This commit is contained in:
phaer
2024-03-01 14:32:46 +01:00
parent 13686ad41f
commit 720a1eb5e7
+18 -4
View File
@@ -5,8 +5,8 @@ with lib;
let
cfg = config.services.etebase-server;
pythonEnv = pkgs.python3.withPackages (ps: with ps;
[ etebase-server daphne ]);
pythonEnv = cfg.pythonPackage.withPackages (ps: with ps;
[ cfg.package daphne ]);
iniFmt = pkgs.formats.ini {};
@@ -46,6 +46,20 @@ in
'';
};
package = mkOption {
type = types.package;
default = cfg.pythonPackage.pkgs.etebase-server;
defaultText = literalExpression "pkgs.etebase-server";
description = lib.mdDoc "etebase-server package to use.";
};
pythonPackage = mkOption {
type = types.package;
default = pkgs.python3;
defaultText = literalExpression "pkgs.python3";
description = lib.mdDoc "python interpreter to run etebase-server with.";
};
dataDir = mkOption {
type = types.str;
default = "/var/lib/etebase-server";
@@ -191,10 +205,10 @@ in
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
if [[ $(cat "$versionFile" 2>/dev/null) != ${cfg.package} ]]; then
etebase-server migrate --no-input
etebase-server collectstatic --no-input --clear
echo ${pkgs.etebase-server} > "$versionFile"
echo ${cfg.package} > "$versionFile"
fi
'';
script =