{ inputs = { 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"; }; }; 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; buildInputs = [pkgs.minify]; installPhase = '' 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 ''; }; }; }; }