diff --git a/.gitignore b/.gitignore index d7c04f9..239ffad 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,11 @@ venv # Nix and Nix flake files result result-* +nix/templates/haskell/haskell.cabal +nix/templates/haskell/haskell.cabal +nix/templates/haskell/haskell.cabal +nix/templates/haskell/dist-newstyle +nix/templates/haskell/app +nix/templates/haskell/CHANGELOG.md +nix/templates/haskell/LICENSE +nix/templates/haskell/project.nix diff --git a/flake.nix b/flake.nix index e0fd33c..b08b38d 100644 --- a/flake.nix +++ b/flake.nix @@ -24,54 +24,53 @@ gomod2nix, ... }: - let - # TODO: merge overlays into a list - bindingsOverlay = import ./nix/overlays/bindings.nix; - coreOverlay = (final: prev: { - p2prc = final.callPackage ./. { }; - }); - in - (flake-utils.lib.eachDefaultSystem ( - system: - let + (flake-utils.lib.eachDefaultSystem (system: + let - # The current default sdk for macOS fails to compile go projects, so we use a newer one for now. - # This has no effect on other platforms. - callPackage = pkgs.darwin.apple_sdk_11_0.callPackage or pkgs.callPackage; + # TODO: merge overlays into a list + # TODO: create default file in overlays folder to merge all overlays + bindingsOverlay = import ./nix/overlays/bindings.nix; + coreOverlay = (final: prev: { + p2prc = final.callPackage ./. { }; + }); + + # The current default sdk for macOS fails to compile go projects, so we use a newer one for now. + # This has no effect on other platforms. + callPackage = pkgs.darwin.apple_sdk_11_0.callPackage or pkgs.callPackage; - pkgs = import nixpkgs { - inherit system; - overlays = [ - gomod2nix.overlays.default - bindingsOverlay - coreOverlay - ]; - }; + pkgs = import nixpkgs { + inherit system; + overlays = [ + gomod2nix.overlays.default + bindingsOverlay + coreOverlay + ]; + }; - in - { + in + { - packages.default = callPackage ./. { }; + packages.default = callPackage ./. { }; - devShells.default = pkgs.mkShell { - buildInputs = with pkgs; [ - go - gopls - gotools - go-tools - gomod2nix.packages.${system}.default - sqlite-interactive - ]; - }; + devShells.default = pkgs.mkShell { + buildInputs = with pkgs; [ + go + gopls + gotools + go-tools + gomod2nix.packages.${system}.default + sqlite-interactive + ]; + }; - overlays = { - # TODO: merge all overlays into a single one - default = coreOverlay; - bindings = bindingsOverlay; - }; + overlays = { + # TODO: merge all overlays into a single one + default = coreOverlay; + bindings = bindingsOverlay; + }; - } - )); + } + )); } diff --git a/nix/templates/haskell/flake.nix b/nix/templates/haskell/flake.nix index bb734ca..5728c30 100644 --- a/nix/templates/haskell/flake.nix +++ b/nix/templates/haskell/flake.nix @@ -69,6 +69,7 @@ buildInputs = [ p2prc-flake.packages.${system}.default initProject + pkgs.haskellPackages.p2prc ]; shellHook = ''