-
Notifications
You must be signed in to change notification settings - Fork 5
/
flake.nix
59 lines (54 loc) · 1.26 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
# SPDX-FileCopyrightText: 2021 The eminus developers
# SPDX-License-Identifier: Apache-2.0
{
description = "eminus - Pythonic electronic structure theory.";
inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; };
outputs = { self, nixpkgs }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
# config.allowUnfree = true;
};
pyEnv = pkgs.python3.withPackages (p:
with p; [
### basic ###
numpy
pip
scipy
### dispersion ###
simple-dftd3
### fods and libxc ###
pyscf
### torch ###
# torch-bin
### viewer ###
# nglview is missing
plotly
### dev ###
coverage
furo
jupyter
matplotlib
mypy
pytest
sphinx
sphinx-design
sphinxcontrib-bibtex
]);
in
{
devShells."${system}".default = with pkgs;
mkShell {
buildInputs = [
pyEnv
### dev ###
ruff
];
shellHook = ''
pip install -e . --prefix "$TMPDIR"
export PYTHONPATH="$(pwd):$PYTHONPATH"
'';
};
};
}