-
-
Notifications
You must be signed in to change notification settings - Fork 47
/
stack-fhs-env.nix
60 lines (57 loc) · 1.41 KB
/
stack-fhs-env.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# This is a nix derivation that gives us a `stack` binary that will run in a
# chroot. This is needed to workaround
# https://github.com/cdepillabout/termonad/issues/99.
#
# This is nice to use if you're having trouble running `stack` on nixos
# normally. It generally shouldn't be needed any other time.
#
# You can use this by starting a `nix-shell` with it:
#
# $ nix-shell --pure .nix-helpers/stack-fhs-env.nix
#
# From here, you can run `stack` normally.
with (import ./nixpkgs.nix {});
let
fhsStack =
buildFHSUserEnv {
name = "stack";
runScript = "stack";
targetPkgs = pkgs: with pkgs; [
binutils
cairo
cairo.dev
git
gnome3.atk
gnome3.gdk_pixbuf
gnome3.glib
gnome3.gtk
gnome3.vte
gnutls
gobjectIntrospection
gtk3
iana-etc
pango
pcre2
pkgconfig
stack
termonadKnownWorkingHaskellPkgSet.ghc
zlib
] ++
stdenv.lib.optional
(stdenv.hostPlatform.libc == "glibc")
glibcLocales;
profile = ''
export STACK_IN_NIX_SHELL=1
export GI_TYPELIB_PATH=/usr/lib/girepository-1.0
export XDG_DATA_DIRS=/usr/share:$XDG_DATA_DIRS
'';
extraOutputsToInstall = ["dev"];
};
in
mkShell {
buildInputs = [
fhsStack
gitAndTools.gitFull
gitAndTools.hub
];
}