{ description = "Wedding site for Chris & Scotia 2023."; inputs = { flake-utils.url = "github:numtide/flake-utils"; }; outputs = inputs @ { self, nixpkgs, ... }: inputs.flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; myWeddingSiteDir = "$MY_WEDDING_SITE_DIR"; myWeddingSiteTgt = "ubuntu@chrishayward.xyz:/var/www/wedding"; myWeddingSiteBuild = pkgs.writeShellScriptBin "my-wedding-site-build" '' pushd ${myWeddingSiteDir} > /dev/null && ${pkgs.hugo}/bin/hugo -v ; \ popd > /dev/null ''; myWeddingSiteUpdate = pkgs.writeShellScriptBin "my-wedding-site-update" '' ${pkgs.rsync}/bin/rsync -aP ${myWeddingSiteDir}/public/ ${myWeddingSiteTgt} ''; in rec { devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ myWeddingSiteBuild myWeddingSiteUpdate ]; shellHook = '' export MY_WEDDING_SITE_DIR="$(pwd)" ''; }; } ); }