diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..bfe2391 --- /dev/null +++ b/default.nix @@ -0,0 +1,11 @@ +{ pkgs ? import (import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz)) +, haskellCompiler ? "ghc865" +}: + pkgs.haskell-nix.cabalProject { + src = pkgs.haskell-nix.haskellLib.cleanGit { src = ./.; }; + ghc = pkgs.buildPackages.pkgs.haskell-nix.compiler.${haskellCompiler}; + modules = [ + { packages."fail".components."library".doHaddock = false; + } + ]; + } diff --git a/shell.nix b/shell.nix index f41980d..32a1811 100644 --- a/shell.nix +++ b/shell.nix @@ -1,33 +1,4 @@ -{ nixpkgs ? import {}, compiler ? "default", doBenchmark ? false }: - let - - inherit (nixpkgs) pkgs; - - f = { mkDerivation, aeson, base, filepath, hakyll, HTTP, stdenv - , time - }: - mkDerivation { - pname = "chaoszone"; - version = "0.0.0.0"; - src = ./.; - isLibrary = false; - isExecutable = true; - executableHaskellDepends = [ - aeson base filepath hakyll HTTP time - ]; - homepage = "https://chaoszone.cz"; - license = stdenv.lib.licenses.publicDomain; - }; - - haskellPackages = if compiler == "default" - then pkgs.haskellPackages - else pkgs.haskell.packages.${compiler}; - - variant = if doBenchmark then pkgs.haskell.lib.doBenchmark else pkgs.lib.id; - - drv = variant (haskellPackages.callPackage f {}); - + hsPkgs = import ./default.nix {}; in - - if pkgs.lib.inNixShell then drv.env else drv + hsPkgs.chaoszone.components.all