- If you haven't already, install Nix
- On POSIX systems, this is usually
curl -L https://nixos.org/nix/install | sh
- On POSIX systems, this is usually
- Run
nix flake show --allow-import-from-derivationto verify that the flake can be read correctly by nix. - Build libraries:
nix build
If you have trouble, refer to the Nix Reference Manual for additional detail.
Because this project uses nix, there's no need to install Stack on your system, you can run it in a shell.
-
Make sure you have the yesod command line tool declared
- Via nix-shell:
nix-shell -p haskellPackages.yesod-bin- Via NixOS Configuration:
environment.systemPackages = [ pkgs.haskellPackages.yesod-bin ]; -
Init a shell:
nix develop -c {your shell interpreter} -
Build libraries:
stack build
If you have trouble, refer to the Yesod Quickstart guide for additional detail.
Start a development server with:
stack exec -- yesod devel
As your code changes, your site will be automatically recompiled and redeployed to localhost.
stack test --flag helloyesod:library-only --flag helloyesod:dev
(Because yesod devel passes the library-only and dev flags, matching those flags means you don't need to recompile between tests and development, and it disables optimization to speed up your test compile times).
- Check nix.dev for the official documentation for the Nix ecosystem.
- Read the Yesod Book online for free
- Check Stackage for documentation on the packages in your LTS Haskell version, or search it using Hoogle. Tip: Your LTS version is in your
stack.yamlfile. - For local documentation, use:
stack haddock --opento generate Haddock documentation for your dependencies, and open that documentation in a browserstack hoogle <function, module or type signature>to generate a Hoogle database and search for your query
- The Yesod cookbook has sample code for various needs
- Ask questions and check other forums on NixOS Discourse
- Ask and contribute to the nix ecosystem on Nix/Nixpkgs/NixOS GitHub
- Ask questions on Stack Overflow, using the Yesod or Haskell tags
- Ask the Yesod Google Group
- There are several chatrooms you can ask for help:
- For IRC, try Freenode#yesod and Freenode#haskell
- Functional Programming Slack, in the #haskell, #haskell-beginners, or #yesod channels.
This project includes code derived from YesodWeb/Yesod, which is licensed under the MIT License.
Additional modifications and original code in this repository are licensed under the BSD 3-Clause License.