72 lines
1.8 KiB
Nix
72 lines
1.8 KiB
Nix
|
{
|
||
|
description = "PBSA: Physikalisch Basierte Simulation und Animation";
|
||
|
|
||
|
inputs.nixpkgs.url = "nixpkgs/nixpkgs-unstable";
|
||
|
|
||
|
outputs =
|
||
|
{ nixpkgs
|
||
|
, self
|
||
|
, ...
|
||
|
}:
|
||
|
let
|
||
|
systems = [
|
||
|
"x86_64-linux"
|
||
|
"aarch64-linux"
|
||
|
];
|
||
|
|
||
|
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system);
|
||
|
in
|
||
|
{
|
||
|
devShells = forAllSystems
|
||
|
(system:
|
||
|
let
|
||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||
|
in
|
||
|
{
|
||
|
default =
|
||
|
let
|
||
|
py-pkg = pkgs.python3.withPackages (python-pkgs: with python-pkgs;
|
||
|
[
|
||
|
# glad2 # todo
|
||
|
glad
|
||
|
anyqt
|
||
|
eigenpy
|
||
|
pip
|
||
|
]);
|
||
|
|
||
|
in
|
||
|
pkgs.mkShell {
|
||
|
packages = with pkgs; [
|
||
|
# base toolchain
|
||
|
gcc13
|
||
|
gdb
|
||
|
clang
|
||
|
libgcc
|
||
|
qt6.full
|
||
|
qtcreator
|
||
|
cmake
|
||
|
nlohmann_json
|
||
|
qt6.qtwayland
|
||
|
icu
|
||
|
libcxx
|
||
|
nil
|
||
|
libGL
|
||
|
libGLU
|
||
|
eigen
|
||
|
py-pkg
|
||
|
];
|
||
|
|
||
|
shellHook = ''
|
||
|
# Tells pip to put packages into $PIP_PREFIX instead of the usual locations.
|
||
|
# See https://pip.pypa.io/en/stable/user_guide/#environment-variables.
|
||
|
export PIP_PREFIX=$(pwd)/_build/pip_packages
|
||
|
export PYTHONPATH="$PIP_PREFIX/${py-pkg.sitePackages}:$PYTHONPATH"
|
||
|
export PATH="$PIP_PREFIX/bin:$PATH"
|
||
|
unset SOURCE_DATE_EPOCH
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
});
|
||
|
};
|
||
|
}
|