Files
flake-templates/haskell/flake.nix
2024-02-06 13:15:06 +01:00

34 lines
979 B
Nix

{
description = "A very basic Haskell flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
};
outputs = { self, nixpkgs, ...}:
let
supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
pkgs = forAllSystems (system: nixpkgs.legacyPackages.${system});
stack-wrapped = pkgs.symlinkJoin {
name = "stack"; # will be available as the usual `stack` in terminal
paths = [ pkgs.stack ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/stack \
--add-flags "\
--no-nix \
--system-ghc \
--no-install-ghc \
"
'';
};
in
{
devShells = forAllSystems (system: {
default = pkgs.${system}.callPackage ./shell.nix {};
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath self.default.buildInputs;
});
};
}