{
inputs.nixpkgs.url = "flake:nixpkgs";
outputs = inputs: let
pkg = "symantic-base";
lib = inputs.nixpkgs.lib;
forAllSystems = f: lib.genAttrs lib.systems.supported.hydra (system: f rec {
inherit system;
pkgs = inputs.nixpkgs.legacyPackages.${system};
haskellPackages = pkgs.haskellPackages.extend (with pkgs.haskell.lib; hfinal: hsuper: {
${pkg} = buildFromSdist (hfinal.callCabal2nix pkg ./. {});
});
});
in {
# nix -L build
defaultPackage = forAllSystems ({haskellPackages, ...}: haskellPackages.${pkg});
# nix -L develop
devShell = forAllSystems ({pkgs, haskellPackages, ...}:
haskellPackages.shellFor {
packages = ps: [ ps.${pkg} ];
nativeBuildInputs = [
haskellPackages.cabal-install
haskellPackages.ghcid
haskellPackages.haskell-language-server
haskellPackages.hlint
pkgs.git-chglog
pkgs.reuse
];
withHoogle = false;
});
};
}