diff --git a/.github/workflows/update-versions.yml b/.github/workflows/update-versions.yml index 5cfc6c5..cc9ed0d 100644 --- a/.github/workflows/update-versions.yml +++ b/.github/workflows/update-versions.yml @@ -123,16 +123,17 @@ jobs: cachix watch-store nixpkgs-nodejs & WATCH_PID=$! + echo "Building ${{ matrix.version }} for $TARGET_SYSTEM..." nix build .#packages.$TARGET_SYSTEM.\"${{ matrix.version }}\" -L sleep 5 kill $WATCH_PID 2>/dev/null || true - - name: Verify Cachix upload + - name: Verify Build Path run: | TARGET_SYSTEM=${{ matrix.runner.system }} - - OUT_PATH=$(nix build .#packages.$TARGET_SYSTEM.\"${{ matrix.version }}\" --print-out-paths --no-link) + OUT_PATH=$(nix path-info .#packages.$TARGET_SYSTEM.\"${{ matrix.version }}\") echo "Built package at: $OUT_PATH" - - nix path-info "$OUT_PATH" --store https://nixpkgs-nodejs.cachix.org || echo "Warning: Package may not be in cache yet" + + # Check if it's valid locally + nix path-info "$OUT_PATH" > /dev/null diff --git a/README.md b/README.md index 01606cf..ed02b31 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Inspired by [nixpkgs-terraform](https://github.com/stackbuilders/nixpkgs-terrafo in { devShells.${system}.default = pkgs.mkShell { packages = [ - nixpkgs-nodejs.packages.${system}."20.11.0" + nixpkgs-nodejs.packages.${system}."20.11" ]; }; }; @@ -39,7 +39,9 @@ Inspired by [nixpkgs-terraform](https://github.com/stackbuilders/nixpkgs-terrafo ### Ad-hoc Shell ```bash -nix shell github:davidnbr/nixpkgs-nodejs#"20.11.0" +nix shell github:davidnbr/nixpkgs-nodejs#'"20.11"' +# Or using the alias (friendly for Nix expressions) +nix shell github:davidnbr/nixpkgs-nodejs#nodejs_20_11 ``` ### List Available Versions diff --git a/flake.nix b/flake.nix index 6347cd8..7e73239 100644 --- a/flake.nix +++ b/flake.nix @@ -53,9 +53,20 @@ # Generate all packages for a given system packagesForSystem = system: - builtins.mapAttrs - (version: versionInfo: lib.getNodejs { inherit system version; }) - versionMap; + let + basePackages = builtins.mapAttrs + (version: versionInfo: lib.getNodejs { inherit system version; }) + versionMap; + + # Create aliases like nodejs_20_18 for 20.18 + aliases = nixpkgs.lib.mapAttrs' + (version: pkg: nixpkgs.lib.nameValuePair + ("nodejs_" + (builtins.replaceStrings ["."] ["_"] version)) + pkg + ) + basePackages; + in + basePackages // aliases; in { # Packages for all systems