105 lines
2.9 KiB
Nix
105 lines
2.9 KiB
Nix
{
|
|
description = "Source for mala-zahradka-pro-radost.cz";
|
|
|
|
inputs = {
|
|
flake-compat = {
|
|
url = "github:edolstra/flake-compat";
|
|
flake = false;
|
|
};
|
|
|
|
haskellNix.url = "github:input-output-hk/haskell.nix";
|
|
|
|
nixpkgs.follows = "haskellNix/nixpkgs-unstable";
|
|
|
|
hakyll-contrib-tojnar = {
|
|
url = "gitlab:tojnar.cz/hroch?ref=d82a20509e9bd3705ac1edc07677d68109768a70";
|
|
flake = false;
|
|
};
|
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
nixConfig = {
|
|
extra-substituters = ["https://cache.iog.io"];
|
|
extra-trusted-public-keys = ["hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="];
|
|
allow-import-from-derivation = "true";
|
|
};
|
|
|
|
outputs = { self, flake-compat, haskellNix, hakyll-contrib-tojnar, nixpkgs, flake-utils }:
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
compiler = "ghc925";
|
|
|
|
overlays = [
|
|
haskellNix.overlay
|
|
|
|
(final: prev: {
|
|
mala-zahradka-pro-radost-cz =
|
|
final.haskell-nix.project' {
|
|
src = ./site;
|
|
compiler-nix-name = compiler;
|
|
shell.tools = {
|
|
cabal = {};
|
|
};
|
|
inputMap = {
|
|
"https://gitlab.com/tojnar.cz/hroch/master" = hakyll-contrib-tojnar;
|
|
};
|
|
};
|
|
})
|
|
];
|
|
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
inherit overlays;
|
|
inherit (haskellNix) config;
|
|
};
|
|
|
|
flake = pkgs.mala-zahradka-pro-radost-cz.flake {
|
|
crossPlatforms = p: [
|
|
p.mingwW64
|
|
];
|
|
};
|
|
in flake // {
|
|
devShells = {
|
|
default = pkgs.mkShell {
|
|
nativeBuildInputs = [
|
|
self.packages.${system}.default
|
|
pkgs.vips
|
|
];
|
|
};
|
|
haskell = flake.devShells.default;
|
|
};
|
|
|
|
packages = {
|
|
default = flake.packages."mala-zahradka-pro-radost-cz:exe:site";
|
|
win = flake.packages."x86_64-w64-mingw32:mala-zahradka-pro-radost-cz:exe:site";
|
|
roots = pkgs.haskell-nix.roots compiler;
|
|
winCombined =
|
|
let
|
|
version = "8.14.1";
|
|
vips = pkgs.fetchzip {
|
|
url = "https://github.com/libvips/build-win64-mxe/releases/download/v${version}/vips-dev-w64-all-${version}.zip";
|
|
hash = "sha256-yGAoRwyfeMTiDSSOfWJp32N85Z8Jdyw8wrvEvmx7BWM=";
|
|
};
|
|
in
|
|
pkgs.runCommand
|
|
"generator"
|
|
{
|
|
nativeBuildInputs = [
|
|
pkgs.zip
|
|
];
|
|
}
|
|
''
|
|
mkdir -p "$out"
|
|
mkdir generator
|
|
cp -r "${vips}/bin" "vips"
|
|
cp -r "${self.packages.${system}.win}/bin" "site"
|
|
zip -9 -r -q "$out/site-bundle.zip" vips/ site/
|
|
'';
|
|
};
|
|
|
|
legacyPackages = pkgs;
|
|
}
|
|
);
|
|
}
|