Halogen Template
Quick Start
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
Introduction
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
Initial Setup
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.
Building
You can now build the PureScript source code with:
# An alias for `spago build`
purs-nix compile
Launching the App
You can launch your app in the browser with:
vite --open
Development Cycle
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.