{ pkgs ? import {} }: let repoRoot = builtins.toString ./.; composeFile = "${repoRoot}/docker/dev/docker-compose.yml"; in pkgs.mkShell { buildInputs = with pkgs; [ zola docker-compose git ]; shellHook = '' COMPOSE_FILE="${composeFile}" # =================== # DEV COMMANDS # =================== dev-up() { echo "Starting lvl0-website dev server..." docker compose -f $COMPOSE_FILE up -d "$@" echo "" echo "Site available at: http://localhost:1111" } dev-down() { echo "Stopping lvl0-website dev server..." docker compose -f $COMPOSE_FILE down } dev-logs() { docker compose -f $COMPOSE_FILE logs -f zola "$@" } dev-build() { zola build } # =================== # WELCOME MESSAGE # =================== echo "" echo "=================================================" echo " lvl0-website Dev Environment " echo "=================================================" echo "" echo "Commands:" echo " dev-up Start zola dev server (background)" echo " dev-down Stop dev server" echo " dev-logs Tail zola output" echo " dev-build Build static site to /public" echo "" echo "Site: http://localhost:1111" echo "" ''; }