Before this change it was very inconvenient to override specific dependencies, e.g. patching something in pythonEnv and having its dependents use that patched version. This is just a step towards better overridability for the individual authentik components, because patched versions of components still need to be manually passed to their dependents. An overlay-like approach would be even better.
21 lines
737 B
Nix
21 lines
737 B
Nix
{ authentik-src
|
|
, authentikComponents
|
|
, makeWrapper
|
|
, runCommandLocal
|
|
}:
|
|
|
|
runCommandLocal "authentik-migrate.py" {
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
} ''
|
|
mkdir -vp $out/bin
|
|
cp ${authentik-src}/lifecycle/migrate.py $out/bin/migrate.py
|
|
chmod +w $out/bin/migrate.py
|
|
patchShebangs $out/bin/migrate.py
|
|
substituteInPlace $out/bin/migrate.py \
|
|
--replace \
|
|
'migration_path in Path(__file__).parent.absolute().glob("system_migrations/*.py")' \
|
|
'migration_path in Path("${authentikComponents.staticWorkdirDeps}/lifecycle").glob("system_migrations/*.py")'
|
|
wrapProgram $out/bin/migrate.py \
|
|
--prefix PATH : ${authentikComponents.pythonEnv}/bin \
|
|
--prefix PYTHONPATH : ${authentikComponents.staticWorkdirDeps}
|
|
''
|