Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Ensure Nix is available even in non-login shells (what direnv uses)
if [ -r /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]; then
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
elif [ -r "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then
. "$HOME/.nix-profile/etc/profile.d/nix.sh"
fi

use flake
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,10 @@ test-output

# Gemini local knowledge base files
GEMINI.md
**/GEMINI.md
**/GEMINI.md

# Nix and direnv
.direnv/
result*
!.envrc

61 changes: 61 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

39 changes: 39 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
description = "Development environment for the ping-javascript-sdk monorepo";

inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};

outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
# Get the pkgs set for the specific system
pkgs = import nixpkgs { inherit system; };

# Node.js version from your .node-version file
nodejs = pkgs.nodejs_22;
in
{
# The `devShell` is the development environment activated by `nix develop`
devShells.default = pkgs.mkShell {
# The packages available in the development shell.
packages = [
nodejs
pkgs.pnpm
pkgs.git
];

shellHook = ''
# This hook runs when you enter the shell
echo "---"
echo "Welcome to the Nix development environment for ping-javascript-sdk!"
echo ""
echo "Node.js version: $(node --version)"
echo "pnpm version: $(pnpm --version)"
echo "---"
'';
};
});
}
Loading