nus/cs2109s/labs/flake.nix
2024-04-28 15:58:30 +08:00

46 lines
1.1 KiB
Nix

{
description = "Flake to setup CS2109S";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system:
let pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
};
}; in rec {
overlays = [(final: prev: {
pythonPackagesExtensions = [(py-final: py-prev: {
torch = py-final.torch-bin;
})];
})];
devShell = pkgs.mkShell {
buildInputs = with pkgs; [
(python3.withPackages(ps: with ps;
let myoptuna = optuna.override {
torch = python3.pkgs.torch-bin;
torchaudio = python3.pkgs.torchaudio-bin;
torchvision = python3.pkgs.torchvision-bin;
};
in [
ipython
jupyter
numpy
pandas
matplotlib
torch-bin
scikit-learn
timeout-decorator
torchvision-bin
seaborn
]))
];
};
}
);
}