first haskell template

This commit is contained in:
jsz4n
2024-02-06 13:15:06 +01:00
parent 580651eb55
commit 58be8fc605
2 changed files with 46 additions and 0 deletions

33
haskell/flake.nix Normal file
View File

@@ -0,0 +1,33 @@
{
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;
});
};
}