Generate Halogen Project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
piq9117 047446952b using parsec in path-parser (#48) 6 days ago
app switched prelude (#46) 1 week ago
nix using parsec in path-parser (#48) 6 days ago
src using parsec in path-parser (#48) 6 days ago
templates generate routing with init (#38) (#39) 1 week ago
.gitignore command (#1) 1 month ago
.stylish-haskell.yaml initial setup 1 month ago
CHANGELOG.md changelog update (#41) 1 week ago
LICENSE initial setup 1 month ago
Makefile HTML directory rename (#9) 1 month ago
README.md readme update (#43) 1 week ago
Setup.hs initial setup 1 month ago
shell.nix using parsec in path-parser (#48) 6 days ago
umu-halogen.cabal using parsec in path-parser (#48) 6 days ago

README.md

umu-halogen

umu-halogen: Generate Halogen Project

Usage: umu-halogen COMMAND
  Use umu-halogen to generate a scaffold for a halogen project

Available options:
  -h,--help                Show this help text
  -v,--version             Show version

Available commands:
  init                     Initialize scaffold
  component                Generate a component

Installation with cabal

First, clone the repository, then run these commands inside the project:

cabal new-build
cabal new-install exe:umu-halogen # installs to ~/.cabal/bin

Installation with Nix

{ mkDerivation, fetchzip, stdenv, base, classy-prelude, transformers, mtl
, text, bytestring, optparse-applicative
, ansi-terminal, file-embed, turtle, microlens, casing
}:
mkDerivation rec {
  pname = "umu-halogen";
  version = <insert version here. Found in release tags>;
  src = fetchzip {
    url = "https://github.com/taezos/umu-halogen/archive/v${version}.tar.gz"
    sha256 = <Obtained by running nix-prefetch-url --unpack https://github.com/taezos/umu-halogen/archive/v<version here>.tar.gz in the command line>
  };
  isLibrary = false;
  isExecutable = true;
  executableHaskellDepends = [
    base classy-prelude transformers mtl
    text bytestring optparse-applicative
    ansi-terminal file-embed turtle microlens casing
  ];
  license = stdenv.lib.licenses.asl20;
}

Then in your default nix file do an import

{ nixpkgs ? import <nixpkgs> {} }:

let
  inherit (nixpkgs) pkgs;
  inherit (pkgs) haskellPackages;
  inherit (haskellPackages) callPackage;

in
  {
    ...

    umu-halogen = callPackage ./umu-halogen.nix {};

    ...
  }