nix-scripts/artiq-fast/shell-dev.nix

88 lines
3.2 KiB
Nix

{ pkgs ? import <nixpkgs> {}}:
with import <nixpkgs> {};
let
set-scratch-dir = ./set-scratch-dir.sh;
artiqpkgs = import ./default.nix { inherit pkgs; };
vivado = import ./vivado.nix { inherit pkgs; };
sipyco = python3Packages.buildPythonPackage rec {
pname = "sipyco";
version = "0.1";
src = /home/thomp/scratch/sipyco;
propagatedBuildInputs = [ pkgs.python3Packages.statsmodels ];
doCheck = false;
};
artiq_tools = python3Packages.buildPythonPackage rec {
pname = "artiq_tools";
version = "0.2";
src = /home/thomp/scratch/artiq_tools;
propagatedBuildInputs = [ pkgs.python3Packages.numpy pkgs.python3Packages.typing artiqpkgs.artiq pkgs.python3Packages.pyzmq pkgs.python3Packages.matplotlib];
};
oitg = python3Packages.buildPythonPackage rec {
pname = "oitg";
version = "0.1";
src = /home/thomp/scratch/oitg;
propagatedBuildInputs = [ pkgs.python3Packages.statsmodels ];
doCheck = false;
};
python_library = python3Packages.buildPythonPackage rec {
pname = "python_library";
version = "0.1";
src = /home/thomp/scratch/python-library;
propagatedBuildInputs = [ pkgs.python3Packages.numpy pkgs.python3Packages.scipy pkgs.python3Packages.matplotlib ];
};
strontium_library = python3Packages.buildPythonPackage rec {
pname = "strontium_library";
version = "0.1";
src = /home/thomp/scratch/strontium-library;
propagatedBuildInputs = [ pkgs.python3Packages.numpy pkgs.python3Packages.scipy pkgs.python3Packages.matplotlib pkgs.python3Packages.influxdb];
};
ndscan = python3Packages.buildPythonPackage rec {
pname = "ndscan";
version = "0.1";
src = /home/thomp/scratch/ndscan;
propagatedBuildInputs = [ artiqpkgs.artiq oitg];
doCheck = false;
};
analysis_library = python3Packages.buildPythonPackage rec {
pname = "analysis_library";
version = "0.1";
src = /home/thomp/scratch/analysis-library;
propagatedBuildInputs = [ pkgs.python3Packages.h5py pkgs.python3Packages.matplotlib pkgs.python3Packages.scipy pkgs.python3Packages.numpy python_library strontium_library pkgs.python3Packages.uncertainties];
doCheck = false;
};
in
pkgs.mkShell {
buildInputs = [
vivado
sipyco
artiq_tools
analysis_library
python_library
strontium_library
ndscan
pkgs.gnumake
(pkgs.python3.withPackages(ps: (with ps; [ jinja2 jsonschema numpy paramiko ]) ++ (with artiqpkgs; [ migen microscope misoc jesd204b migen-axi artiq ])))
artiqpkgs.cargo
artiqpkgs.rustc
artiqpkgs.binutils-or1k
artiqpkgs.binutils-arm
artiqpkgs.llvm-or1k
artiqpkgs.openocd
];
shellHook = ''
source ${set-scratch-dir};
export PYTHONPATH="$scratch_dir/artiq_tools:$PYTHONPATH"
export PYTHONPATH="$scratch_dir/oitg:$PYTHONPATH"
export PYTHONPATH="$scratch_dir/analysis-library:$PYTHONPATH"
export PYTHONPATH="$scratch_dir/python-library:$PYTHONPATH"
export PYTHONPATH="$scratch_dir/strontium-library:$PYTHONPATH"
export PYTHONPATH="$scratch_dir/ndscan:$PYTHONPATH"
export PYTHONPATH="$scratch_dir/sipyco:$PYTHONPATH"
'';
TARGET_AR="or1k-linux-ar";
}