regenerate shell.nix

This commit is contained in:
nek0 2021-11-21 09:03:59 +01:00
parent 15739b2313
commit 6f452209dd
1 changed files with 32 additions and 35 deletions

View File

@ -1,38 +1,35 @@
# shell.nix
{ nixpkgs ? import <nixpkgs> {}, compiler ? "default", doBenchmark ? false }:
let
project = import ./default.nix;
inherit (nixpkgs) pkgs;
f = { mkDerivation, base, directory, filepath, hakyll, HTTP, lib
, time
}:
mkDerivation {
pname = "nek0-blog";
version = "0.1.0.0";
src = ./.;
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [
base directory filepath hakyll HTTP time
];
homepage = "https://nek0.eu";
description = "My blog";
license = "unknown";
hydraPlatforms = lib.platforms.none;
};
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 {});
in
project.shellFor {
# ALL of these arguments are optional.
# List of packages from the project you want to work on in
# the shell (default is all the projects local packages).
#packages = ps: with ps; [
# pkga
# pkgb
#];
# Builds a Hoogle documentation index of all dependencies,
# and provides a "hoogle" command to search the index.
withHoogle = false;
# Some common tools can be added with the `tools` argument
tools = {
cabal = "latest";
hakyll = "latest";
};
# See overlays/tools.nix for more details
# Some you may need to get some other way.
buildInputs = [ (import <nixpkgs> {}).git ];
# Sellect cross compilers to include.
#crossPlatforms = ps: with ps; [
# ghcjs # Adds support for `js-unknown-ghcjs-cabal build` in the shell
# # mingwW64 # Adds support for `x86_64-W64-mingw32-cabal build` in the shell
#];
# Prevents cabal from choosing alternate plans, so that
# *all* dependencies are provided by Nix.
exactDeps = true;
}
if pkgs.lib.inNixShell then drv.env else drv