Newer
Older
{
inputs = {
nixpkgs.url = github:nixos/nixpkgs/nixpkgs-unstable;
flake-utils.url = github:numtide/flake-utils;
language-c = {
url = github:kalhauge/language-c;
flake = false;
};
outputs = {
self,
nixpkgs,
flake-utils,
...
} @ inputs: let
packages = final: p: {
"rtree" = p.callCabal2nixWithOptions "rtree" "${self}" "" {};
"language-c" =
final.haskell.lib.overrideCabal
(p.callCabal2nixWithOptions "language-c" inputs.language-c "" {}) {
doCheck = false;
};
};
overlays = final: prev: {
haskellPackages = prev.haskellPackages.extend (p: _: packages final p);
};
in
}
// flake-utils.lib.eachDefaultSystem
(system: let
hpkgs =
(import nixpkgs {
overlays = [overlays];
})
.haskellPackages;
in rec {
packages = {
default = hpkgs.rtree;
rtree = hpkgs.rtree;
};
devShells = let
buildInputs = with hpkgs; [
cabal-install
ghcid
haskell-language-server
hpack
fourmolu
];
withHoogle = true;
in {
default =
hpkgs.shellFor
name = "rtree-shell";
packages = p: [p.rtree];
inherit buildInputs withHoogle;