Use cabal2nix for flake expression
This commit is contained in:
parent
19a1aa26e4
commit
5a36ec328f
41
flake.nix
41
flake.nix
@ -3,33 +3,24 @@
|
|||||||
|
|
||||||
outputs = { self, nixpkgs }:
|
outputs = { self, nixpkgs }:
|
||||||
let
|
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 {
|
in {
|
||||||
apps.x86_64-linux.cabal = {
|
packages.${system}.opium = pkgs.haskell.lib.overrideCabal opium {
|
||||||
type = "app";
|
# Currently the tests require a running Postgres instance.
|
||||||
program = "${nixpkgs.legacyPackages.x86_64-linux.cabal-install}/bin/cabal";
|
# 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
|
devShells.${system}.default = opium.env;
|
||||||
];
|
|
||||||
shellHook = ''
|
|
||||||
PS1="<opium> ''${PS1}"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user