Skip to content
only in name
Haskell Nix Makefile Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
backend
common
frontend
packages
reflex
scripts
.gitignore
.gitmodules
.hlint.yaml
.travis.yml Add checks for brittany and hlint Nov 28, 2019
README.md
brittany.yaml
cabal-ghcjs.project
cabal.project
default.nix
deployment.nix
hpack-shell.nix
makefile
shell.nix
travis-shell.nix

README.md

Jappiejappie Build status Jappiejappie Jappiejappie Jappiejappie

This is a reference project for my blog posts about Haskell web services. Usually my workflow is:

  1. Find something cool out during work, let's call it A.
  2. Port A to this project.
  3. Write words about A on my blog

I link to branches from blog post to make sure they remain relevant and not cluttered from the result of new blog posts. Branches also allow me to do fixes when necessary. Currently the ones I've wrote about are:

Building

A good dev setup is available with:

make ghcid

Adding dependencies now takes updating two dependency list, checkout this blogpost for the complete description.

Production builds can be made with nix. You can significantly speedup the building of dependencies by adding the following binary cache to your configuration.nix:

  nix = {
    binaryCaches = [
      "https://jappie.cachix.org"
    ];
    binaryCachePublicKeys = [
      "jappie.cachix.org-1:+5Liddfns0ytUSBtVQPUr/Wo6r855oNLgD4R8tm1AE4="
    ];
  };

This will be automatically updated with help of travis CI.

Deploy to AWS EC2 with NixOps

  • On your AWS console, create a security group called "awesome" in the Oregon region. Give it inbound TCP 22 and 6868 permission.
  • nixops create -d awesome deployment.nix
  • nixops set-args -d awesome --argstr keyPair <your-aws-key.pem>
  • nixops set-args -d awesome --argstr accessKeyId <your-aws-access-key>
  • nixops deploy -d awesome

Similar projects

Other people have had similar ideas:

You can’t perform that action at this time.