2021-12-07 17:54:45 +01:00
|
|
|
{
|
|
|
|
description = "Calculating open system bath energy changes with HOPS and analytically.";
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
|
|
|
mach-nix.url = "github:DavHau/mach-nix";
|
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
hopsflow.url = "github:vale981/hopsflow";
|
|
|
|
};
|
|
|
|
|
2021-12-07 18:54:53 +01:00
|
|
|
outputs = { self, nixpkgs, flake-utils, mach-nix, hopsflow }:
|
2021-12-07 17:54:45 +01:00
|
|
|
let
|
2021-12-07 18:54:53 +01:00
|
|
|
python = "python39Full";
|
2021-12-07 17:54:45 +01:00
|
|
|
pypiDataRev = "master";
|
|
|
|
pypiDataSha256 = "041rpjrwwa43hap167jy8blnxvpvbfil0ail4y4mar1q5f0q57xx";
|
|
|
|
|
|
|
|
in flake-utils.lib.eachSystem ["x86_64-linux"] (system:
|
|
|
|
let
|
|
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
|
|
mach-nix-wrapper = import mach-nix { inherit pkgs python pypiDataRev pypiDataSha256; };
|
|
|
|
|
|
|
|
hopsflowPkg = hopsflow.defaultPackage.${system};
|
|
|
|
|
2021-12-07 18:54:53 +01:00
|
|
|
pythonShell = mach-nix-wrapper.mkPython {
|
2021-12-07 17:54:45 +01:00
|
|
|
requirements = ''
|
|
|
|
numba
|
|
|
|
quadpy
|
|
|
|
idesolver
|
|
|
|
ptpython
|
|
|
|
matplotlib
|
|
|
|
jupyter
|
|
|
|
h5py
|
|
|
|
qutip
|
2021-12-07 18:54:53 +01:00
|
|
|
numpy
|
|
|
|
mypy
|
|
|
|
mkl
|
|
|
|
black
|
2021-12-07 17:54:45 +01:00
|
|
|
'';
|
2021-12-07 18:54:53 +01:00
|
|
|
packagesExtra = [hopsflowPkg];
|
|
|
|
_.jupyter.postInstall = ''
|
|
|
|
rm $out/lib/python*/site-packages/__pycache__/jupyter.cpython-39.pyc
|
|
|
|
rm $out/lib/python*/site-packages/jupyter.py
|
|
|
|
'';
|
2021-12-07 17:54:45 +01:00
|
|
|
|
2021-12-07 18:54:53 +01:00
|
|
|
# providers.tk = "nixpkgs";
|
|
|
|
};
|
2021-12-07 17:54:45 +01:00
|
|
|
|
|
|
|
in {
|
2021-12-07 18:54:53 +01:00
|
|
|
devShell = pkgs.mkShell {
|
|
|
|
buildInputs = [
|
|
|
|
pkgs.nodePackages.pyright pythonShell
|
|
|
|
];
|
|
|
|
};
|
2021-12-07 17:54:45 +01:00
|
|
|
});
|
|
|
|
}
|