Various Nix things
Using nix-shell
relative to a different package set
Example, using GHC 9.8.1 from a PR before it was merged into Nixpkgs proper.
nix-shell -I nixpkgs=https://github.com/vaibhavsagar/nixpkgs/archive/refs/heads/vaibhavsagar/ghc981.zip -p haskell.compiler.ghc981
Note that this is equivalent to running random code off the internet, and that the above URL is not pinned at all.
Using ad-hoc packages from PyPI in nix-shell
Put something like this in your shell.nix
:
{ pkgs ? import <nixpkgs> {} }:
let
my-python-packages = ps: with ps; [
(buildPythonPackage rec {
pname = "futhark-data";
version = "1.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-UJ0x642f5Q9749ffYIimQuF+sMTVOyx4iYZgrB86HFo=";
};
doCheck = false;
})
numpy
scipy
];
my-python = pkgs.python3.withPackages my-python-packages;
in my-python.env
A minimal shell.nix
It is minimal in that the file is small, not that the environment is small.
{ pkgs ? import <nixpkgs> {} }:
pkgs.stdenv.mkDerivation {
name = "shell";
buildInputs =
with pkgs;
[
# add packages here
];
}