Compare commits

...

2 commits

Author SHA1 Message Date
725520ddd4 don't track symlinked htmx
All checks were successful
/ check-pre-commit (pull_request) Successful in 20s
/ check-peertube (pull_request) Successful in 18s
/ check-panel (pull_request) Successful in 1m25s
/ check-pre-commit (push) Successful in 4s
/ check-peertube (push) Successful in 18s
/ check-panel (push) Successful in 1m22s
2025-04-22 16:34:09 +02:00
061314a062 programmatically place generated files in development environment
All checks were successful
/ check-pre-commit (pull_request) Successful in 20s
/ check-peertube (pull_request) Successful in 18s
/ check-panel (pull_request) Successful in 1m28s
this allows to add more generated files later as needed without
cluttering the `shellHook`.
2025-04-22 16:24:12 +02:00
3 changed files with 19 additions and 4 deletions

View file

@ -12,10 +12,11 @@ let
manage = pkgs.writeScriptBin "manage" '' manage = pkgs.writeScriptBin "manage" ''
exec ${pkgs.lib.getExe pkgs.python3} ${toString ./src/manage.py} $@ exec ${pkgs.lib.getExe pkgs.python3} ${toString ./src/manage.py} $@
''; '';
package = pkgs.callPackage ./nix/package.nix { };
in in
{ {
shell = pkgs.mkShellNoCC { shell = pkgs.mkShellNoCC {
inputsFrom = [ (pkgs.callPackage ./nix/package.nix { }) ]; inputsFrom = [ package ];
packages = [ packages = [
pkgs.npins pkgs.npins
manage manage
@ -26,7 +27,10 @@ in
DATABASE_URL = "sqlite:///${toString ./src}/db.sqlite3"; DATABASE_URL = "sqlite:///${toString ./src}/db.sqlite3";
}; };
shellHook = '' shellHook = ''
ln -sf ${sources.htmx}/dist/htmx.js src/panel/static/htmx.min.js ${lib.concatStringsSep "\n" (
map (file: "ln -sf ${file.from} ${toString ./src/${file.to}}") package.generated
)}
# in production, secrets are passed via CREDENTIALS_DIRECTORY by systemd. # in production, secrets are passed via CREDENTIALS_DIRECTORY by systemd.
# use this directory for testing with local secrets # use this directory for testing with local secrets
mkdir -p $CREDENTIALS_DIRECTORY mkdir -p $CREDENTIALS_DIRECTORY

View file

@ -25,6 +25,12 @@ let
packages = [ "${name}" ] packages = [ "${name}" ]
include-package-data = true include-package-data = true
''; '';
generated = [
{
from = "${sources.htmx}/dist/htmx.min.js";
to = "./panel/static/htmx.min.js";
}
];
in in
python3.pkgs.buildPythonPackage { python3.pkgs.buildPythonPackage {
pname = name; pname = name;
@ -54,11 +60,17 @@ python3.pkgs.buildPythonPackage {
] ]
++ pythonPackages; ++ pythonPackages;
passthru = {
inherit generated;
};
postInstall = '' postInstall = ''
mkdir -p $out/bin mkdir -p $out/bin
cp -v ${src}/manage.py $out/bin/manage.py cp -v ${src}/manage.py $out/bin/manage.py
chmod +x $out/bin/manage.py chmod +x $out/bin/manage.py
wrapProgram $out/bin/manage.py --prefix PYTHONPATH : "$PYTHONPATH" wrapProgram $out/bin/manage.py --prefix PYTHONPATH : "$PYTHONPATH"
cp ${sources.htmx}/dist/htmx.min.js* $out/${python3.sitePackages}/panel/static/ ${lib.concatStringsSep "\n" (
map (file: "cp ${file.from} $out/${python3.sitePackages}/${file.to}") generated
)}
''; '';
} }

View file

@ -1 +0,0 @@
/nix/store/mwqqk0qmldzvv4xj9kq2lbah2flhc44z-source/dist/htmx.js