site/site.nix

52 lines
1.2 KiB
Nix
Raw Normal View History

2020-07-14 21:14:01 +00:00
{ sources ? import ./nix/sources.nix, pkgs ? import sources.nixpkgs { } }:
with pkgs;
2020-07-14 21:14:01 +00:00
let
srcNoTarget = dir:
builtins.filterSource
(path: type: type != "directory" || builtins.baseNameOf path != "target")
dir;
2020-07-14 21:40:11 +00:00
2020-07-14 21:14:01 +00:00
naersk = pkgs.callPackage sources.naersk { };
2020-07-14 21:40:11 +00:00
dhallpkgs = import sources.easy-dhall-nix { inherit pkgs; };
2020-07-14 21:14:01 +00:00
src = srcNoTarget ./.;
2020-07-14 21:40:11 +00:00
2020-07-14 21:14:01 +00:00
xesite = naersk.buildPackage {
inherit src;
2020-07-15 13:27:42 +00:00
buildInputs = [ pkg-config openssl git ];
2020-07-14 21:14:01 +00:00
remapPathPrefix = true;
};
2020-07-14 21:40:11 +00:00
config = stdenv.mkDerivation {
pname = "xesite-config";
version = "HEAD";
buildInputs = [ dhallpkgs.dhall-simple ];
phases = "installPhase";
installPhase = ''
cd ${src}
dhall resolve < ${src}/config.dhall >> $out
'';
};
2020-07-14 21:14:01 +00:00
in pkgs.stdenv.mkDerivation {
inherit (xesite) name;
inherit src;
phases = "installPhase";
2020-07-14 21:14:01 +00:00
installPhase = ''
2020-07-14 21:40:11 +00:00
mkdir -p $out $out/bin
2020-07-14 21:40:11 +00:00
cp -rf ${config} $out/config.dhall
cp -rf $src/blog $out/blog
cp -rf $src/css $out/css
cp -rf $src/gallery $out/gallery
cp -rf $src/signalboost.dhall $out/signalboost.dhall
cp -rf $src/static $out/static
cp -rf $src/talks $out/talks
2020-07-14 21:14:01 +00:00
cp -rf ${xesite}/bin/xesite $out/bin/xesite
'';
}