add docker

This commit is contained in:
Valentin Boettcher 2022-12-13 14:42:21 -05:00
parent 09c67e6366
commit a11cd84fac
No known key found for this signature in database
GPG key ID: E034E12B7AF56ACE

246
flake.nix
View file

@ -24,140 +24,140 @@
)); ));
overrides = (self: super: { overrides = (self: super: {
beartype = super.beartype.overridePythonAttrs ( beartype = super.beartype.overridePythonAttrs (
old: { old: {
buildInputs = (old.buildInputs or [ ]) ++ [ buildInputs = (old.buildInputs or [ ]) ++ [
self.setuptools self.setuptools
]; ];
} }
); );
future = super.future.overridePythonAttrs ( future = super.future.overridePythonAttrs (
old: { old: {
buildInputs = (old.buildInputs or [ ]) ++ [ buildInputs = (old.buildInputs or [ ]) ++ [
self.setuptools self.setuptools
]; ];
} }
); );
sqlitedict = super.sqlitedict.overridePythonAttrs ( sqlitedict = super.sqlitedict.overridePythonAttrs (
old: { old: {
buildInputs = (old.buildInputs or [ ]) ++ [ buildInputs = (old.buildInputs or [ ]) ++ [
self.setuptools self.setuptools
]; ];
} }
); );
lmfit = super.lmfit.overridePythonAttrs ( lmfit = super.lmfit.overridePythonAttrs (
old: { old: {
buildInputs = (old.buildInputs or [ ]) ++ [ buildInputs = (old.buildInputs or [ ]) ++ [
self.setuptools self.setuptools
]; ];
} }
); );
fcspline = super.fcspline.overridePythonAttrs ( fcspline = super.fcspline.overridePythonAttrs (
old: { old: {
buildInputs = (old.buildInputs or [ ]) ++ [ buildInputs = (old.buildInputs or [ ]) ++ [
self.cython self.cython
self.poetry self.poetry
]; ];
} }
); );
progression = super.progression.overridePythonAttrs ( progression = super.progression.overridePythonAttrs (
old: { old: {
buildInputs = (old.buildInputs or [ ]) ++ [ buildInputs = (old.buildInputs or [ ]) ++ [
self.poetry self.poetry
]; ];
} }
); );
binfootprint = super.binfootprint.overridePythonAttrs ( binfootprint = super.binfootprint.overridePythonAttrs (
old: { old: {
buildInputs = (old.buildInputs or [ ]) ++ [ buildInputs = (old.buildInputs or [ ]) ++ [
self.poetry self.poetry
]; ];
} }
); );
qutip = super.qutip.overridePythonAttrs ( qutip = super.qutip.overridePythonAttrs (
old: { old: {
buildInputs = (old.buildInputs or [ ]) ++ [ buildInputs = (old.buildInputs or [ ]) ++ [
self.cython self.cython
]; ];
} }
); );
stocproc = super.stocproc.overridePythonAttrs ( stocproc = super.stocproc.overridePythonAttrs (
old: { old: {
buildInputs = (old.buildInputs or [ ]) ++ [ buildInputs = (old.buildInputs or [ ]) ++ [
self.poetry self.poetry
self.cython self.cython
]; ];
} }
); );
two-qubit-model = super.two-qubit-model.overridePythonAttrs ( two-qubit-model = super.two-qubit-model.overridePythonAttrs (
old: { old: {
buildInputs = (old.buildInputs or [ ]) ++ [ buildInputs = (old.buildInputs or [ ]) ++ [
self.poetry self.poetry
]; ];
} }
); );
hiro-models = super.hiro-models.overridePythonAttrs ( hiro-models = super.hiro-models.overridePythonAttrs (
old: { old: {
buildInputs = (old.buildInputs or [ ]) ++ [ buildInputs = (old.buildInputs or [ ]) ++ [
self.poetry self.poetry
]; ];
} }
); );
hopsflow = super.hopsflow.overridePythonAttrs ( hopsflow = super.hopsflow.overridePythonAttrs (
old :{ old: {
buildInputs = old.buildInputs or [ ] ++ [ buildInputs = old.buildInputs or [ ] ++ [
self.poetry self.poetry
]; ];
} }
); );
hops = super.hops.overridePythonAttrs ( hops = super.hops.overridePythonAttrs (
old :{ old: {
buildInputs = old.buildInputs or [ ] ++ [ buildInputs = old.buildInputs or [ ] ++ [
self.poetry self.poetry
]; ];
} }
); );
jupyter = super.jupyter-core.overridePythonAttrs ( jupyter = super.jupyter-core.overridePythonAttrs (
old: { old: {
postInstall = '' postInstall = ''
rm $out/lib/python*/site-packages/__pycache__/jupyter.cpython-39.pyc rm $out/lib/python*/site-packages/__pycache__/jupyter.cpython-39.pyc
rm $out/lib/python*/site-packages/jupyter.py rm $out/lib/python*/site-packages/jupyter.py
''; '';
} }
); );
matplotlib = super.matplotlib.override ( matplotlib = super.matplotlib.override (
{ {
enableGtk3 = true; enableGtk3 = true;
enableTk = true; enableTk = true;
# preferWheel = false; # preferWheel = false;
} }
); );
numba = super.numba.override ( numba = super.numba.override (
{ {
preferWheel = false; preferWheel = false;
}); });
numpy = super.numpy.override ( numpy = super.numpy.override (
{ {
blas = super.mkl; blas = super.mkl;
} }
); );
}); });
poetry2nixWrapper = nixpkgs: poetry2nixWrapper = nixpkgs:
{ name { name
@ -168,12 +168,12 @@
, noPackage ? false , noPackage ? false
, shellOverride ? (_: _: { }) , shellOverride ? (_: _: { })
, python ? (pkgs: pkgs.python310) , python ? (pkgs: pkgs.python310)
, extraOverrides ? (_:_:{}) , extraOverrides ? (_:_: { })
, extraOverlay ? (_:_:{}) , extraOverlay ? (_:_: { })
}: }:
(flake-utils.lib.eachDefaultSystem (system: (flake-utils.lib.eachDefaultSystem (system:
let let
finalOverrides = nixpkgs.lib.composeManyExtensions [overrides extraOverrides]; finalOverrides = nixpkgs.lib.composeManyExtensions [ overrides extraOverrides ];
overlay = nixpkgs.lib.composeManyExtensions [ overlay = nixpkgs.lib.composeManyExtensions [
poetry2nix.overlay poetry2nix.overlay
extraOverlay extraOverlay
@ -210,6 +210,10 @@
} // (if noPackage then { } else rec { } // (if noPackage then { } else rec {
packages = { packages = {
${name} = pkgs.${name}; ${name} = pkgs.${name};
"${name}Docker" = pkgs.dockerTools.buildImage {
name = "${name}";
contents = pkgs.${name};
};
}; };
defaultPackage = packages.${name}; defaultPackage = packages.${name};