Website built with nix and hakyll
Go to file
Robert Pearce eb85b25e87
load CSS & JS from relative paths
2020-09-22 21:58:16 -04:00
.github get names right... 2020-09-22 21:06:34 -04:00
generator update README; remove NZ things; don't list hlint as a tool 2020-09-22 21:55:39 -04:00
nix update README; remove NZ things; don't list hlint as a tool 2020-09-22 21:55:39 -04:00
src load CSS & JS from relative paths 2020-09-22 21:58:16 -04:00
.envrc let's see how we go... 2020-09-21 22:03:52 -04:00
.ghci let's see how we go... 2020-09-21 22:03:52 -04:00
.gitignore let's see how we go... 2020-09-21 22:03:52 -04:00
LICENSE Initial commit 2020-09-21 13:10:54 +00:00
README.md update README; remove NZ things; don't list hlint as a tool 2020-09-22 21:55:39 -04:00
default.nix get names right... 2020-09-22 21:06:34 -04:00
shell.nix let's see how we go... 2020-09-21 22:03:52 -04:00

README.md

hakyll-nix-template

built with nix

Hakyll + Nix template

Features

tl;dr: nix-build will collect all your pinned dependencies, build your hakyll site, and output the built site in a result/ directory. If you set up the main GitHub Action with what it needs (your cachix cache, and your app needs a CACHIX_SIGNING_KEY secret), it will deploy your built site to a gh-pages branch.

  • Hakyll (see the generator folder)
    • Haskell nix-shell environment inside the generator folder through which you can run hakyll-site watch and all other hakyll commands, including the ability to run ghci and load haskell modules for testing
    • Ability to patch hakyll via hakyll.patch
    • Ability to provide nixpkgs overrides for packages whose versions need to come from hackage
    • RSS & Atom XML feed generation
    • Sitemap generation
    • Reasonable pandoc markdown customization to make it as close to GitHub's style as possible
    • Slug.hs module that makes nice URIs
    • Many other opinionated general website setup features that should be very helpful
  • Nix
    • Pinned nixpkgs, niv, and pre-commit-hooks.nix
    • nix-build will build your site into a result/ directory
    • nix-shell in the root will give you a shell with the tools dependencies in ./nix/default.nix
    • nix-shell in ./generator will give you a haskell shell with your hakyll-site available, as well as ghci
  • Dev linting via pre-commit-hooks.nix
  • Encourages dev use of lorri
  • Deployment through a GitHub Actions build with cachix and deploying to GitHub Pages via a gh-pages branch