git clone https://github.com/harryprayiv/purs-nix-halogen-template.git halogen-project
cd halogen-project/
nix develop
# then wait for the nix shell environment to build
purs-nix compile
vite --open
This is a template for starting a fresh project with the Halogen library for writing declarative, type-safe user interfaces.
You can learn more about Halogen with these resources:
- The Halogen documentation, which includes a quick start guide and a concepts reference.
- The Learn Halogen learning repository.
- The Real World Halogen application and guide. Note that the published article is written for the older halogen v4, but the code and comments cover the current halogen v5.
- The API documentation on Pursuit
You can chat with other Halogen users on the PureScript Discourse, or join the Functional Programming Slack (invite link) in the #purescript
and #purescript-beginners
channels.
If you notice any problems with the below setup instructions, or have suggestions on how to make the new-user experience any smoother, please create an issue or pull-request.
Compatible with PureScript compiler 15.x
Prerequisites: This template assumes you already have nix installed.
First, clone the repository and step into it:
git clone https://github.com/harryprayiv/purs-nix-halogen-template.git halogen-project
cd halogen-project
nix develop
Then, nix will install the PureScript compiler, the Spago package manager and build tool, and the Vite bundler.
You can now build the PureScript source code with:
# An alias for `spago build`
purs-nix compile
You can launch your app in the browser with:
vite --open
If you're using an editor that supports purs ide
or are running pscid
, you simply need to run the command purs-watch
. Any save to a file will trigger an incremental recompilation, rebundle, and web page refresh, so you can immediately see your changes.