# This is a workaround meant for use with the nix package manager. If you don't know what it is or don't use it, please ignore this file. # # The nk20 javascript static location are hardcoded for imperative system. # This make ./manage.py collectstatic hard to use with nixos. # # A workaround is to enter a FHSUserEnv with the static placed under /share/javascript/. # This emulate a debian like system and enable collecting static normally with ./manage.py collectstatics. # The regular shell.nix should be enough for other configurations. # # Warning, you are still supposed to use pip package with a venv ! { pkgs ? import {} }: (pkgs.buildFHSUserEnv { name = "pipzone"; targetPkgs = pkgs: (with pkgs; let fhs-static = stdenv.mkDerivation { name = "fhs-static"; buildCommand = '' mkdir -p $out/share/javascript/bootstrap4 mkdir -p $out/share/javascript/jquery ln -s ${python39Packages.xstatic-bootstrap}/lib/python3.9/site-packages/xstatic/pkg/bootstrap/data/* $out/share/javascript/bootstrap4 ln -s ${python39Packages.xstatic-jquery}/lib/python3.9/site-packages/xstatic/pkg/jquery/data/* $out/share/javascript/jquery ''; }; in [ fhs-static python39 gettext python39Packages.pip python39Packages.virtualenv python39Packages.setuptools ]); runScript = "bash"; }).env