forked from naturale0/rmrl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
41 lines (41 loc) · 1.43 KB
/
flake.nix
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
{
description = "Python env needed to run TimesheetLogic";
# Provides abstraction to boiler-code when specifying multi-platform outputs.
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
inputs.flake-parts.url = "github:hercules-ci/flake-parts";
outputs = inputs@{ self, nixpkgs, flake-parts }: flake-parts.lib.mkFlake { inherit inputs; } {
systems = [ "x86_64-linux" ];
perSystem = { config, self', inputs', pkgs, system, ... }: {
_module.args = {
pkgs = import nixpkgs {
inherit system;
overlays = [
(final: prev: {
python3 = prev.python3.override {
packageOverrides = f: p: {
rmscene = pkgs.python3Packages.callPackage ./rmscene.nix { };
rmrl = p.rmrl.overridePythonAttrs (o: {
src = self;
propagatedBuildInputs = with f; o.propagatedBuildInputs ++ [
setuptools
rmscene
];
});
};
};
})
];
};
};
devShells.default = pkgs.mkShell {
pname = "devshell-rmrl";
packages = [
(pkgs.python3.withPackages
(ps: (with ps.rmrl;
propagatedBuildInputs ++ nativeBuildInputs)))
];
};
packages.default = pkgs.python3.withPackages (ps: [ ps.rmscene ps.rmrl]);
};
};
}