jakstys.lt/flake.nix

56 lines
1.5 KiB
Nix
Raw Normal View History

2023-03-25 10:43:23 +00:00
{
2023-04-03 18:41:49 +00: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 10:43:23 +00:00
inputs = {
2023-08-05 14:12:41 +00:00
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
2023-03-25 10:43:23 +00:00
flake-utils.url = "github:numtide/flake-utils";
};
2023-04-03 18:41:49 +00:00
outputs = {
2023-04-03 19:03:11 +00:00
self,
2023-04-03 18:41:49 +00:00
nixpkgs,
flake-utils,
...
}:
flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs {inherit system;};
2023-04-13 08:45:39 +00:00
devDeps = with pkgs; [hugo brotli zopfli parallel];
2023-04-03 18:41:49 +00:00
in {
devShells.default = pkgs.mkShell {
2023-07-25 06:38:54 +00:00
LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
2023-04-03 18:41:49 +00:00
packages = devDeps;
};
2023-04-03 19:03:11 +00: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
2023-04-04 07:12:28 +00:00
find public \
2023-04-03 19:03:11 +00:00
-name '*.html' -or \
-name '*.xml' -or \
-name '*.txt' -or \
-name '*.css' -or \
2023-08-27 14:44:39 +00:00
-name '*.map' -or \
-name '*.pdf' | \
2023-04-03 19:03:11 +00:00
${pkgs.parallel}/bin/parallel --eta \
"${pkgs.zopfli}/bin/zopfli {} && ${pkgs.brotli}/bin/brotli {}"
'';
installPhase = ''
2023-04-04 07:12:28 +00:00
mv public $out
2023-04-03 19:03:11 +00:00
'';
};
2023-04-03 18:41:49 +00:00
formatter = pkgs.alejandra;
});
2023-03-25 10:43:23 +00:00
}