pbsa-nix/flake.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
'';
};
});
};
}