eb85b25e87 | ||
---|---|---|
.github | ||
generator | ||
nix | ||
src | ||
.envrc | ||
.ghci | ||
.gitignore | ||
LICENSE | ||
README.md | ||
default.nix | ||
shell.nix |
README.md
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 thegenerator
folder through which you can runhakyll-site watch
and all other hakyll commands, including the ability to runghci
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
- Haskell
- Nix
- Pinned nixpkgs, niv, and pre-commit-hooks.nix
nix-build
will build your site into aresult/
directorynix-shell
in the root will give you a shell with thetools
dependencies in ./nix/default.nixnix-shell
in ./generator will give you a haskell shell with yourhakyll-site
available, as well asghci
- 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