40 lines
722 B
Nix
40 lines
722 B
Nix
with import <nixpkgs> { };
|
|
|
|
let
|
|
pythonPackages = python311Packages;
|
|
in pkgs.mkShell rec {
|
|
name = "Solid Scribe Env";
|
|
|
|
buildInputs = [
|
|
# node for server
|
|
nodejs
|
|
nodePackages.npm
|
|
pm2
|
|
];
|
|
|
|
# Run this command, only after creating the virtual environment
|
|
postVenvCreation = ''
|
|
unset SOURCE_DATE_EPOCH
|
|
'';
|
|
|
|
postShellHook = ''
|
|
|
|
if [[ ! -f lockfile.running ]] ; then
|
|
echo "No Lock File, starting servers"
|
|
touch lockfile.running
|
|
|
|
# start service
|
|
# npm run start or whatever
|
|
|
|
fi
|
|
|
|
# kill everything when main screen is closed
|
|
function end {
|
|
echo "Exiting, Removing Lockfile"
|
|
rm -f lockfile.running
|
|
}
|
|
trap end EXIT
|
|
'';
|
|
|
|
}
|