         projectile-project-compilation-cmd "nix-hs-build"
         ghc-module-command "nix-hs-ghc-mod"
 
+        haskell-compile-cabal-build-command "nix-hs-build"
         haskell-process-type 'cabal-repl
         haskell-process-suggest-language-pragmas t
         haskell-process-suggest-remove-import-lines t


  ;; And add some of my own (Note: "C-c TAB" is really "C-c i")
  (let ((map haskell-mode-map))
    (define-key map (kbd "C-c h") 'hydra-haskell/body)
    (define-key map (kbd "C-c TAB") 'haskell-navigate-imports)
    (define-key map (kbd "C-c C-c") 'pjones:haskell-compile)
    (define-key map (kbd "C-c C-e") 'pjones:haskell-edit-cabal-file)
    (define-key map (kbd "C-c C-s") 'pjones:haskell-sort-imports)
    (define-key map (kbd "C-c C-v") 'pjones:haskell-lint-all)
    (define-key map (kbd "C-c M-m") 'pjones:haskell-new-module)
    (define-key map (kbd "C-c M-w") 'pjones:haskell-module-name-to-kill-ring)
    (define-key map (kbd "M-RET")   'pjones:haskell-smart-newline)))

(add-hook 'haskell-mode-hook 'pjones:haskell-mode-hook)
(add-hook 'haskell-mode-hook 'haskell-indentation-mode)
(add-hook 'haskell-mode-hook 'interactive-haskell-mode)
(add-hook 'haskell-cabal-mode-hook 'pjones:prog-mode-hook)

;; Local Variables:


(defhydra hydra-haskell (:hint nil)
  "
^Imports^     ^GHCi^        ^Insert^            ^Run
^^^^^^^^^----------------------------------------------------
_i_: jump     _g_: ghci     _S_: cost center    _c_: compile
_I_: return   _r_: reload   ^ ^                 _R_: run
_s_: sort     _t_: type     ^ ^
"
  ("i" haskell-navigate-imports)
  ("I" haskell-navigate-imports-return :color blue)
  ("s" haskell-sort-imports)
  ("g" haskell-interactive-switch :color blue)
  ("r" haskell-process-reload)
  ("t" haskell-process-do-type :color blue)
  ("S" haskell-mode-toggle-scc-at-point :color blue)
  ("c" pjones:haskell-compile :color blue)
  ("R" projectile-run-project :color blue))

(defun pjones:haskell-mode-hook ()
  "Hook run on new Haskell buffers."
