Newer
Older
inputs = {
nixpkgs.url = github:NixOS/nixpkgs/nixos-unstable;
};
outputs = { self, nixpkgs }:
with nixpkgs.lib;
let
let
pkgs = import nixpkgs { inherit system; overlays = [ self.overlay ]; };
getHaskellPackages = pattern: pipe pkgs.haskell.packages [
attrNames
(filter (x: !isNull (strings.match pattern x)))
(sort (x: y: x>y))
(map (x: pkgs.haskell.packages.${x}))
head
];
default = quasar_ghc92;
quasar_ghc92 = (getHaskellPackages "ghc92.").quasar;
quasar_ghc94 = (getHaskellPackages "ghc94.").quasar;
overlay = final: prev: {
haskell = prev.haskell // {
packageOverrides = hfinal: hprev: prev.haskell.packageOverrides hfinal hprev // {
quasar = hfinal.callCabal2nix "quasar" ./quasar {};
devShell = forAllSystems (system:
let
pkgs = nixpkgs.legacyPackages.${system};
in pkgs.mkShell {
inputsFrom = [
self.packages.${system}.quasar.env
];
pkgs.haskell-language-server