regenerate shell.nix
This commit is contained in:
parent
15739b2313
commit
6f452209dd
1 changed files with 32 additions and 35 deletions
59
shell.nix
59
shell.nix
|
@ -1,38 +1,35 @@
|
|||
# shell.nix
|
||||
{ nixpkgs ? import <nixpkgs> {}, compiler ? "default", doBenchmark ? false }:
|
||||
|
||||
let
|
||||
project = import ./default.nix;
|
||||
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
|
||||
#];
|
||||
inherit (nixpkgs) pkgs;
|
||||
|
||||
# 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";
|
||||
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;
|
||||
};
|
||||
# See overlays/tools.nix for more details
|
||||
|
||||
# Some you may need to get some other way.
|
||||
buildInputs = [ (import <nixpkgs> {}).git ];
|
||||
haskellPackages = if compiler == "default"
|
||||
then pkgs.haskellPackages
|
||||
else pkgs.haskell.packages.${compiler};
|
||||
|
||||
# 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
|
||||
#];
|
||||
variant = if doBenchmark then pkgs.haskell.lib.doBenchmark else pkgs.lib.id;
|
||||
|
||||
# Prevents cabal from choosing alternate plans, so that
|
||||
# *all* dependencies are provided by Nix.
|
||||
exactDeps = true;
|
||||
}
|
||||
drv = variant (haskellPackages.callPackage f {});
|
||||
|
||||
in
|
||||
|
||||
if pkgs.lib.inNixShell then drv.env else drv
|
||||
|
|
Loading…
Reference in a new issue