From d04cc0b59c49511b3ebae20b0b2ce98d61f04c64 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Thu, 28 Oct 2021 16:38:22 +0100 Subject: Initial commit --- flake.nix | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 flake.nix (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..21038e8 --- /dev/null +++ b/flake.nix @@ -0,0 +1,48 @@ +{ + description = "gsa-parser"; + + inputs.haskellNix.url = "github:input-output-hk/haskell.nix"; + inputs.nixpkgs.follows = "haskellNix/nixpkgs-unstable"; + inputs.flake-utils.url = "github:numtide/flake-utils"; + + outputs = { self, nixpkgs, flake-utils, haskellNix }: + flake-utils.lib.eachDefaultSystem (system: + let + overlay = self: _: { + hsPkgs = + self.haskell-nix.project' rec { + src = ./.; + compiler-nix-name = "ghc8107"; + shell = { + tools = { + cabal = { }; + ghcid = { }; + haskell-language-server = { }; + hlint = { }; + ormolu = { }; + }; + ## ormolu that uses ImportQualifiedPost. + ## To use, remove ormolu from the shell.tools section above, and uncomment the following lines. + # buildInputs = + # let + # ormolu = pkgs.haskell-nix.tool compiler-nix-name "ormolu" "latest"; + # ormolu-wrapped = pkgs.writeShellScriptBin "ormolu" '' + # ${ormolu}/bin/ormolu --ghc-opt=-XImportQualifiedPost $@ + # ''; + # in + # [ ormolu-wrapped ]; + }; + }; + }; + pkgs = import nixpkgs { + inherit system; + overlays = [ + haskellNix.overlay + overlay + ]; + }; + flake = pkgs.hsPkgs.flake { }; + in + flake // { defaultPackage = flake.packages."gsa-parser:exe:gsa-parser-exe"; } + ); +} -- cgit