Use this when working on a Haskell project with Nix. Covers haskell-flake setup, adding/overriding dependencies, package settings, and devShell configuration.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add srid/emanote --skill nix-haskell --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Nix Haskell?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/srid-nix-haskell-emanote)More formats (shields.io, HTML) on the badges page.
---
name: nix-haskell
description: Use this when working on a Haskell project with Nix. Covers haskell-flake setup, adding/overriding dependencies, package settings, and devShell configuration.
---
# Haskell + Nix with haskell-flake
Use [haskell-flake](https://github.com/srid/haskell-flake) — a flake-parts module. Start from [haskell-template](https://github.com/srid/haskell-template). Requires a `.cabal` or `cabal.project` file; haskell-flake scans for it automatically.
## Starting a new project
**You MUST use `git clone https://github.com/srid/haskell-template <project-dir>` to start a new project.** Do NOT fetch individual files, do NOT use `om init`, do NOT write flake.nix from scratch. Clone the template, then rename the package in `.cabal` and `nix/modules/flake/haskell.nix`.
## Project structure
Projects based on haskell-template use [nixos-unified](https://nixos-unified.org) autowiring. **Do NOT write Nix configuration inline in `flake.nix`.** The `flake.nix` delegates entirely to `nixos-unified`, and all Nix configuration goes in **`./nix/modules/flake/*.nix`** files.
## Docs
- haskell-flake guide: https://community.flake.parts/haskell-flake
- haskell-flake options: https://flake.parts/options/haskell-flake
- haskell-template: https://github.com/srid/haskell-template
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!
Understand the components, mechanics, and constraints of context in agent systems. Use when designing agent architectures, debugging context-related failures, or optimizing context usage.
Draft release notes and changelog entries from git history or merged PRs between two refs (tags/SHAs/branches), including breaking changes, migrations, and upgrade steps. Use when the user asks for release notes, changelog updates, or a GitHub Release draft.
Documentation style guide enforcer by @planetabhi. Applies and reviews the writing style guide when authoring or editing product documentation and tutorials. Use to check prose for voice, tense, word choice, inclusive language, formatting, code block, UI, Markdown, and number/date conventions.
Quick-reference card for all caveman modes, skills, and commands. One-shot display, not a persistent mode. Trigger: /caveman-help, "caveman help", "what caveman commands", "how do I use caveman".
Explain how claude-mem captures observations, when memory injection kicks in, and where data lives. Use when the user asks "how does claude-mem work?" or "what is this thing doing?".