40 lines
800 B
Nix
40 lines
800 B
Nix
|
{ haskellPackages, stdenvNoCC }:
|
||
|
|
||
|
let
|
||
|
ghc = haskellPackages.ghcWithPackages (ps: with ps; [
|
||
|
JuicyPixels
|
||
|
json
|
||
|
random
|
||
|
vector-algorithms
|
||
|
]);
|
||
|
|
||
|
# `nix build .#palette-generator.passthru.docs` and open in a web browser
|
||
|
docs = stdenvNoCC.mkDerivation {
|
||
|
name = "palette-generator-haddock";
|
||
|
|
||
|
src = ./.;
|
||
|
buildInputs = [ ghc ];
|
||
|
|
||
|
buildPhase = ''
|
||
|
haddock $src/**/*.hs --html --ignore-all-exports --odir $out
|
||
|
'';
|
||
|
dontInstall = true;
|
||
|
dontFixup = true;
|
||
|
};
|
||
|
|
||
|
in stdenvNoCC.mkDerivation {
|
||
|
name = "palette-generator";
|
||
|
|
||
|
src = ./.;
|
||
|
buildInputs = [ ghc ];
|
||
|
|
||
|
buildPhase = ''
|
||
|
ghc -O -threaded -Wall -Wno-type-defaults Stylix/Main.hs
|
||
|
'';
|
||
|
installPhase = ''
|
||
|
install -D Stylix/Main $out/bin/palette-generator
|
||
|
'';
|
||
|
|
||
|
passthru = { inherit docs; };
|
||
|
}
|