2023-03-25 12:43:23 +02:00
|
|
|
{
|
2023-04-03 21:41:49 +03:00
|
|
|
nixConfig = {
|
|
|
|
trusted-substituters = "https://cache.nixos.org/";
|
|
|
|
trusted-public-keys = "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=";
|
|
|
|
extra-experimental-features = "nix-command flakes";
|
|
|
|
};
|
2023-03-25 12:43:23 +02:00
|
|
|
inputs = {
|
2023-03-25 12:48:37 +02:00
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11-small";
|
2023-03-25 12:43:23 +02:00
|
|
|
flake-compat = {
|
|
|
|
url = "github:edolstra/flake-compat";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
};
|
2023-04-03 21:41:49 +03:00
|
|
|
outputs = {
|
2023-04-03 22:03:11 +03:00
|
|
|
self,
|
2023-04-03 21:41:49 +03:00
|
|
|
nixpkgs,
|
|
|
|
flake-utils,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
flake-utils.lib.eachDefaultSystem (system: let
|
|
|
|
pkgs = import nixpkgs {inherit system;};
|
|
|
|
devDeps = with pkgs; [bash hugo zopfli brotli parallel];
|
|
|
|
in {
|
|
|
|
devShells.default = pkgs.mkShell {
|
|
|
|
packages = devDeps;
|
|
|
|
};
|
|
|
|
|
2023-04-03 22:03:11 +03:00
|
|
|
# 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
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2023-04-03 21:41:49 +03:00
|
|
|
# TODO how to run scripts/build as a result of `nix run .`?
|
|
|
|
#packages = flake-utils.lib.mkApp {
|
|
|
|
# name = "build
|
|
|
|
#};
|
|
|
|
|
|
|
|
formatter = pkgs.alejandra;
|
|
|
|
});
|
2023-03-25 12:43:23 +02:00
|
|
|
}
|