From 5a36ec328f51e4e75d901ea94dacb73b90582c4c Mon Sep 17 00:00:00 2001 From: Paul Brinkmeier Date: Tue, 25 Jun 2024 22:30:15 +0200 Subject: [PATCH] Use cabal2nix for flake expression --- flake.nix | 41 ++++++++++++++++------------------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/flake.nix b/flake.nix index 3f94d38..a6a9003 100644 --- a/flake.nix +++ b/flake.nix @@ -3,33 +3,24 @@ outputs = { self, nixpkgs }: let - pkgs = nixpkgs.legacyPackages.x86_64-linux; + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + opium = pkgs.haskellPackages.developPackage { + root = ./.; + modifier = drv: + pkgs.haskell.lib.addBuildTools drv [ + pkgs.cabal-install + pkgs.haskellPackages.implicit-hie + pkgs.haskell-language-server + ]; + }; in { - apps.x86_64-linux.cabal = { - type = "app"; - program = "${nixpkgs.legacyPackages.x86_64-linux.cabal-install}/bin/cabal"; + packages.${system}.opium = pkgs.haskell.lib.overrideCabal opium { + # Currently the tests require a running Postgres instance. + # This is not automated yet, so don't export the tests. + doCheck = false; }; - devShells.x86_64-linux.default = pkgs.mkShell { - packages = [ - pkgs.cabal-install - pkgs.haskellPackages.implicit-hie - (pkgs.ghc.withPackages (hp: with hp; [ - attoparsec - containers - bytestring - hspec - postgresql-libpq - text - time - transformers - vector - ])) - pkgs.haskell-language-server - ]; - shellHook = '' - PS1=" ''${PS1}" - ''; - }; + devShells.${system}.default = opium.env; }; }