website/flake.nix

47 lines
1.4 KiB
Nix
Raw Normal View History

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
}