Browse Source

nix x hakyll

master
Julien Marquet 3 years ago
parent
commit
f99398380a
  1. 27
      default.nix
  2. 8
      release.nix
  3. 1
      shell.nix
  4. 9
      src/index.html
  5. 3
      ssg/default.nix
  6. 10
      ssg/src/Main.hs
  7. 12
      ssg/ssg.cabal

27
default.nix

@ -0,0 +1,27 @@
{ pkgs ? import <nixpkgs> {} }:
rec {
ssg = import ./ssg { inherit pkgs; };
shell = pkgs.haskellPackages.shellFor {
withHoogle = true;
packages = p: [ ssg ];
buildInputs = [
ssg
pkgs.haskellPackages.cabal-install
pkgs.haskellPackages.haskell-language-server
pkgs.haskellPackages.cabal2nix
];
};
site = pkgs.stdenv.mkDerivation {
name = "recursorwf";
src = ./src;
buildPhase = ''
${ssg}/bin/ssg build
ls
'';
installPhase = ''
mv _site $out
'';
};
}

8
release.nix

@ -1,4 +1,6 @@
let pkgs = import <nixpkgs> {}; in
{
inherit (pkgs) hello;
let
pkgs = import <nixpkgs> {};
site = (import ./default.nix { inherit pkgs; }).site;
in {
site = site;
}

1
shell.nix

@ -0,0 +1 @@
(import ./default.nix {}).shell

9
src/index.html

@ -0,0 +1,9 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
recursor.wf
</body>
</html>

3
ssg/default.nix

@ -0,0 +1,3 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.haskellPackages.callCabal2nix "ssg"
(pkgs.lib.sourceByRegex ./. [ "^ssg\.cabal$" "^src.*" ]) {}

10
ssg/src/Main.hs

@ -0,0 +1,10 @@
{-# LANGUAGE OverloadedStrings #-}
import Hakyll
main :: IO ()
main = hakyll $ do
match "index.html" $ do
route idRoute
compile copyFileCompiler

12
ssg/ssg.cabal

@ -0,0 +1,12 @@
cabal-version: 2.4
name: ssg
version: 0.1.0.0
executable ssg
main-is: Main.hs
hs-source-dirs: src
build-depends: base >= 4.14
, hakyll
, pandoc
default-language: Haskell2010
Loading…
Cancel
Save