.gitignore for Haskell

Haskell Stack/Cabal build artifacts, compiled objects, and package database.

Quick presets

Selected (1)
Haskell
Your selections never leave your browser. Generation happens entirely client-side.
Raw

23 patterns · 371 B

# Generated by DevZone Tools — https://devzone.tools/tools/gitignore-generator
# Templates: Haskell
# 2026-04-20

# ---- Haskell ----
# Haskell
dist
dist-*
cabal-dev
*.o
*.hi
*.hie
*.chi
*.chs.h
*.dyn_o
*.dyn_hi
.hpc
.hsenv
.cabal-sandbox/
cabal.sandbox.config
*.prof
*.aux
*.hp
*.eventlog
.stack-work/
cabal.project.local
cabal.project.local~
.HTF/
.ghc.environment.*

What this template ignores

Ignores Cabal and Stack build artifacts (dist/, .stack-work/), compiled interface files (.hi, .o), profiling data, and sandbox configurations.

Frequently asked questions

Do I need to commit .gitignore?
Yes — .gitignore should be committed to the repository so all collaborators benefit from the same ignore rules.
How do I add custom patterns?
Open your .gitignore file and add the pattern on a new line. Use # for comments, * for wildcards, / to match directories, and ! to un-ignore a previously ignored path.
How do I ignore a file that is already tracked?
Adding a file to .gitignore does not remove it from tracking if it was previously committed. Run: git rm --cached <file> to stop tracking it without deleting the file locally.
Should I commit cabal.project.freeze?
Yes for reproducible builds — it pins exact versions. For libraries, it is optional.

Looking for something else? Browse all templates →