@@ -6,6 +6,7 @@ DEFAULT_BRANCH="master"
6
6
DEFAULT_GENERATE_HOOGLE_DB=true
7
7
DEFAULT_HVN_FULL_INSTALL=true
8
8
DEFAULT_DRY_RUN=false
9
+ DEFAULT_NIX=false
9
10
10
11
if which tput > /dev/null 2>&1 ; then
11
12
ncolors=$( tput colors)
@@ -111,6 +112,7 @@ do_setup() {
111
112
local FULL_INSTALL=$2
112
113
local GENERATE_HOOGLE_DB=$3
113
114
local DRY_RUN=$4
115
+ local NIX=$5
114
116
local setup_path=${HVN_DEST} /scripts/setup.sh
115
117
local setup_haskell_path=${HVN_DEST} /scripts/setup_haskell.hs
116
118
@@ -127,6 +129,7 @@ do_setup() {
127
129
then
128
130
local ARG_NO_HOOGLE_DB=" --no-hoogle"
129
131
local ARG_NO_HELPER_BINS=" --no-helper-bins"
132
+ local ARG_NIX=
130
133
131
134
if [ " $GENERATE_HOOGLE_DB " == true ]
132
135
then
@@ -149,7 +152,12 @@ do_setup() {
149
152
exit_err " Detected stack version \" ${STACK_VER} \" , however version 1.4.0 or later is required."
150
153
fi
151
154
152
- stack $setup_haskell_path $ARG_NO_HOOGLE_DB $ARG_NO_HELPER_BINS ; RETCODE=$?
155
+ if [ " $NIX " == true ]
156
+ then
157
+ ARG_NIX=" --nix"
158
+ fi
159
+
160
+ stack $ARG_NIX $setup_haskell_path $ARG_NO_HOOGLE_DB $ARG_NO_HELPER_BINS ; RETCODE=$?
153
161
[ ${RETCODE} -ne 0 ] && exit_err " setup_haskell.hs failed with error ${RETCODE} ."
154
162
fi
155
163
@@ -162,11 +170,12 @@ main() {
162
170
local FULL_INSTALL=$3
163
171
local GENERATE_HOOGLE_DB=$4
164
172
local DRY_RUN=$5
173
+ local NIX=$6
165
174
local HVN_DEST=" $( config_home) /haskell-vim-now"
166
175
local HVN_DEPENDENCIES_DEST=" $( config_home) /haskell-vim-now"
167
176
168
177
install $REPO_PATH $REPO_BRANCH $HVN_DEST
169
- do_setup $HVN_DEST $FULL_INSTALL $GENERATE_HOOGLE_DB $DRY_RUN
178
+ do_setup $HVN_DEST $FULL_INSTALL $GENERATE_HOOGLE_DB $DRY_RUN $NIX
170
179
}
171
180
172
181
function usage() {
@@ -181,6 +190,8 @@ function usage() {
181
190
echo " Disable Hoogle database generation. The default is $DEFAULT_GENERATE_HOOGLE_DB ."
182
191
echo " --dry-run"
183
192
echo " Perform a dry run for the stack installs. Primarily intended for testing."
193
+ echo " --nix"
194
+ echo " Perform stack build in a nix-shell. For more information see https://docs.haskellstack.org/en/stable/nix_integration"
184
195
exit 1
185
196
}
186
197
@@ -190,6 +201,7 @@ HVN_BRANCH=${HVN_BRANCH:=$DEFAULT_BRANCH}
190
201
HVN_GENERATE_HOOGLE_DB=${HVN_GENERATE_HOOGLE_DB:= $DEFAULT_GENERATE_HOOGLE_DB }
191
202
HVN_FULL_INSTALL=${HVN_FULL_INSTALL:= $DEFAULT_HVN_FULL_INSTALL }
192
203
HVN_DRY_RUN=${HVN_DRY_RUN:= $DEFAULT_DRY_RUN }
204
+ HVN_NIX=${HVN_NIX:= $DEFAULT_NIX }
193
205
194
206
while test -n " $1 "
195
207
do
199
211
--branch) shift ; HVN_BRANCH=$1 ; shift ; continue ;;
200
212
--no-hoogle) shift ; HVN_GENERATE_HOOGLE_DB=false; continue ;;
201
213
--dry-run) shift ; HVN_DRY_RUN=true; continue ;;
214
+ --nix) shift ; HVN_NIX=true; continue ;;
202
215
* ) usage;;
203
216
esac
204
217
done
205
218
206
219
test -n " $HVN_REPO " || usage
207
- main $HVN_REPO $HVN_BRANCH $HVN_FULL_INSTALL $HVN_GENERATE_HOOGLE_DB $HVN_DRY_RUN
220
+ main $HVN_REPO $HVN_BRANCH $HVN_FULL_INSTALL $HVN_GENERATE_HOOGLE_DB $HVN_DRY_RUN $HVN_NIX
0 commit comments