diff --git a/profiles/neovim.nix b/profiles/neovim.nix
index a5a66fa..089bb42 100644
--- a/profiles/neovim.nix
+++ b/profiles/neovim.nix
@@ -14,7 +14,7 @@
             formatter-nvim # A format runner for neovim
             fugitive # Vim Git wrapper
             fzf-vim # Full path fuzzy file, buffer, mru, tag, finder for Vim
-            haskell-vim # Syntax Highlighting and Indentation for Haskell
+            #haskell-vim # Syntax Highlighting and Indentation for Haskell
             indentLine # Display thin vertical lines at each indentation level
             lualine-nvim
             YouCompleteMe # A code-completion engine for Vim
@@ -193,6 +193,13 @@
               set shiftwidth=2
               set expandtab
               set textwidth=79
+              "let g:haskell_enable_quantification = 1   " to enable highlighting of `forall`
+              "let g:haskell_enable_recursivedo = 1      " to enable highlighting of `mdo` and `rec`
+              "let g:haskell_enable_arrowsyntax = 1      " to enable highlighting of `proc`
+              "let g:haskell_enable_pattern_synonyms = 1 " to enable highlighting of `pattern`
+              "let g:haskell_enable_typeroles = 1        " to enable highlighting of type roles
+              "let g:haskell_enable_static_pointers = 1  " to enable highlighting of `static`
+              "let g:haskell_backpack = 1
           endfunction
           autocmd BufNewFile,BufFilePre,BufRead *.hs :call HaskellSettings()
 
@@ -313,6 +320,7 @@
                 crystal = treefmt,
                 cue = treefmt,
                 go = treefmt,
+                haskell = treefmt,
                 javascript = treefmt,
                 lua = treefmt,
                 mint = treefmt,