lvl0-website/shell.nix

59 lines
1.3 KiB
Nix
Raw Normal View History

{ pkgs ? import <nixpkgs> {} }:
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 ""
'';
}