|
|
|
@ -13,6 +13,7 @@
|
|
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
|
};
|
|
|
|
|
outputs = {
|
|
|
|
|
self,
|
|
|
|
|
nixpkgs,
|
|
|
|
|
flake-utils,
|
|
|
|
|
...
|
|
|
|
@ -22,16 +23,42 @@
|
|
|
|
|
devDeps = with pkgs; [bash hugo zopfli brotli parallel];
|
|
|
|
|
in {
|
|
|
|
|
devShells.default = pkgs.mkShell {
|
|
|
|
|
name = "rules_nixpkgs_shell";
|
|
|
|
|
packages = devDeps;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# TODO: cache
|
|
|
|
|
defaultPackage = pkgs.stdenv.mkDerivation {
|
|
|
|
|
pname = "jakstys.lt";
|
|
|
|
|
version = "1.0.0";
|
|
|
|
|
|
|
|
|
|
src = pkgs.lib.cleanSource self;
|
|
|
|
|
|
|
|
|
|
buildInputs = [pkgs.hugo];
|
|
|
|
|
|
|
|
|
|
buildPhase = ''
|
|
|
|
|
${pkgs.hugo}/bin/hugo --cleanDestinationDir --printPathWarnings --panicOnWarning --log
|
|
|
|
|
cd public
|
|
|
|
|
find . \
|
|
|
|
|
-name '*.html' -or \
|
|
|
|
|
-name '*.xml' -or \
|
|
|
|
|
-name '*.txt' -or \
|
|
|
|
|
-name '*.css' -or \
|
|
|
|
|
-name '*.map' | \
|
|
|
|
|
${pkgs.parallel}/bin/parallel --eta \
|
|
|
|
|
"${pkgs.zopfli}/bin/zopfli {} && ${pkgs.brotli}/bin/brotli {}"
|
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
|
cd ..
|
|
|
|
|
mv public $out
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# TODO how to run scripts/build as a result of `nix run .`?
|
|
|
|
|
#packages = flake-utils.lib.mkApp {
|
|
|
|
|
# name = "build
|
|
|
|
|
#};
|
|
|
|
|
|
|
|
|
|
formatter = pkgs.alejandra;
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|