{ description = "Dev shell and builder for tonybtw.com (Makefile + pandoc)"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; outputs = { self, nixpkgs, ... }: let systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; foreach = f: builtins.listToAttrs (map (system: { name = system; value = f system; }) systems); toolsFor = pkgs: [ pkgs.gnumake pkgs.pandoc pkgs.coreutils pkgs.gnused pkgs.gawk pkgs.findutils pkgs.python3 pkgs.bash ]; in { packages = foreach (system: let pkgs = import nixpkgs { inherit system; }; in { default = pkgs.stdenvNoCC.mkDerivation { name = "tonybtw.com"; src = ./.; nativeBuildInputs = toolsFor pkgs; buildPhase = "make site"; installPhase = '' mkdir -p $out cp -r public/. $out/ ''; }; }); devShells = foreach (system: let pkgs = import nixpkgs { inherit system; }; in { default = pkgs.mkShell { packages = toolsFor pkgs ++ [ pkgs.woff2 ]; shellHook = '' export PS1="(tonybtw-dev) $PS1" echo "build: make" echo "serve: make serve (http://localhost:1313)" ''; }; }); }; }