Skip to content
Merged
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
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ and Swift 5.6 to 5.8. The unversioned `swift` alias also resolves to 5.8.
The old Python and Node.js Prybar IDs now use the standard Python 3.10 and
Node.js 20 file runners, not Prybar. Projects using retired IDs get the newer
runtime and tools with this bundle and may need code or dependency changes.
The old `svelte-kit-node-20` ID resolves to `svelte-kit-node-24`, preserving
the Node.js 24 major that the SvelteKit module already used.

## Building

Expand Down
10 changes: 9 additions & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,15 @@
];
};

pkgs = mkPkgs patched-unstable "x86_64-linux";
pkgs = (mkPkgs patched-unstable "x86_64-linux").extend (final: _: {
nodejs-slim = nodejs-24-slim;
nodejs = nodejs-24 // {
# The base nixpkgs nodePackages alias requires the older pkgs passthru.
pkgs = final.callPackage "${nixpkgs}/pkgs/development/node-packages" {
nodejs = final.nodejs;
};
};
});
pkgs-aarch64-darwin = mkPkgs patched-unstable "aarch64-darwin";
in
{
Expand Down
2 changes: 2 additions & 0 deletions pkgs/angular-language-server/default.nix
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# TODO: upstream this file into nixpkgs
{ buildNpmPackage
, fetchurl
, nodejs
}:

buildNpmPackage rec {
inherit nodejs;
name = "@angular/language-server";
version = "17.0.3";

Expand Down
6 changes: 4 additions & 2 deletions pkgs/modules/angular/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
let
nodeVersion = lib.versions.major nodejs.version;

nodepkgs = pkgs.nodePackages.override { inherit nodejs; };
nodepkgs = import ../nodejs/node-packages.nix { inherit pkgs nodejs; };

angular-language-server = pkgs.callPackage ../../angular-language-server { };
angular-language-server = pkgs.callPackage ../../angular-language-server {
inherit nodejs;
};

language = "angular";
in
Expand Down
4 changes: 3 additions & 1 deletion pkgs/modules/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,9 @@ let
})
)
(import ./swift)
(import ./svelte-kit)
(import ./svelte-kit {
nodejs = nodejs-24;
})
(import ./vue {
nodejs = pkgs.nodejs_20;
})
Expand Down
4 changes: 2 additions & 2 deletions pkgs/modules/nodejs/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ let

bun = pkgs.bun;

nodepkgs = pkgs.nodePackages.override {
inherit nodejs;
nodepkgs = import ./node-packages.nix {
inherit pkgs nodejs;
};

npx-wrapper = pkgs.writeShellApplication {
Expand Down
15 changes: 15 additions & 0 deletions pkgs/modules/nodejs/node-packages.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{ pkgs, nodejs }:
let
typescript = pkgs.typescript.override {
buildNpmPackage = pkgs.buildNpmPackage.override { inherit nodejs; };
};
in
(pkgs.nodePackages.override { inherit nodejs; }) // {
pnpm = pkgs.pnpm.override { inherit nodejs; };
yarn = pkgs.yarn.override { inherit nodejs; };
prettier = pkgs.prettier.override { inherit nodejs; };
inherit typescript;
typescript-language-server = pkgs.typescript-language-server.override {
inherit nodejs typescript;
};
}
2 changes: 1 addition & 1 deletion pkgs/modules/python-base/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ in
replit.packages = [
binary-wrapped-python
(pypkgs.callPackage ../../pip { })
pkgs.poetry
(pkgs.poetry.override { python3 = python; })
uv
];

Expand Down
17 changes: 11 additions & 6 deletions pkgs/modules/svelte-kit/default.nix
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
{ pkgs, ... }:
{ nodejs }:
{ pkgs, lib, ... }:

let
node-version = lib.versions.major nodejs.version;
svelte-language-server = pkgs.svelte-language-server.override { inherit nodejs; };
in
{
id = "svelte-kit-node-20";
id = "svelte-kit-node-${node-version}";
name = "SvelteKit Tools with Node.js";
displayVersion = "20";
displayVersion = node-version;
description = ''
Svelte Kit development tools. Includes Node.js, Svelte language server.
'';

replit = {
packages = with pkgs; [
packages = [
nodejs
];

Expand All @@ -23,14 +28,14 @@
".ts"
];

start = "${pkgs.nodejs}/bin/npm run dev";
start = "${nodejs}/bin/npm run dev";
};

dev.languageServers.svelte-language-server = {
name = "Svelte Language Server";
language = "svelte";
extensions = [ ".svelte" ".js" ".ts" ];
start = "${pkgs.nodePackages.svelte-language-server}/bin/svelteserver --stdio";
start = "${svelte-language-server}/bin/svelteserver --stdio";
};
};
}
2 changes: 1 addition & 1 deletion pkgs/modules/vue/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
{ pkgs, lib, ... }:

let
nodepkgs = nodejs.pkgs;
nodepkgs = import ../nodejs/node-packages.nix { inherit pkgs nodejs; };
node-version = lib.versions.major nodejs.version;

vue-language-server = pkgs.callPackage ../../vue-language-server {
Expand Down
1 change: 1 addition & 0 deletions pkgs/upgrade-map/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ let
"rust-1.70" = "rust-1.72";
"rust-1.72" = "rust-stable";
"ruby-3.1" = "ruby-3.2";
"svelte-kit-node-20" = "svelte-kit-node-24";
"swift" = "swift-5.8";
"swift-5.6" = "swift-5.8";
"vue-node-18" = "vue-node-20";
Expand Down
Loading