neuron: Haskell meets Zettelkasten, for your plain-text delight.

[ agpl, library, program, web ] [ Propose Tags ]

neuron is a system for managing your plain-text Zettelkasten notes.

[Skip to Readme]
Versions [faq],,,
Change log
Dependencies aeson, aeson-gadt-th, algebraic-graphs (>=0.5), base (>=4.12 && <4.14), clay, containers, data-default, dependent-sum, dependent-sum-template, dhall (>=1.30), directory, exceptions, file-embed, filepath, filepattern, foldl, gitrev, lucid, megaparsec (>=8.0), mmark, mmark-ext, modern-uri, mtl, optparse-applicative, pandoc, parser-combinators, relude, rib (==0.10.*), shake, text, time, unix, uuid, which, with-utf8 [details]
License BSD-3-Clause
Copyright 2020 Sridhar Ratnakumar
Author Sridhar Ratnakumar
Category Web
Home page
Bug tracker
Source repo head: git clone
Uploaded by sridca at 2020-05-09T16:01:39Z
Distributions NixOS:
Executables neuron
Downloads 374 total (11 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2020-05-09 [all 2 reports]


  • Data
    • Graph
      • Data.Graph.Labelled
        • Data.Graph.Labelled.Algorithm
        • Data.Graph.Labelled.Build
        • Data.Graph.Labelled.Type
    • Data.PathTree
    • Data.TagTree
  • Neuron
    • Zettelkasten
      • Neuron.Zettelkasten.ID
      • Neuron.Zettelkasten.Zettel
        • Neuron.Zettelkasten.Zettel.Meta
  • Text
    • Megaparsec
      • Text.Megaparsec.Simple



Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for neuron-

[back to package description]

<img width="10%" src="./assets/logo.svg">


BSD3 built with nix Zulip chat

neuron is a system for managing your plain-text Zettelkasten notes.


  • Extended Markdown for easy linking between zettels
  • Web interface (auto generated static site)
  • Graph view of zettels (organic category tree)
  • CLI for creating new zettels with automatic ID

Getting started

See for the full guide to installing and using neuron.


When modifying src/Neuron, use ghcid as instructed as follows to monitor compile errors:

nix-shell --run ghcid

You can test your changes by running it on the ./guide (or any) zettelkasten as follows:

bin/run -d ./guide rib -wS

This command will also automatically recompile and restart when you change any of the Haskell source files.

Running tests

Unit tests can be run via ghcid as follows: