-
Notifications
You must be signed in to change notification settings - Fork 55
Expand file tree
/
Copy pathflake.nix
More file actions
51 lines (49 loc) · 1.56 KB
/
flake.nix
File metadata and controls
51 lines (49 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
{
description = "Real-time multi-physics simulation with an emphasis on medical simulation.";
inputs = {
flake-parts.url = "github:hercules-ci/flake-parts";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
sofa = {
url = "github:sofa-framework/sofa";
inputs = {
flake-parts.follows = "flake-parts";
nixpkgs.follows = "nixpkgs";
};
};
};
outputs =
inputs:
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
systems = inputs.nixpkgs.lib.systems.flakeExposed;
perSystem =
{
pkgs,
self',
system,
...
}:
{
apps.default = {
type = "app";
program =
pkgs.runCommand "runSofa"
{
nativeBuildInputs = [ pkgs.makeBinaryWrapper ];
meta.mainProgram = "runSofa";
}
''
makeBinaryWrapper ${pkgs.lib.getExe self'.packages.sofa} $out/bin/runSofa \
--set SOFA_PLUGIN_PATH ${self'.packages.sofa-python3} \
--set SOFA_ROOT ${self'.packages.sofa} \
--add-flags "-l SofaPython3"
'';
};
devShells.default = pkgs.mkShell { inputsFrom = [ self'.packages.default ]; };
packages = {
inherit (inputs.sofa.packages.${system}) sofa;
default = self'.packages.sofa-python3;
sofa-python3 = pkgs.callPackage ./package.nix { inherit (self'.packages) sofa; };
};
};
};
}