diff --git a/.gitignore b/.gitignore index b91b02a..c98c959 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ +# node_modules may either be a usual folder or a symlink at the project +# root (creted by the Nix update script). node_modules/ +/node_modules # Eleventy build output dist/ diff --git a/nix/update.sh b/nix/update.sh index 2971de1..06a3072 100755 --- a/nix/update.sh +++ b/nix/update.sh @@ -1,6 +1,10 @@ PROJECT_DIR=$(dirname "$(dirname "$0")") NIX_DIR="$PROJECT_DIR/nix" +if [ -h "$PROJECT_DIR/node_modules" ]; then + rm node_modules +fi + npm install --package-lock-only node2nix \ -i "$PROJECT_DIR/package.json" \ @@ -10,3 +14,9 @@ node2nix \ -e "$NIX_DIR/node-env.nix" \ --development \ --include-peer-dependencies + +nix build -o "$PROJECT_DIR/.dev" + +if [ ! -e "$PROJECT_DIR/node_modules" ]; then + cd "$PROJECT_DIR"; ln -s .dev/lib/node_modules . +fi