diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 45 |
1 files changed, 43 insertions, 2 deletions
@@ -8,17 +8,54 @@ url = "github:fpiper/open_pdks-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; + cicsim = { + url = "github:wulffern/cicsim"; + flake = false; + }; }; - outputs = { self, nixpkgs, open_pdks }: + outputs = { self, nixpkgs, open_pdks, cicsim }: let pkgs = import nixpkgs { system = "x86_64-linux"; }; in { + packages.x86_64-linux.cicsim = + let pkgs = import nixpkgs { + system = "x86_64-linux"; + }; + in pkgs.python3.pkgs.buildPythonPackage rec { + name = "cicsim"; + format = "setuptools"; + src = cicsim; + doCheck = false; + + propagatedBuildInputs = with pkgs.python311Packages; [ + pandas + tabulate + click + matplotlib + numpy + pyyaml + jinja2 + ]; + buildInputs = with pkgs.python311Packages; [ + pip + wheel + setuptools + # tikzplotlib # broken with matplotlib 3.8 + ]; + }; + devShells.x86_64-linux.default = self.devShells.x86_64-linux.osic; - devShells.x86_64-linux.osic = pkgs.mkShell { + devShells.x86_64-linux.osic = let + finalPython = pkgs.python3.override { + packageOverrides = python-self: python-super: { + cicsim = self.packages.x86_64-linux.cicsim; + }; + }; + in pkgs.mkShell { shellHook = '' export PS1="osic $ " export PDK_ROOT="${open_pdks.outputs.packages.x86_64-linux.open_pdks}/pdk" @@ -27,6 +64,10 @@ pkgs.ngspice pkgs.magic-vlsi pkgs.xschem + (finalPython.withPackages (ps: [ + ps.cicsim + ])) + pkgs.pandoc ]; }; }; |