2023-06-28 19:00:18 +00:00
|
|
|
{
|
|
|
|
inputs = {
|
2024-07-20 14:40:48 +00:00
|
|
|
nixpkgs = {
|
|
|
|
url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
};
|
|
|
|
flake-parts = {
|
|
|
|
url = "github:hercules-ci/flake-parts";
|
|
|
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
systems = {
|
|
|
|
url = "github:nix-systems/default";
|
|
|
|
};
|
2023-06-28 19:00:18 +00:00
|
|
|
};
|
|
|
|
|
2024-07-20 14:40:48 +00:00
|
|
|
outputs = inputs @ {
|
|
|
|
nixpkgs,
|
|
|
|
flake-parts,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
flake-parts.lib.mkFlake {inherit inputs;} {
|
|
|
|
systems = import inputs.systems;
|
|
|
|
|
|
|
|
perSystem = {
|
|
|
|
pkgs,
|
|
|
|
system,
|
|
|
|
...
|
|
|
|
}: {
|
|
|
|
packages.default = pkgs.stdenvNoCC.mkDerivation {
|
|
|
|
name = "website";
|
|
|
|
src = ./src;
|
|
|
|
dontUnpack = true;
|
2024-09-18 14:08:28 +00:00
|
|
|
buildInputs = [pkgs.minify];
|
2024-07-20 14:40:48 +00:00
|
|
|
installPhase = ''
|
2024-09-18 14:08:28 +00:00
|
|
|
mkdir workspace # create workspace directory
|
|
|
|
cp -v -r $src/* workspace # copy all files to workspace
|
|
|
|
chmod -v -R u+w workspace # enable write permissions
|
|
|
|
mkdir -v minified # create minified directory
|
|
|
|
minify -v -r -o minified workspace # minify all compatible files
|
|
|
|
mkdir -v -p $out # create output directory
|
|
|
|
cp -v -r workspace/* $out # copy files to output directory
|
|
|
|
cp -v -r minified/workspace/* $out # copy minified files to output directory
|
2024-07-20 14:40:48 +00:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-06-28 19:00:18 +00:00
|
|
|
}
|