{ # Fetch the list of packages for BSC inputs.jungle.url = "git+https://jungle.bsc.es/git/rarias/jungle"; outputs = { self, jungle }: let customOverlay = final: prev: { # Disable GIL in python python314 = prev.python314.override { enableGIL = false; }; # Use a custom nOS-V commit nosv = prev.nosv.override { useGit = true; gitBranch = "nosv_join"; gitCommit = "33130d271a59d0794545e4a2a597a56951e428aa"; gitUrl = "ssh://git@gitlab-internal.bsc.es/acinca/nos-v.git"; }; }; pkgs = import jungle.inputs.nixpkgs { system = "x86_64-linux"; overlays = [ # Add our BSC packages jungle.bscOverlay # And our changes above on top customOverlay ]; }; in { devShells.x86_64-linux.default = pkgs.mkShell { pname = "devshell"; # Set the NOSV_HOME to point to the current nosv package NOSV_HOME = pkgs.nosv; # These will be included in the environment with `nix develop`. buildInputs = with pkgs; [ # Add python to the develop shell, with setuptools included (python314.withPackages (python-pkgs: with python-pkgs; [ setuptools ])) # Extra packages gcc cowsay nosv ]; }; }; }