diff --git a/artiq/artiq-extras.nix b/artiq/artiq-extras.nix index 861fcf6..0df9a7f 100644 --- a/artiq/artiq-extras.nix +++ b/artiq/artiq-extras.nix @@ -1,26 +1,31 @@ { pkgs, asyncserial, artiq }: let - korad_ka3005p_version = "1.0"; - korad_ka3005p_src = pkgs.fetchFromGitHub { - owner = "m-labs"; - repo = "korad_ka3005p"; - rev = "e0adec6c577d7d1b832a2b1bf20e89ac393ca27e"; - sha256 = "18092zgjh63qrg6lg9mzsbr2yri7k7wb97mip5xq3zrcabmmpbk3"; - }; -in rec { - korad_ka3005p = pkgs.python3Packages.buildPythonPackage rec { - version = korad_ka3005p_version; - name = "korad_ka3005p-${version}"; - buildInputs = [ asyncserial artiq ]; - src = korad_ka3005p_src; - }; - conda-korad_ka3005p = import ./conda-build.nix { inherit pkgs; } { - name = "conda-korad_ka3005p"; - src = import ./conda-fake-source.nix { inherit pkgs; } { - name = "korad_ka3005p"; - version = korad_ka3005p_version; - src = korad_ka3005p_src; - dependencies = [ "asyncserial" ]; + dualPackage = ( + { name, version, src, pythonOptions, condaOptions }: + { + "${name}" = pkgs.python3Packages.buildPythonPackage ({ + inherit version; + name = "${name}-${version}"; + inherit src; + } // pythonOptions); + "conda-${name}" = import ./conda-build.nix { inherit pkgs; } { + name = "conda-korad_ka3005p"; + src = import ./conda-fake-source.nix { inherit pkgs; } ({ + inherit name version src; + } // condaOptions); + }; + } + ); +in + (dualPackage { + name = "korad_ka3005p"; + version = "1.0"; + src = pkgs.fetchFromGitHub { + owner = "m-labs"; + repo = "korad_ka3005p"; + rev = "e0adec6c577d7d1b832a2b1bf20e89ac393ca27e"; + sha256 = "18092zgjh63qrg6lg9mzsbr2yri7k7wb97mip5xq3zrcabmmpbk3"; }; - }; -} + pythonOptions = { buildInputs = [ asyncserial artiq ]; }; + condaOptions = { dependencies = [ "asyncserial" ]; }; + })