-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
74 lines (66 loc) · 2.57 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
{
description = "ExamPP";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.dspy-nix.url = "git+https://git.smart-cactus.org/ben/dspy-nix";
outputs = inputs@{ self, nixpkgs, flake-utils, dspy-nix, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
pythonOverrides = self: super: {
pylatex = self.callPackage ./nix/pylatex.nix {};
trec-car-tools = self.callPackage ./nix/trec-car-tools.nix {};
ir_datasets = self.callPackage ./nix/ir_datasets.nix {};
unlzw3 = self.callPackage ./nix/unlzw3.nix {};
pyautocorpus = self.callPackage ./nix/pyautocorpus.nix {};
zlib-state = self.callPackage ./nix/zlib-state.nix {};
warc3-wet = self.callPackage ./nix/warc3-wet.nix {};
warc3-wet-clueweb09 = self.callPackage ./nix/warc3-wet-clueweb09.nix {};
exampp = self.buildPythonPackage {
name = "exampp";
src = ./.;
format = "setuptools";
propagatedBuildInputs = with self; [
pydantic
nltk
ir_datasets
fuzzywuzzy
];
doCheck = false;
};
};
mkShell = target: (dspy-nix.lib.${system}.mkShell {
inherit target;
pythonOverrides = [ pythonOverrides ];
packages = ps: with ps; [
pydantic
fuzzywuzzy
nltk
mypy
jedi
pylatex
trec-car-tools
ir_datasets
];
}).overrideAttrs (oldAttrs: {
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [self.outputs.packages.${system}.trec-eval];
});
in {
packages.trec-eval = pkgs.callPackage ./nix/trec-eval.nix {};
lib.pythonOverrides = pythonOverrides;
packages.exampp = (pkgs.python3.override {packageOverrides = pythonOverrides;}).pkgs.exampp;
devShells.default = self.outputs.devShells.${system}.cuda;
devShells.cpu = mkShell "cpu";
devShells.rocm = mkShell "rocm";
devShells.cuda = mkShell "cuda";
}
);
}
# checks.default = pkgs.stdenv.mkDerivation {
# name = "check-exampp";
# src = ./.;
# nativeBuildInputs =
# let py = dspy-nix.outputs.packages.${system}.python-cuda.withPackages (ps: [ (ps.callPackage ./exampp.nix {}) ]);
# in [py];
# buildPhase = '' python scripts/minimal_tests.py '';
# };