Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2026-03-30 00:27:42 +00:00
committed by GitHub
127 changed files with 7006 additions and 10256 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ inputs:
runs:
using: composite
steps:
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
env:
MERGED_SHA: ${{ inputs.merged-as-untrusted-at }}
TARGET_SHA: ${{ inputs.target-as-trusted-at }}
+2
View File
@@ -62,6 +62,7 @@ jobs:
'.github/workflows/merge-group.yml',
'.github/workflows/test.yml',
'ci/github-script/supportedSystems.js',
'ci/pinned.json',
'ci/supportedBranches.js',
].includes(file))) core.setOutput('merge-group', true)
@@ -85,6 +86,7 @@ jobs:
'ci/github-script/reviews.js',
'ci/github-script/supportedSystems.js',
'ci/github-script/withRateLimit.js',
'ci/pinned.json',
'ci/supportedBranches.js',
].includes(file))) core.setOutput('pr', true)
+1 -20
View File
@@ -99,7 +99,7 @@ Then when building the frontend you can just symlink the node_modules directory.
### buildNpmPackage {#javascript-buildNpmPackage}
`buildNpmPackage` allows you to package npm-based projects in Nixpkgs without the use of an auto-generated dependencies file (as used in [node2nix](#javascript-node2nix)).
`buildNpmPackage` allows you to package npm-based projects in Nixpkgs without the use of an auto-generated dependencies file.
It works by utilizing npm's cache functionality -- creating a reproducible cache that contains the dependencies of a project, and pointing npm to it.
Here's an example:
@@ -306,25 +306,6 @@ It's recommended to set `package-lock-only = true` in your project-local [`.npmr
This package puts the corepack wrappers for pnpm and yarn in your PATH, and they will honor the `packageManager` setting in the `package.json`.
### node2nix {#javascript-node2nix}
#### Preparation {#javascript-node2nix-preparation}
You will need to generate a Nix expression for the dependencies. Don't forget the `-l package-lock.json` if there is a lock file. Most probably you will need the `--development` to include the `devDependencies`
So the command will most likely be:
```sh
node2nix --development -l package-lock.json
```
See `node2nix` [docs](https://github.com/svanderburg/node2nix) for more info.
#### Pitfalls {#javascript-node2nix-pitfalls}
- If upstream package.json does not have a "version" attribute, `node2nix` will crash. You will need to add it like shown in [the package.json section](#javascript-upstream-package-json).
- `node2nix` has some [bugs](https://github.com/svanderburg/node2nix/issues/238) related to working with lock files from npm distributed with `nodejs_16`.
- `node2nix` does not like missing packages from npm. If you see something like `Cannot resolve version: vue-loader-v16@undefined` then you might want to try another tool. The package might have been pulled off of npm.
### pnpm {#javascript-pnpm}
pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_8`, `pnpm_9` and `pnpm_10`, which support different sets of lock file versions.
-2
View File
@@ -170,8 +170,6 @@ Sometimes plugins require an override that must be changed when the plugin is up
To add a new plugin, run `nix-shell -p vimPluginsUpdater --run 'vim-plugins-updater add "[owner]/[name]"'`. **NOTE**: This script automatically commits to your git repository. Be sure to check out a fresh branch before running.
Finally, there are some plugins that are also packaged in nodePackages because they have Javascript-related build steps, such as running webpack. Those plugins are not listed in `vim-plugin-names` or managed by `vimPluginsUpdater` at all, and are included separately in `overrides.nix`. Currently, all these plugins are related to the `coc.nvim` ecosystem of the Language Server Protocol integration with Vim/Neovim.
## Updating plugins in nixpkgs {#updating-plugins-in-nixpkgs}
Run the update script with a GitHub API token that has at least `public_repo` access. Running the script without the token is likely to result in rate-limiting (429 errors). For steps on creating an API token, please refer to [GitHub's token documentation](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token).
+4 -10
View File
@@ -430,7 +430,10 @@
"index.html#katamari-tarballs",
"index.html#individual-tarballs",
"index.html#generating-nix-expressions",
"index.html#overriding-the-generator"
"index.html#overriding-the-generator",
"index.html#javascript-node2nix",
"index.html#javascript-node2nix-preparation",
"index.html#javascript-node2nix-pitfalls"
],
"sec-nixpkgs-release-26.05-lib": [
"release-notes.html#sec-nixpkgs-release-26.05-lib"
@@ -3642,15 +3645,6 @@
"javascript-corepack": [
"index.html#javascript-corepack"
],
"javascript-node2nix": [
"index.html#javascript-node2nix"
],
"javascript-node2nix-preparation": [
"index.html#javascript-node2nix-preparation"
],
"javascript-node2nix-pitfalls": [
"index.html#javascript-node2nix-pitfalls"
],
"javascript-pnpm": [
"index.html#javascript-pnpm"
],
+6
View File
@@ -74,6 +74,12 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- The `nodePackages` package set has been removed entirely from nixpkgs. This package set was created to ease the maintenance burden of maintaining lots of
NodeJS-based packages within nixpkgs, but became a burden itself. Over the past several releases, there has been a focus on removing it in favor of the more modern nixpkgs packaging strategies.
After a long time, this package set has been deprecated and removed. If you are using its package set in your own config, please use the top-level packages instead.(i.e `pkgs.package-name` instead of `pkgs.nodePackages.package-name`).
- Note that the above `nodePackages` removal also coincides with the removal of `node2nix` and its tooling, which have been deprecated for a long time.
- `xfce.mkXfceDerivation` has been deprecated (i.e. conditioned behind `nixpkgs.config.allowAliases`)
and will be removed in NixOS 26.11, please use `stdenv.mkDerivation` directly. You can migrate by
adding `pkg-config`, `xfce4-dev-tools`, and `wrapGAppsHook3` to your `nativeBuildInputs` and
+8
View File
@@ -14729,6 +14729,14 @@
github = "kxxt";
githubId = 18085551;
};
kybe236 = {
name = "kybe236";
github = "kybe236";
githubId = 118068228;
email = "kybe@kybe.xyz";
matrix = "@kybe:kybe.xyz";
keys = [ { fingerprint = "4B20 67C3 BD6D 410F 13E5 36A3 43CE 4393 8A3C 7A8F"; } ];
};
kyehn = {
name = "kyehn";
github = "kyehn";
+1 -3
View File
@@ -44,10 +44,8 @@ let
drivers = [
"razerkbd"
"razermouse"
"razerfirefly"
"razerkraken"
"razermug"
"razercore"
"razeraccessory"
];
in
{
+9
View File
@@ -771,6 +771,15 @@ in
}
))
]);
example = [
{
port = 9000;
target = {
addr = "127.0.0.1";
port = 9123;
};
}
];
apply = map (
v:
if lib.isInt v then
+1 -1
View File
@@ -643,7 +643,7 @@ in
'';
};
system.nssModules = optional (cfg.nss.enable or cfg.nss.enableGuest) cfg.package;
system.nssModules = optional (cfg.nss.enable || cfg.nss.enableGuest) cfg.package;
system.nssDatabases.hosts = mkMerge [
# ensure that the NSS modules come between mymachines (which is 400) and resolve (which is 501)
(mkIf cfg.nss.enable (mkOrder 430 [ "libvirt" ]))
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "claude-code";
publisher = "anthropic";
version = "2.1.84";
hash = "sha256-WIpgj3qZN/YtX0zTpcw5gKktD+D9MnbrVGSVbvD9MnQ=";
version = "2.1.87";
hash = "sha256-0brafiNuo6wRGWlGAOax3My9CrGKiGpDjFswuHFWt4M=";
};
postInstall = ''
@@ -4008,8 +4008,8 @@ let
mktplcRef = {
name = "partial-diff";
publisher = "ryu1kn";
version = "1.4.3";
sha256 = "0x3lkvna4dagr7s99yykji3x517cxk5kp7ydmqa6jb4bzzsv1s6h";
version = "1.4.4";
sha256 = "sha256-T+C/C2DBh05mgoFUdnSGcmhf9JXfMYc/JvG0aX0vEoU=";
};
meta = {
license = lib.licenses.mit;
@@ -14,8 +14,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "r";
publisher = "reditorsupport";
version = "2.8.7";
hash = "sha256-pA3/81UYrieDfGYn1fVI6KY9B7A5KAhGIzftZtzXQVc=";
version = "2.8.8";
hash = "sha256-mt2bes7aHcAHLMngSLW/zI3kSIzNKALqX+g0UXo84uI=";
};
nativeBuildInputs = [
jq
@@ -4,87 +4,29 @@
buildGoModule,
fetchFromGitHub,
installShellFiles,
callPackage,
}:
let
generic =
{
version,
sha256,
rev ? version,
...
}@attrs:
let
attrs' = removeAttrs attrs [
"version"
"sha256"
"rev"
];
in
buildGoModule {
pname = "kops";
inherit version;
src = fetchFromGitHub {
rev = rev;
owner = "kubernetes";
repo = "kops";
inherit sha256;
};
vendorHash = null;
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "cmd/kops" ];
ldflags = [
"-s"
"-w"
"-X k8s.io/kops.Version=${version}"
"-X k8s.io/kops.GitVersion=${version}"
];
doCheck = false;
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd kops \
--bash <($GOPATH/bin/kops completion bash) \
--fish <($GOPATH/bin/kops completion fish) \
--zsh <($GOPATH/bin/kops completion zsh)
'';
meta = {
description = "Easiest way to get a production Kubernetes up and running";
mainProgram = "kops";
homepage = "https://github.com/kubernetes/kops";
changelog = "https://github.com/kubernetes/kops/tree/master/docs/releases";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
zimbatm
yurrriq
];
};
}
// attrs';
mkKops = callPackage ./mkkops.nix { };
in
rec {
mkKops = generic;
{
inherit mkKops;
kops_1_31 = mkKops rec {
kops_1_31 = mkKops (finalAttrs: {
version = "1.31.0";
sha256 = "sha256-q9megrNXXKJ/YqP/fjPHh8Oji4dPK5M3HLHa+ufwRAM=";
rev = "v${version}";
};
rev = "v${finalAttrs.version}";
});
kops_1_32 = mkKops rec {
kops_1_32 = mkKops (finalAttrs: {
version = "1.32.1";
sha256 = "sha256-nQKeTDajtUffPBhPrPuaJ+1XWgLDUltwDQDZHkylys4=";
rev = "v${version}";
};
rev = "v${finalAttrs.version}";
});
kops_1_33 = mkKops rec {
kops_1_33 = mkKops (finalAttrs: {
version = "1.33.0";
sha256 = "sha256-VnnKWcU83yqsKW54Q1tr99/Ln8ppMyB7GLl70rUFGDY=";
rev = "v${version}";
};
rev = "v${finalAttrs.version}";
});
}
@@ -0,0 +1,68 @@
{
lib,
buildGoModule,
fetchFromGitHub,
installShellFiles,
stdenv,
}:
lib.extendMkDerivation {
constructDrv = buildGoModule;
excludeDrvArgNames = [
"sha256"
"rev"
];
extendDrvArgs =
finalAttrs:
{
version,
sha256,
rev ? version,
...
}:
{
pname = "kops";
src = fetchFromGitHub {
rev = rev;
owner = "kubernetes";
repo = "kops";
inherit sha256;
};
vendorHash = null;
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "cmd/kops" ];
ldflags = [
"-s"
"-w"
"-X k8s.io/kops.Version=${finalAttrs.version}"
"-X k8s.io/kops.GitVersion=${finalAttrs.version}"
];
doCheck = false;
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd kops \
--bash <($GOPATH/bin/kops completion bash) \
--fish <($GOPATH/bin/kops completion fish) \
--zsh <($GOPATH/bin/kops completion zsh)
'';
meta = {
description = "Easiest way to get a production Kubernetes up and running";
mainProgram = "kops";
homepage = "https://github.com/kubernetes/kops";
changelog = "https://github.com/kubernetes/kops/tree/master/docs/releases";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
zimbatm
yurrriq
];
};
};
}
@@ -1049,11 +1049,11 @@
"vendorHash": null
},
"oracle_oci": {
"hash": "sha256-Luh2NB1+dKTbYnvU3o+rkta8wmqHuJRLv+lroM6/LcQ=",
"hash": "sha256-04K1EQe9twN3fk3GfG1lnSqUZuVmIlO24syeLd3c86E=",
"homepage": "https://registry.terraform.io/providers/oracle/oci",
"owner": "oracle",
"repo": "terraform-provider-oci",
"rev": "v8.5.0",
"rev": "v8.7.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
+2 -2
View File
@@ -46,7 +46,7 @@ assert (!blas.isILP64) && (!lapack.isILP64);
stdenv.mkDerivation (finalAttrs: {
pname = "R";
version = "4.5.2";
version = "4.5.3";
src =
let
@@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
in
fetchurl {
url = "https://cran.r-project.org/src/base/R-${lib.versions.major version}/${pname}-${version}.tar.gz";
hash = "sha256-DXH/cQbsac18Z+HpXtGjzuNViAkx8ut4xTABSp43nyA=";
hash = "sha256-qlwe1Ck8cnGsUT1lRnA1asDopq1eQr4BQ2XREVC1uPI=";
};
outputs = [
+7
View File
@@ -5,6 +5,7 @@
autoreconfHook,
glpk,
gmp,
which,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -18,6 +19,12 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-bFvq90hLLGty7p6NLxOARVvKdizg3bp2NkP9nZpVFzQ=";
};
postPatch = ''
substituteInPlace src/{groebner/script.template.in,zsolve/{graver,hilbert}.template} \
--replace-fail 'SCRIPT=$(realpath $(which "$0"))' \
'SCRIPT=$(realpath $(${lib.getExe which} "$0"))'
'';
nativeBuildInputs = [
autoreconfHook
];
+7 -3
View File
@@ -66,9 +66,13 @@ stdenv.mkDerivation (finalAttrs: {
LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH"
exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \
-Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \
org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \
if [ -n "\$ANT_LIB" ]; then
ANT_LIB_ARG="-Dant.library.dir=\$ANT_LIB"
fi
exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \\
-Dant.home=\$ANT_HOME \''${ANT_LIB_ARG:+"\$ANT_LIB_ARG"} \\
org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \\
-cp "\$CLASSPATH" "\$@"
EOF
+8 -3
View File
@@ -2,20 +2,25 @@
lib,
fetchCrate,
rustPlatform,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "asahi-bless";
version = "0.4.1";
version = "0.4.3";
src = fetchCrate {
inherit (finalAttrs) pname version;
hash = "sha256-SNaA+CEuCBwo4c54qWGs5AdkBYb9IWY1cQ0dRd/noe8=";
hash = "sha256-JBd1YPTJ2ZqcGZ+FTGR2hqXWYd+kJ/0snWrn4uEpXWg=";
};
cargoHash = "sha256-nfSJ9RkzFAWlxlfoUKk8ZmIXDJXoSyHCGgRgMy9FDkw=";
cargoHash = "sha256-DN5PRUO0M0/ExIkuR+Iwk3SW1jzIaFnzvLOBuFoJ360=";
cargoDepsName = finalAttrs.pname;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Tool to select active boot partition on ARM Macs";
homepage = "https://crates.io/crates/asahi-bless";
+13 -3
View File
@@ -2,20 +2,30 @@
lib,
fetchCrate,
rustPlatform,
nix-update-script,
pkg-config,
dbus,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "asahi-btsync";
version = "0.2.0";
version = "0.2.5";
src = fetchCrate {
inherit (finalAttrs) pname version;
hash = "sha256-jp05WcwY1cWh4mBQj+3jRCZoG32OhDvTB84hOAGemX8=";
hash = "sha256-lAfbr2D6dITdlFCbz++OVz2SxYGapiZtrNjeBruBDJ8=";
};
cargoHash = "sha256-gGWhi0T7xDIsbzfw/KL3TSneLvQaiz/2xbpHeZt1i3I=";
cargoHash = "sha256-80B47vRUgb+QWYoxqPWk1gCdWFM5bIxq0tR5FpssRQ4=";
cargoDepsName = finalAttrs.pname;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dbus ];
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Tool to sync Bluetooth pairing keys with macos on ARM Macs";
homepage = "https://crates.io/crates/asahi-btsync";
+2 -2
View File
@@ -10,14 +10,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "asahi-fwextract";
version = "0.7.9";
version = "0.8.0";
pyproject = true;
src = fetchFromGitHub {
owner = "AsahiLinux";
repo = "asahi-installer";
tag = "v${version}";
hash = "sha256-vbhepoZ52k5tW2Gd7tfQTZ5CLqzhV7dUcVh6+AYwECk=";
hash = "sha256-UMzmQ3buXousCR8t0eSf6m+OTvqp3mEQ73aZ9UznuOI=";
};
postPatch = ''
+8 -3
View File
@@ -2,20 +2,25 @@
lib,
fetchCrate,
rustPlatform,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "asahi-nvram";
version = "0.2.3";
version = "0.2.4";
src = fetchCrate {
inherit (finalAttrs) pname version;
hash = "sha256-zfUvPHAPrYhzgeiirGuqZaWnLBH0PHsqOUy2e972bWM=";
hash = "sha256-wRlKTMzckygRkZoAT3ZDYnAF3owWEziAGNl4jteCf+A=";
};
cargoHash = "sha256-NW/puo/Xoum7DjSQjBgilQcKbY3mAfVgXxUK6+1H1JI=";
cargoHash = "sha256-Syc4QgKUJM37FW3JQqVNN9WEMFwCSoo/BaI55k2HFRY=";
cargoDepsName = finalAttrs.pname;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Tool to read and write nvram variables on ARM Macs";
homepage = "https://crates.io/crates/asahi-nvram";
+8 -3
View File
@@ -2,20 +2,25 @@
lib,
fetchCrate,
rustPlatform,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "asahi-wifisync";
version = "0.2.0";
version = "0.2.3";
src = fetchCrate {
inherit (finalAttrs) pname version;
hash = "sha256-wKd6rUUnegvl6cHODVQlllaOXuAGlmwx9gr73I/2l/c=";
hash = "sha256-YO7Yq3S7F7WuW79MR1wrViw3tTBZi8XIsXrd4f0xCzs=";
};
cargoHash = "sha256-ZxgRxQyDID3mBpr8dhHScctk14Pm9V51Gn24d24JyVk=";
cargoHash = "sha256-cfgsY34wFeBTy0CYwVRZN22Ndifn6ZPs2t6f8DS3S2k=";
cargoDepsName = finalAttrs.pname;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Tool to sync Wifi passwords with macos on ARM Macs";
homepage = "https://crates.io/crates/asahi-wifisync";
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "avbroot";
version = "3.26.0";
version = "3.29.0";
src = fetchFromGitHub {
owner = "chenxiaolong";
repo = "avbroot";
tag = "v${version}";
hash = "sha256-KNNVCn9a49HuiWACFkrdHd9BHBZ1zRJZgjtrYWpcY8w=";
hash = "sha256-/c3jYaNGQP4mZA2/MJFWBgaXpTmylgrF3555qdhtr2E=";
};
cargoHash = "sha256-bdumthxBNqgZ3kxyvxUPo2GDCFboA/qQ1VwdvXTG388=";
cargoHash = "sha256-H39Gi2Y3T9PA78ARkJ3i6qHWJSzV/a+TGwXOicEduKQ=";
nativeBuildInputs = [
pkg-config
+9 -2
View File
@@ -2,6 +2,8 @@
lib,
rustPlatform,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
@@ -17,12 +19,17 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoHash = "sha256-qVE4MOFr0YO+9rAbfnz92h0KocaLu+v2u5ompwY/o6k=";
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "File deduplicator";
homepage = "https://github.com/Canop/backdown";
changelog = "https://github.com/Canop/backdown/blob/${finalAttrs.src.rev}/CHANGELOG.md";
changelog = "https://github.com/Canop/backdown/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = [ ];
maintainers = [ lib.maintainers.progrm_jarvis ];
mainProgram = "backdown";
};
})
+3 -3
View File
@@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "betteralign";
version = "0.9.0";
version = "0.9.1";
src = fetchFromGitHub {
owner = "dkorunic";
repo = "betteralign";
tag = "v${finalAttrs.version}";
hash = "sha256-NZBGcgI2SLkCUb4v7Tdm6QQd5dqtDmp+dhCTZEovU2Y=";
hash = "sha256-WoT1/MpL4Q26u5X8n7N128apnP8D4QJSkyAYmBzb4EM=";
# Trick for getting accurate commit, source date and timestamp for ldflags
# Required by upstream https://github.com/dkorunic/betteralign/blob/346baa9c9dd024bfe55302c9d7d0ca46b2734c1c/.goreleaser.yml
@@ -28,7 +28,7 @@ buildGoModule (finalAttrs: {
'';
};
vendorHash = "sha256-F9SCMJNu8XnkvYPYfuMGFLgbn9sFDn63ao7ExYXSOaM=";
vendorHash = "sha256-BfHxti4jILEvAamwMht6PQmWlR8PMzO2aywGAE/trIA=";
env.CGO_ENABLED = 0;
+9 -1
View File
@@ -9,6 +9,8 @@
libxcursor,
libx11,
vulkan-loader,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
@@ -41,14 +43,20 @@ rustPlatform.buildRustPackage (finalAttrs: {
}
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Graphical tool to visualize binary data";
mainProgram = "binocle";
homepage = "https://github.com/sharkdp/binocle";
changelog = "https://github.com/sharkdp/binocle/releases/tag/v0.3.2";
license = with lib.licenses; [
asl20 # or
mit
];
maintainers = [ ];
maintainers = [ lib.maintainers.progrm_jarvis ];
};
})
+2 -2
View File
@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "bstring";
version = "1.0.3";
version = "1.1.0";
src = fetchFromGitHub {
owner = "msteinert";
repo = "bstring";
tag = "v${finalAttrs.version}";
hash = "sha256-efXMSRcPgo+WlOdbS1kY2PYQqSVwcsVSyU1JfsU8OOo=";
hash = "sha256-zmBymVdfm1uKTg6quWIf0tdec98SuLHEA7q3q34XJtc=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -22,7 +22,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ccache";
version = "4.13.1";
version = "4.13.2";
src = fetchFromGitHub {
owner = "ccache";
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
exit 1
fi
'';
hash = "sha256-8Qw5nkY86wGJ7B2hrNk9jIoz18nJ2FK+EbPH5fS5aEc=";
hash = "sha256-6csG4nUscuqaN6juMwICngaKd4CQgC+17tJfMc6aGLI=";
};
outputs = [
-2
View File
@@ -6,7 +6,6 @@
flex,
pkg-config,
darwin,
xcbuild,
libsndfile,
alsa-lib,
libjack2,
@@ -32,7 +31,6 @@ stdenv.mkDerivation (finalAttrs: {
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.DarwinTools
xcbuild
];
buildInputs = [
+18 -18
View File
@@ -1,46 +1,46 @@
{
"version": "2.1.84",
"buildDate": "2026-03-25T23:54:35Z",
"version": "2.1.87",
"buildDate": "2026-03-29T01:45:06Z",
"platforms": {
"darwin-arm64": {
"binary": "claude",
"checksum": "c02d911ff13f8ceccb1f6662bf211f3cd9f29d5a46f031c3cc40654eb759aa29",
"size": 203606768
"checksum": "80b51562db1a51bfb654aec1fea6a04106daa0bc1525d88c9c74741ff5d9469a",
"size": 196638704
},
"darwin-x64": {
"binary": "claude",
"checksum": "da5ed2ee1b0bcf65c2088e79bc65388ec85edc41041fc6ca7c27330f2e201085",
"size": 205199952
"checksum": "c1a4cde29e74e4c3952ead69f90a37a2388aa097d7c567a81ca3669a309e9226",
"size": 198132816
},
"linux-arm64": {
"binary": "claude",
"checksum": "5c868174b44439e51c74ff084c306856c41779615250d5bbdaa5d10056362814",
"size": 235473472
"checksum": "193c5e9c091eadde302fa23af46c8d646b7263f74fa06ed32746e504bd09df18",
"size": 228461120
},
"linux-x64": {
"binary": "claude",
"checksum": "c6872aa8db94f303bc6a4482664e40d3288dfc989c89ba268473ed32e3055878",
"size": 235657856
"checksum": "b1a5b89469862adee0e4dc28cab5a8314bc4d0117e19ab26a7b7ff7ce9b59bd5",
"size": 228280960
},
"linux-arm64-musl": {
"binary": "claude",
"checksum": "6e42aee87a00ab8e6fb3db3fc409ab969f12758bacc2a0c9f622d8e97445a0a8",
"size": 228592064
"checksum": "38e56d4a62778f429b1caa875a4a6e53db8eda256091f58afb5cf2043e492131",
"size": 221579712
},
"linux-x64-musl": {
"binary": "claude",
"checksum": "0109e76af6261f6fd37ae1deefc7ee3bc58b0ad786086d198a981275979c549a",
"size": 230283712
"checksum": "aba2c3a8927c53f981a4ad2b18915b2a1a1511b3b4e3b5e8797d23dbb0bf5eea",
"size": 222906816
},
"win32-x64": {
"binary": "claude.exe",
"checksum": "64b28630ec4f4aaa6cc0e225379cf59cdb95828cbb4ce700a0ae4401b1999ecd",
"size": 245196960
"checksum": "c722ff8836e7a90b5c62fd5cb6549887dc314e7e8d9551c01df1718d9198ecdf",
"size": 238222496
},
"win32-arm64": {
"binary": "claude.exe",
"checksum": "e7f5d18d470f0345ee18bb368f8ea7d43e791e17f0de7b69cdc40e42a9a9398e",
"size": 241350304
"checksum": "5c3e5f706685963c83cdc5dd2ec86a89e5a897bd6ec82298311abb43280ffa30",
"size": 234785440
}
}
}
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "@anthropic-ai/claude-code",
"version": "2.1.86",
"version": "2.1.87",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@anthropic-ai/claude-code",
"version": "2.1.86",
"version": "2.1.87",
"license": "SEE LICENSE IN README.md",
"bin": {
"claude": "cli.js"
+3 -3
View File
@@ -15,14 +15,14 @@
}:
buildNpmPackage (finalAttrs: {
pname = "claude-code";
version = "2.1.86";
version = "2.1.87";
src = fetchzip {
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz";
hash = "sha256-Bo2Uj0doMbOK0H8nSzRvwWTcVYsQuP2E9KCauqISzQk=";
hash = "sha256-jorpY6ao1YgkoTgIk1Ae2BQCbqOuEtwzoIG36BP5nG4=";
};
npmDepsHash = "sha256-/DITdMUtHiBQXjerNB8Pom6OaM0LpE6pWbD8njPfVqw=";
npmDepsHash = "sha256-Pr/KFS8RH03CvHvN6EdZf9R4dcAK/EbGd6UAm2s2Saw=";
strictDeps = true;
+8 -1
View File
@@ -3,6 +3,8 @@
rustPlatform,
fetchFromGitHub,
cmake,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
@@ -20,6 +22,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
nativeBuildInputs = [ cmake ];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Cross platform, fast, compression and decompression tool";
homepage = "https://github.com/sstadick/crabz";
@@ -28,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
unlicense # or
mit
];
maintainers = [ ];
maintainers = [ lib.maintainers.progrm_jarvis ];
mainProgram = "crabz";
};
})
+9 -1
View File
@@ -2,6 +2,8 @@
fetchFromGitHub,
lib,
rustPlatform,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
@@ -17,14 +19,20 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoHash = "sha256-CXIfE1EsNwm4vsybQSdfKewBYpzBh+uQu1jYAm8DDtI=";
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "High performance csv viewer with cjk/emoji support";
mainProgram = "csview";
homepage = "https://github.com/wfxr/csview";
changelog = "https://github.com/wfxr/csview/blob/v${finalAttrs.version}/CHANGELOG.md";
license = with lib.licenses; [
mit # or
asl20
];
maintainers = [ ];
maintainers = [ lib.maintainers.progrm_jarvis ];
};
})
+5 -1
View File
@@ -3,6 +3,7 @@
rustPlatform,
fetchFromGitHub,
libpcap,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
@@ -23,11 +24,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
LIBPCAP_VER = libpcap.version;
};
passthru.updateScript = nix-update-script { };
meta = {
description = "Spy on the DNS queries your computer is making";
mainProgram = "dnspeep";
homepage = "https://github.com/jvns/dnspeep";
changelog = "https://github.com/jvns/dnspeep/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = [ ];
maintainers = [ lib.maintainers.progrm_jarvis ];
};
})
@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "doxygen-awesome-css";
version = "2.4.1";
version = "2.4.2";
src = fetchFromGitHub {
owner = "jothepro";
repo = "doxygen-awesome-css";
rev = "v${finalAttrs.version}";
hash = "sha256-Q+1+Y8AsR3fZxYwewaBBKHIu0uwuYFZmUByHg17KZ9o=";
hash = "sha256-AlnoIgH4DeIWM+Da7y7P6vkey0a0rlko9/slKHce49E=";
};
makeFlags = [ "PREFIX=$(out)" ];
+14 -5
View File
@@ -2,32 +2,41 @@
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
openssl,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ezno";
version = "0.0.8";
version = "0.0.23";
src = fetchFromGitHub {
owner = "kaleidawave";
repo = "ezno";
rev = "release/ezno-${finalAttrs.version}";
hash = "sha256-0yLEpNkl7KjBEGxNONtfMjVlWMSKGZ6TbYJMsCeQ3ms=";
hash = "sha256-YS0DgRtCy+RJsPMDBvAxjF4vjxfCb5gmQWP7YPUWbWU=";
};
cargoHash = "sha256-v4lgHx+sR58CshZJCUYrtaW4EDFBUKFPJJ6V+eyf5Bc=";
cargoHash = "sha256-7qTaI8nXH86yIXat584WI6AbJVRZ4PBXdnYDebUrpPA=";
cargoBuildFlags = [
"--bin"
"ezno"
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
passthru.updateScript = nix-update-script { };
meta = {
description = "JavaScript compiler and TypeScript checker with a focus on static analysis and runtime performance";
mainProgram = "ezno";
homepage = "https://github.com/kaleidawave/ezno";
changelog = "https://github.com/kaleidawave/ezno/releases/tag/${finalAttrs.src.rev}";
changelog = "https://github.com/kaleidawave/ezno/releases/tag/release/ezno-${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = [ ];
maintainers = [ lib.maintainers.progrm_jarvis ];
};
})
+3 -3
View File
@@ -10,13 +10,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ferron";
version = "2.6.0";
version = "2.7.0";
src = fetchFromGitHub {
owner = "ferronweb";
repo = "ferron";
tag = finalAttrs.version;
hash = "sha256-pKZ/oWmPzVvnGXTyTQ3VcgISH3hSReR+RdIvD4tzPso=";
hash = "sha256-nh3dq8s+lH+WbFviFZ9L+4MF4YhGPaJWTYtH12HfXoI=";
};
# ../../ is cargoDepsCopy, and obviously does not contain monoio's README.md
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
strictDeps = true;
cargoHash = "sha256-FimBeq21JhCSSkkSmSO3i7UEqOzJY2r36GXJFcorRT0=";
cargoHash = "sha256-ft7Ewv56u31iPCH3LJKE4Mt68KTfHtIiYMRjeGcwSQQ=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -11,17 +11,17 @@
buildNpmPackage rec {
pname = "firebase-tools";
version = "15.11.0";
version = "15.12.0";
nodejs = nodejs_22;
src = fetchFromGitHub {
owner = "firebase";
repo = "firebase-tools";
tag = "v${version}";
hash = "sha256-QjY76mikVl0P0YY0YsvUFDsN8DAway175mm9orWrNLc=";
hash = "sha256-xmLTxuOazHM4HObDVgQe1CqS8IaQuxL9g3Vdy+l9arI=";
};
npmDepsHash = "sha256-dM+IiU360JvO2UN1EKuMvDedEnPLfc/B4mwHNPNFxbE=";
npmDepsHash = "sha256-zozlGFDc+fsh11xZy//qQBiEqWCBEQUUW6NSCM6SPT0=";
# No more package-lock.json in upstream src
postPatch = ''
@@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "gradle-completion";
version = "9.3.1";
version = "9.4.1";
src = fetchFromGitHub {
owner = "gradle";
repo = "gradle-completion";
tag = "v${finalAttrs.version}";
hash = "sha256-PeX8ygojftjXGqeRWvPOm/FLlCCH0kikF/MO3olKbKg=";
hash = "sha256-bqbi0Mg+MahS4ICmfC6kuEWVJ6t6GUdHB6Y5ATtbJ8c=";
};
nativeBuildInputs = [
@@ -5,20 +5,22 @@
fetchFromGitHub,
installShellFiles,
nasm,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "sic-image-cli";
version = "0.22.4";
pname = "imagineer";
version = "0.24.0";
src = fetchFromGitHub {
owner = "foresterre";
repo = "sic";
repo = "imagineer";
rev = "v${finalAttrs.version}";
hash = "sha256-PFbHHO3m4mnV5s8DVev/iao9sC3FYht0whTHYzO25Yo=";
hash = "sha256-pnnMRRccxSA5F6oIbe9wvdMmuSUMI7Da+NtwyH2psjo=";
};
cargoHash = "sha256-HL/KCC8Y42OFL1LXoewmH1Bxp6FICuDjkTnK5DE94Ms=";
cargoHash = "sha256-6QMMP6Uss9r6zNd/S6w7yo19IBOQyLmFvcn2o0MkOq4=";
nativeBuildInputs = [
installShellFiles
@@ -30,10 +32,15 @@ rustPlatform.buildRustPackage (finalAttrs: {
'';
postInstall = ''
installShellCompletion sic.{bash,fish}
installShellCompletion --zsh _sic
installShellCompletion ig.{bash,fish}
installShellCompletion --zsh _ig
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Accessible image processing and conversion from the terminal";
homepage = "https://github.com/foresterre/sic";
@@ -42,8 +49,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
asl20 # or
mit
];
maintainers = [ ];
mainProgram = "sic";
maintainers = [ lib.maintainers.progrm_jarvis ];
mainProgram = "ig";
# The last successful Darwin Hydra build was in 2024
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
};
@@ -8,14 +8,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "interactive-html-bom";
version = "2.10.0";
version = "2.11.0";
pyproject = true;
src = fetchFromGitHub {
owner = "openscopeproject";
repo = "InteractiveHtmlBom";
tag = "v${finalAttrs.version}";
hash = "sha256-o7GWdAFFK3zK0fc7aTSwOsd/c4uPg3cJfR0SXbl2RW8=";
hash = "sha256-8uLHSMliz8bQ8aV+XWap8DwKKqroOPph1l9cgKXps+U=";
};
build-system = [ python3Packages.hatchling ];
-4
View File
@@ -7,7 +7,6 @@
git,
xmlstarlet,
stripJavaArchivesHook,
xcbuild,
udev,
libxxf86vm,
libxt,
@@ -76,9 +75,6 @@ stdenv.mkDerivation {
git
xmlstarlet
stripJavaArchivesHook
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
xcbuild
];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
+6
View File
@@ -43,9 +43,11 @@
swig,
python,
poppler,
wxPython,
opencascade-occt_7_6,
libngspice,
libspnav,
valgrind,
protobuf_29,
nng,
@@ -171,6 +173,7 @@ stdenv.mkDerivation (finalAttrs: {
boost
swig
python
poppler
unixodbc
libdeflate
opencascade-occt
@@ -179,6 +182,9 @@ stdenv.mkDerivation (finalAttrs: {
# This would otherwise cause a linking requirement for mbedtls.
(nng.override { mbedtlsSupport = false; })
]
++ optionals (stdenv.hostPlatform.isLinux) [
libspnav
]
++ optionals withScripting [ wxPython ]
++ optionals withNgspice [ libngspice ]
++ optionals debug [ valgrind ];
+4
View File
@@ -6,6 +6,7 @@
compressStep,
stepreduce,
parallel,
python3,
zip,
}:
let
@@ -24,6 +25,9 @@ let
stepreduce
parallel
zip
]
++ lib.optionals (name == "symbols") [
python3
];
postInstall =
+5 -5
View File
@@ -234,9 +234,9 @@ stdenv.mkDerivation rec {
"--prefix GIO_EXTRA_MODULES : ${dconf}/lib/gio/modules"
# required to open a bug report link in firefox-wayland
"--set-default MOZ_DBUS_REMOTE 1"
"--set-default KICAD9_FOOTPRINT_DIR ${footprints}/share/kicad/footprints"
"--set-default KICAD9_SYMBOL_DIR ${symbols}/share/kicad/symbols"
"--set-default KICAD9_TEMPLATE_DIR ${template_dir}"
"--set-default KICAD10_FOOTPRINT_DIR ${footprints}/share/kicad/footprints"
"--set-default KICAD10_SYMBOL_DIR ${symbols}/share/kicad/symbols"
"--set-default KICAD10_TEMPLATE_DIR ${template_dir}"
]
++ optionals (addons != [ ]) (
let
@@ -248,10 +248,10 @@ stdenv.mkDerivation rec {
];
};
in
[ "--set-default NIX_KICAD9_STOCK_DATA_PATH ${stockDataPath}" ]
[ "--set-default NIX_KICAD10_STOCK_DATA_PATH ${stockDataPath}" ]
)
++ optionals with3d [
"--set-default KICAD9_3DMODEL_DIR ${packages3d}/share/kicad/3dmodels"
"--set-default KICAD10_3DMODEL_DIR ${packages3d}/share/kicad/3dmodels"
]
++ optionals withNgspice [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ]
@@ -6,7 +6,7 @@ index a74cdd9..790cc58 100644
{
wxString path;
+ if( wxGetEnv( wxT( "NIX_KICAD9_STOCK_DATA_PATH" ), &path ) ) {
+ if( wxGetEnv( wxT( "NIX_KICAD10_STOCK_DATA_PATH" ), &path ) ) {
+ return path;
+ }
+
+11 -11
View File
@@ -3,23 +3,23 @@
{
"kicad" = {
kicadVersion = {
version = "9.0.8";
version = "10.0.0";
src = {
rev = "1b361e77008b6a38253c4d90d7c749f4aef0f07f";
sha256 = "1b995p0qb9cjpj0n3x3szbqr6d7fxwmrp2nbx37y7ym2bc1lpxd8";
rev = "b0e9d3b0656e3770d11324b15e09b097f7fc33da";
sha256 = "1470x1276yvd8li3w25zjg73fkpl2qp4dsx7adanafq5c4l47rmc";
};
};
libVersion = {
version = "9.0.8";
version = "10.0.0";
libSources = {
symbols.rev = "83b87ce54ef7c17da4cefe45ad99a5f8d375abe6";
symbols.sha256 = "08qb4rqxsyhrcvj1k200m2c06jjy7jwjmf9n1qkcm0biqqc5dba4";
templates.rev = "319c71222af4205673e0cab9d772a02bbb34c597";
symbols.rev = "dc72a484664c0470407113a174f2b5435debbcaf";
symbols.sha256 = "0khfnln0f2zsz5hy31nw2rr0nflb2z3s9n9f7g41g03m9l3s43v2";
templates.rev = "e703d1e2ab3eb98a209ff402d2b6bf6d02dc1930";
templates.sha256 = "0zs29zn8qjgxv0w1vyr8yxmj02m8752zagn4vcraqgik46dwg2id";
footprints.rev = "384ecd066fcaef6aacdd099ca0bb7c47499a9a4b";
footprints.sha256 = "1w7dkb93s84ymi1syxpzacbmkxlnlh0k4z1c62nabspb901nn524";
packages3d.rev = "6b3a47da075011b33b6de17aa499690f8c5be4a7";
packages3d.sha256 = "1j26dmgz7xfixlqrzclb1wpc6zkd10n1fq7rmdrgwwx083p3c7a8";
footprints.rev = "4899503b69ff037ed102ab0fe5a0564ef3d61726";
footprints.sha256 = "0ymmd1rzrczpvcqzw1mld9x8xhbka0vvjy3kdqwysg4ri97f5wrm";
packages3d.rev = "bc82151111e9edddf4295228e6ceb5e0584c9c3e";
packages3d.sha256 = "0k91iw661fpzb7saryjxdcdvk1kis7dhbcpzp7xzjk84i4jvxrp5";
};
};
};
+2 -2
View File
@@ -51,14 +51,14 @@
with python3Packages;
buildPythonApplication rec {
pname = "kitty";
version = "0.46.1";
version = "0.46.2";
pyproject = false;
src = fetchFromGitHub {
owner = "kovidgoyal";
repo = "kitty";
tag = "v${version}";
hash = "sha256-cGMmzddP+YsyEl9IDt4rtChYZeh9n/7RfWJ87Evv6Tc=";
hash = "sha256-x+jBQrg3Iaj6PLMF1hIjS46odxv5GxPMcvC9JddYCHo=";
};
goModules =
+51
View File
@@ -0,0 +1,51 @@
{
lib,
stdenvNoCC,
fetchurl,
makeBinaryWrapper,
nix-update-script,
undmg,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "kiwix-apple";
version = "3.13.0";
src = fetchurl {
url = "https://download.kiwix.org/release/kiwix-macos/kiwix-macos_${finalAttrs.version}.dmg";
hash = "sha256-f9Un5ufiwwDiMesdw2dtnHWLM4ZtGMnFcGMuR3aIvHs=";
};
sourceRoot = ".";
strictDeps = true;
nativeBuildInputs = [
makeBinaryWrapper
undmg
];
postInstall = ''
mkdir -p $out/Applications
cp -r Kiwix.app $out/Applications
makeWrapper $out/Applications/Kiwix.app/Contents/MacOS/Kiwix $out/bin/${finalAttrs.meta.mainProgram}
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--url=https://github.com/kiwix/kiwix-apple"
"--version-regex=(.*\\..*\\..*)" # matches arbitrary tags otherwise
];
};
meta = {
changelog = "https://github.com/kiwix/kiwix-apple/blob/${finalAttrs.version}/CHANGELOG.md";
description = "Offline reader for Web content";
downloadPage = "https://get.kiwix.org/en/solutions/applications/kiwix-reader/";
homepage = "https://get.kiwix.org/en/solutions/applications/";
license = lib.licenses.gpl3Plus;
mainProgram = "kiwix";
maintainers = with lib.maintainers; [ MysteryBlokHed ];
platforms = lib.platforms.darwin;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})
+4 -4
View File
@@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lexbor";
version = "2.6.0-unstable-2025-11-24";
version = "2.7.0";
src = fetchFromGitHub {
owner = "lexbor";
repo = "lexbor";
rev = "7d726f1bed2f489e79751496c584304e6859ee1b";
hash = "sha256-vLP/YJWu1Z2kiT0sFLcMPjzMJHJe457oyPTIsxafTfc=";
tag = "v${finalAttrs.version}";
hash = "sha256-MFwsXMiqKnkHRQkNrl34UDFfRQq1Q5gOYfsE56ZgWwY=";
};
nativeBuildInputs = [
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/lexbor/lexbor";
changelog = "https://github.com/lexbor/lexbor/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = [ ];
maintainers = with lib.maintainers; [ miniharinn ];
mainProgram = "lexbor";
platforms = lib.platforms.all;
};
@@ -0,0 +1,11 @@
--- a/cupsfilters/ghostscript.c
+++ b/cupsfilters/ghostscript.c
@@ -629,7 +629,7 @@ gs_spawn (const char *filename,
}
// Execute Ghostscript command line ...
- execvpe(filename, gsargv, envp);
+ execve(filename, gsargv, envp);
if (log) log(ld, CF_LOGLEVEL_ERROR,
"cfFilterGhostscript: Unable to launch Ghostscript: %s: %s",
filename, strerror(errno));
+19 -3
View File
@@ -32,6 +32,18 @@ stdenv.mkDerivation {
hash = "sha256-WEcg+NSsny/N1VAR1ejytM+3nOF3JlNuIUPf4w6N2ew=";
};
# Undefined symbols for architecture x86_64:
# "_iconv", referenced from:
# _cfFilterTextToText in libcupsfilters_la-texttotext.o
# "_iconv_close", referenced from:
# _cfFilterTextToText in libcupsfilters_la-texttotext.o
# "_iconv_open", referenced from:
# _cfFilterTextToText in libcupsfilters_la-texttotext.o
# ld: symbol(s) not found for architecture x86_64
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
NIX_LDFLAGS = "-liconv";
};
patches = [
(fetchpatch {
# https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-893j-2wr2-wrh9
@@ -49,7 +61,9 @@ stdenv.mkDerivation {
url = "https://github.com/OpenPrinting/libcupsfilters/commit/b69dfacec7f176281782e2f7ac44f04bf9633cfa.patch";
hash = "sha256-rPUbgtTu7j3uUZrtUhUPO1vFbV6naxIWsHf6x3JhS74=";
})
];
]
# build on platforms without execvpe
++ lib.optional stdenv.hostPlatform.isDarwin ./execve.patch;
nativeBuildInputs = [
autoreconfHook
@@ -77,7 +91,9 @@ stdenv.mkDerivation {
"--with-ippfind-path=${lib.getExe' cups "ippfind"}"
"--enable-imagefilters"
"--with-test-font-path=${dejavu_fonts}/share/fonts/truetype/DejaVuSans.ttf"
];
]
# build on platforms without execvpe (path to Ghostscript must be absolute)
++ lib.optional stdenv.hostPlatform.isDarwin "--with-gs-path=${lib.getExe ghostscript}";
makeFlags = [
"CUPS_SERVERBIN=$(out)/lib/cups"
"CUPS_DATADIR=$(out)/share/cups"
@@ -88,6 +104,6 @@ stdenv.mkDerivation {
homepage = "https://github.com/OpenPrinting/libcupsfilters";
description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc";
license = lib.licenses.asl20;
platforms = lib.platforms.linux;
platforms = lib.platforms.all;
};
}
+5 -4
View File
@@ -17,7 +17,7 @@ let
in
buildGoModule (finalAttrs: {
pname = "llama-swap";
version = "183";
version = "199";
outputs = [
"out"
@@ -28,7 +28,7 @@ buildGoModule (finalAttrs: {
owner = "mostlygeek";
repo = "llama-swap";
tag = "v${finalAttrs.version}";
hash = "sha256-5TIcDK6M/9jDkJDWafRGw+/TaW7Pbvn1yl9ijnzP/Mc=";
hash = "sha256-tAWXhfOWPLBuEgd+32CbuIkn1hN+4VI4xkyx7E2a81I=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@@ -81,8 +81,8 @@ buildGoModule (finalAttrs: {
checkFlags =
let
skippedTests = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
# Fail only on x86_64-darwin intermittently
skippedTests = lib.optionals (stdenv.isDarwin) [
# Fail only on *-darwin intermittently
# https://github.com/mostlygeek/llama-swap/issues/320
"TestProcess_AutomaticallyStartsUpstream"
"TestProcess_WaitOnMultipleStarts"
@@ -98,6 +98,7 @@ buildGoModule (finalAttrs: {
"TestProcess_ForceStopWithKill"
"TestProcess_StopCmd"
"TestProcess_EnvironmentSetCorrectly"
"TestProcess_ReverseProxyPanicIsHandled"
];
in
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
+2 -2
View File
@@ -7,14 +7,14 @@
buildNpmPackage (finalAttrs: {
pname = "${llama-swap.pname}-ui";
inherit (llama-swap) version src;
npmDepsHash = "sha256-fIDn3vfrqTZfzK8dc+Vpckw9M2iyJi5ggHFEV8PeXtU=";
npmDepsHash = "sha256-gTDsuWPLCWsPltioziygFmSQFdLqjkZpmmVWIWoZwoc=";
postPatch = ''
substituteInPlace vite.config.ts \
--replace-fail "../proxy/ui_dist" "${placeholder "out"}/ui_dist"
'';
sourceRoot = "${finalAttrs.src.name}/ui";
sourceRoot = "${finalAttrs.src.name}/ui-svelte";
# bundled "ui_dist" doesn't need node_modules
postInstall = ''
+9 -1
View File
@@ -3,6 +3,8 @@
rustPlatform,
fetchFromGitHub,
installShellFiles,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
@@ -26,13 +28,19 @@ rustPlatform.buildRustPackage (finalAttrs: {
installManPage doc/macchina.{1,7}
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Fast, minimal and customizable system information fetcher";
homepage = "https://github.com/Macchina-CLI/macchina";
changelog = "https://github.com/Macchina-CLI/macchina/releases/tag/v${finalAttrs.version}";
changelog = "https://github.com/Macchina-CLI/macchina/blob/v${finalAttrs.version}/CHANGELOG.md";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [
_414owen
progrm_jarvis
];
mainProgram = "macchina";
};
+2 -7
View File
@@ -2,6 +2,7 @@
lib,
fetchzip,
stdenvNoCC,
installFonts,
}:
stdenvNoCC.mkDerivation {
@@ -14,13 +15,7 @@ stdenvNoCC.mkDerivation {
stripRoot = false;
};
installPhase = ''
runHook preInstall
install -D -m444 -t $out/share/fonts/truetype $src/Minecraftia.ttf
runHook postInstall
'';
nativeBuildInputs = [ installFonts ];
meta = {
homepage = "https://fontlibrary.org/en/font/minecraftia";
+9 -11
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchurl,
fetchpatch,
pkg-config,
meson,
ninja,
@@ -15,20 +14,16 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mpdscribble";
version = "0.24";
version = "0.25";
src = fetchurl {
url = "https://www.musicpd.org/download/mpdscribble/${finalAttrs.version}/mpdscribble-${finalAttrs.version}.tar.xz";
sha256 = "sha256-9rTLp0izuH5wUnC0kjyOI+lMLgD+3VC+sUaNvi+yqOc=";
sha256 = "sha256-IPidlFv1F8TWi/d6d6NZ/bE4QqsSlejSHtp5vitbNc4=";
};
# Fix build issue on darwin; to be removed after the next release
patches = [
(fetchpatch {
name = "remove-empty-static-lib.patch";
url = "https://github.com/MusicPlayerDaemon/mpdscribble/commit/0dbcea25c81f3fdc608f71ef71a9784679fee17f.patch";
sha256 = "sha256-3wLfQvbwx+OFrCl5vMV7Zps4e4iEYFhqPiVCo5hDqgw=";
})
mesonFlags = [
(lib.mesonOption "systemd_user_unit_dir" "etc/systemd/user")
(lib.mesonOption "systemd_system_unit_dir" "etc/systemd/system")
];
postPatch = ''
@@ -52,7 +47,10 @@ stdenv.mkDerivation (finalAttrs: {
description = "MPD client which submits info about tracks being played to a scrobbler";
homepage = "https://www.musicpd.org/clients/mpdscribble/";
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.sohalt ];
maintainers = [
lib.maintainers.sohalt
lib.maintainers.kybe236
];
platforms = lib.platforms.unix;
mainProgram = "mpdscribble";
};
+3 -3
View File
@@ -9,16 +9,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mprisence";
version = "1.4.3";
version = "1.4.5";
src = fetchFromGitHub {
owner = "lazykern";
repo = "mprisence";
tag = "v${finalAttrs.version}";
hash = "sha256-5iNxNuLtIZDz8lS1J8qjBousGy/2ZR1/KI/xeFuQfSU=";
hash = "sha256-xQA9wxEweoxguVhuTfG6RVODKUuaTWEsrQh5Me05eCw=";
};
cargoHash = "sha256-MIclhi34hXqhpSnyqxS496Fd8Xv/gFJJS3/4EObVYHs=";
cargoHash = "sha256-KF/PYocZDgryXyhFj2eD5o0Tlxmgxd27SqqW54e/qdw=";
nativeBuildInputs = [ pkg-config ];
+29
View File
@@ -37,6 +37,35 @@ stdenv.mkDerivation (finalAttrs: {
llvmPackages.openmp
];
configureFlags =
let
mkCpuFeatureFlag = acvar: cond: "ax_cv_have_${acvar}_cpu_ext=${lib.boolToYesNo cond}";
in
[
(mkCpuFeatureFlag "sse3" stdenv.hostPlatform.sse3Support)
(mkCpuFeatureFlag "ssse3" stdenv.hostPlatform.ssse3Support)
(mkCpuFeatureFlag "sse41" stdenv.hostPlatform.sse4_1Support)
(mkCpuFeatureFlag "sse42" stdenv.hostPlatform.sse4_2Support)
(mkCpuFeatureFlag "sse4a" stdenv.hostPlatform.sse4_aSupport)
(mkCpuFeatureFlag "avx" stdenv.hostPlatform.avxSupport)
(mkCpuFeatureFlag "avx2" stdenv.hostPlatform.avx2Support)
]
++ map (lib.flip mkCpuFeatureFlag stdenv.hostPlatform.avx512Support) [
"avx512f"
"avx512cd"
"avx512pf"
"avx512er"
"avx512vl"
"avx512bw"
"avx512dq"
"avx512ifma"
"avx512vbmi"
]
++ [
(mkCpuFeatureFlag "fma3" stdenv.hostPlatform.fmaSupport)
(mkCpuFeatureFlag "fma4" stdenv.hostPlatform.fma4Support)
];
doCheck = true;
meta = {
+11 -3
View File
@@ -17,22 +17,30 @@
libiconv,
makeWrapper,
nix-update-script,
fetchpatch,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "newsboat";
version = "2.42";
version = "2.43";
src = fetchFromGitHub {
owner = "newsboat";
repo = "newsboat";
tag = "r${finalAttrs.version}";
hash = "sha256-ZBqYxAX2jPaRycdw7BbhySt2uviICadT/5Z5WZqsqJM=";
hash = "sha256-XnA20uylHoly1P5qpM2JmkkV6C5//Xu5M+CjWwCiI7c=";
};
patches = [
(fetchpatch {
url = "https://github.com/newsboat/newsboat/commit/f7936d13013d33946b28b2ac51f1266423d66b23.patch";
hash = "sha256-MnL/ylTIJJV1+3I1OxzNWedLUEZ4viuzxXNM63qk1aM=";
})
];
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-T6zBr3LoOkPLVkBvfhUdqs7iF2I6fRTZo+uMsrnv+5g=";
hash = "sha256-+QyN0YDQmSGVZ2ckLd5SDYRw/wZYFY6GNteeTRrNDcU=";
};
# allow other ncurses versions on Darwin
+9 -2
View File
@@ -2,6 +2,8 @@
lib,
rustPlatform,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
@@ -17,15 +19,20 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoHash = "sha256-daHhCr55RzIHooGXBK831SYD1b8NPEDD6mtDut6nuaQ=";
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Batch rename utility for developers";
homepage = "https://github.com/yaa110/nomino";
changelog = "https://github.com/yaa110/nomino/releases/tag/${finalAttrs.src.rev}";
changelog = "https://github.com/yaa110/nomino/releases/tag/v${finalAttrs.version}";
license = with lib.licenses; [
mit # or
asl20
];
maintainers = [ ];
maintainers = [ lib.maintainers.progrm_jarvis ];
mainProgram = "nomino";
};
})
+9 -3
View File
@@ -6,18 +6,20 @@
installShellFiles,
versionCheckHook,
nix-update-script,
cacert,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "openstack-rs";
version = "0.13.3";
version = "0.13.5";
src = fetchFromGitHub {
owner = "gtema";
repo = "openstack";
tag = "v${finalAttrs.version}";
hash = "sha256-F9ePn+Fu9/9/rQnF0a+ViezsMtxuojycF4h9e77tm1Y=";
hash = "sha256-8Dg1ymrjra6q4WXOUh+qEgyIIh7Z5FinLNc9fFETyFQ=";
};
cargoHash = "sha256-nVR0XUjOwiYNEYG/6ViH4biCXyeK5GVkMb/uOvBRFUw=";
cargoHash = "sha256-mEYfcv9GViTOB4WoV2tHpWrzcEEcGf0DI9hDhajDvpc=";
nativeBuildInputs = [
installShellFiles
@@ -30,6 +32,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
--zsh <($out/bin/osc completion zsh)
'';
nativeCheckInputs = [
cacert
];
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
nativeInstallCheckInputs = [ versionCheckHook ];
-50
View File
@@ -1,50 +0,0 @@
{
lib,
fetchFromGitHub,
pkgs,
python3,
wrapGAppsHook3,
gobject-introspection,
}:
python3.pkgs.buildPythonApplication {
pname = "pdf-quench";
version = "1.0.5";
src = fetchFromGitHub {
owner = "linuxerwang";
repo = "pdf-quench";
rev = "b72b3970b371026f9a7ebe6003581e8a63af98f6";
sha256 = "1rp9rlwr6rarcsxygv5x2c5psgwl6r69k0lsgribgyyla9cf2m7n";
};
nativeBuildInputs = [
wrapGAppsHook3
gobject-introspection
];
buildInputs = with pkgs; [
gtk3
goocanvas_2
poppler_gi
];
propagatedBuildInputs = with python3.pkgs; [
pygobject3
pypdf2
];
pyproject = false;
doCheck = false;
installPhase = ''
install -D -T -m 755 src/pdf_quench.py $out/bin/pdf-quench
'';
meta = {
homepage = "https://github.com/linuxerwang/pdf-quench";
description = "Visual tool for cropping pdf files";
mainProgram = "pdf-quench";
platforms = lib.platforms.linux;
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ flokli ];
};
}
+7 -6
View File
@@ -1,24 +1,24 @@
{
lib,
python3,
python3Packages,
fetchFromGitHub,
nixosTests,
}:
with python3.pkgs;
with python3Packages;
buildPythonApplication (finalAttrs: {
pname = "pinnwand";
version = "1.6.0";
version = "1.6.1";
pyproject = true;
src = fetchFromGitHub {
owner = "supakeen";
repo = "pinnwand";
tag = "v${finalAttrs.version}";
hash = "sha256-oB7Dd1iVzGqr+5nG7BfZuwOQUgUnmg6ptQDZPGH7P5E=";
hash = "sha256-Abj68lJn2qjL1jb+cVzkoc/RYKA6d5tYOPlEwqST0tY=";
};
build-system = [ pdm-pep517 ];
build-system = [ pdm-backend ];
dependencies = [
click
@@ -27,6 +27,7 @@ buildPythonApplication (finalAttrs: {
pygments-better-html
python-dotenv
sqlalchemy
sqlalchemy-utc
token-bucket
tomli
tornado
@@ -39,7 +40,7 @@ buildPythonApplication (finalAttrs: {
pytest-html
pytest-playwright
pytestCheckHook
toml
tomli-w
urllib3
];
+2 -2
View File
@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "qmqtt";
version = "1.0.4";
version = "1.0.5";
src = fetchFromGitHub {
owner = "emqx";
repo = "qmqtt";
rev = "v${finalAttrs.version}";
hash = "sha256-cIzBnJdMFY25cWf1rBoRQx1G0/5S32igF8vcte+nyHI=";
hash = "sha256-OhRvVOJt5GRwNNKsXLpneDyx8SIptP6KAlIAsWOOcjo=";
};
outputs = [
+5
View File
@@ -160,5 +160,10 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [ rc-zb ];
mainProgram = "racket";
platforms = lib.platforms.all;
/*
> checking size of void *... 0
> Something has gone wrong getting the pointer size; see config.log
*/
badPlatforms = lib.platforms.darwin;
};
})
+1 -1
View File
@@ -127,7 +127,7 @@ minimal.overrideAttrs (
libraries support applications from web servers and databases to
GUIs and charts.
'';
platforms = lib.platforms.unix;
badPlatforms = [ ];
};
}
)
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rbspy";
version = "0.44.0";
version = "0.45.0";
src = fetchFromGitHub {
owner = "rbspy";
repo = "rbspy";
tag = "v${finalAttrs.version}";
hash = "sha256-5oCSrKtNmvleJwkJN2Sz/1i7MpaiNTD9i0whlFLHSgg=";
hash = "sha256-o4YSvPOVi+Q6Nf3PfT0ZqKnC+VQadiCkmVtb8q/os54=";
};
cargoHash = "sha256-3AK/No9rbPvS2QhUwVDl7OsvUzWaW9DCkNlf3PSp1Ic=";
cargoHash = "sha256-s5MeEEGuz+kCJJ7XAKNbJHfJlqsh/oUCcXw1590CHrc=";
doCheck = true;
+3 -3
View File
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rumdl";
version = "0.1.58";
version = "0.1.62";
src = fetchFromGitHub {
owner = "rvben";
repo = "rumdl";
tag = "v${finalAttrs.version}";
hash = "sha256-cGj+YNwrglxBiFwR7Tx/ntuJc8p1JwmiZdmLyTnrJwQ=";
hash = "sha256-+X/8Tc894lQkJBsRfr11TgSUejQZH90dRwPzTe7i9dw=";
};
cargoHash = "sha256-hFdA/M9X46+uQl6/JTohCiMq2JLHuBjz6s6e7yTBRUI=";
cargoHash = "sha256-w/MqjaxutaNy++nPEHWIfdaIB9YH+dAOYvFVAcFnrss=";
cargoBuildFlags = [
"--bin=rumdl"
@@ -0,0 +1,72 @@
{
lib,
stdenv,
buildNpmPackage,
fetchFromGitHub,
# runtime dependencies
ripgrep,
which,
# linux-only
bubblewrap,
socat,
versionCheckHook,
nix-update-script,
}:
buildNpmPackage (finalAttrs: {
pname = "sandbox-runtime";
version = "0.0.43";
src = fetchFromGitHub {
owner = "anthropic-experimental";
repo = "sandbox-runtime";
tag = "v${finalAttrs.version}";
hash = "sha256-DzsIWR4IreGkSUtaJ2v5kTrI2hbG9O2bozQkJYYZ8LM=";
};
postPatch =
# Fix the `--version` flag.
''
substituteInPlace src/cli.ts \
--replace-fail "1.0.0" "${finalAttrs.version}"
'';
strictDeps = true;
npmDepsHash = "sha256-UUxkaGF1kUhq7XShxAq33oQoLG/aM5p/4rpXIH4I+yE=";
postFixup =
let
runtimeDeps = [
ripgrep
which
]
++ lib.optionals stdenv.hostPlatform.isLinux [
bubblewrap
socat
];
in
''
wrapProgram $out/bin/srt \
--prefix PATH ${lib.makeBinPath runtimeDeps}
'';
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Lightweight sandboxing tool for enforcing filesystem and network restrictions on arbitrary processes at the OS level, without requiring a container";
changelog = "https://github.com/anthropic-experimental/sandbox-runtime/releases/tag/${finalAttrs.src.tag}";
homepage = "https://github.com/anthropic-experimental/sandbox-runtime";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ GaetanLepage ];
mainProgram = "srt";
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
})
+2 -2
View File
@@ -117,12 +117,12 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "shipwright";
version = "9.1.2";
version = "9.2.1";
src = fetchFromGitHub {
owner = "harbourmasters";
repo = "shipwright";
tag = finalAttrs.version;
hash = "sha256-kFi5yo+CGH67NU7haDAbzWCURzsUYMlRzx66XGvh0a0=";
hash = "sha256-t3QwJqXMmeC2B26YW1kMnnmRVXOVZA+1SMmDPvTa0FQ=";
fetchSubmodules = true;
deepClone = true;
postFetch = ''
+3 -3
View File
@@ -8,7 +8,7 @@
buildGoModule (finalAttrs: {
pname = "spire";
version = "1.14.2";
version = "1.14.4";
outputs = [
"out"
@@ -21,12 +21,12 @@ buildGoModule (finalAttrs: {
owner = "spiffe";
repo = "spire";
tag = "v${finalAttrs.version}";
sha256 = "sha256-EQ9QMAhF/HR8Za5K08c52FsktIeBzKOIIueN5XamhL8=";
sha256 = "sha256-Ga4fV1a3vlOez12a6lMHoh2CUF9Rkclvjz2FScu6krc=";
};
# Needed for github.co/google/go-tpm-tools/simulator which contains non-go files that `go mod vendor` strips
proxyVendor = true;
vendorHash = "sha256-YtSaibsoSxuEY9UO1EmFHZoVpwHs/gjx28gpxCiOzYE=";
vendorHash = "sha256-Ajoxxpf6oWW6jioMTgeyaIszVhp4j7E2+msE0nhfKpk=";
buildInputs = [ openssl ];
@@ -0,0 +1,16 @@
Submodule libultraship contains modified content
diff --git a/libultraship/cmake/dependencies/common.cmake b/libultraship/cmake/dependencies/common.cmake
index 596158c..c62d7b2 100644
--- a/libultraship/cmake/dependencies/common.cmake
+++ b/libultraship/cmake/dependencies/common.cmake
@@ -47,10 +47,6 @@ set(stormlib_optimizations_patch git apply ${CMAKE_CURRENT_SOURCE_DIR}/cmake/dep
endif()
#=================== STB ===================
-set(STB_DIR ${CMAKE_BINARY_DIR}/_deps/stb)
-file(DOWNLOAD "https://github.com/nothings/stb/raw/0bc88af4de5fb022db643c2d8e549a0927749354/stb_image.h" "${STB_DIR}/stb_image.h")
-file(WRITE "${STB_DIR}/stb_impl.c" "#define STB_IMAGE_IMPLEMENTATION\n#include \"stb_image.h\"")
-
add_library(stb STATIC)
target_sources(stb PRIVATE
@@ -0,0 +1,45 @@
Submodule tools/Torch contains modified content
diff --git a/tools/Torch/CMakeLists.txt b/tools/Torch/CMakeLists.txt
index 8055f91..a77ff3a 100644
--- a/tools/Torch/CMakeLists.txt
+++ b/tools/Torch/CMakeLists.txt
@@ -36,8 +36,7 @@ if(USE_STANDALONE)
# Because libgfxd is not a CMake project, we have to manually fetch it and add it to the build
FetchContent_Declare(
libgfxd
- GIT_REPOSITORY https://github.com/glankk/libgfxd.git
- GIT_TAG 96fd3b849f38b3a7c7b7f3ff03c5921d328e6cdf
+ URL @libgfxd_src@
)
FetchContent_GetProperties(libgfxd)
@@ -205,8 +204,7 @@ set(YAML_CPP_BUILD_TESTS OFF)
set(YAML_CPP_DISABLE_UNINSTALL ON)
FetchContent_Declare(
yaml-cpp
- GIT_REPOSITORY https://github.com/jbeder/yaml-cpp.git
- GIT_TAG 28f93bdec6387d42332220afa9558060c8016795
+ URL @yaml-cpp_src@
)
set(YAML_CPP_BUILD_TESTS OFF)
FetchContent_MakeAvailable(yaml-cpp)
@@ -219,8 +217,7 @@ endif()
if(USE_STANDALONE)
FetchContent_Declare(
spdlog
- GIT_REPOSITORY https://github.com/gabime/spdlog.git
- GIT_TAG 7e635fca68d014934b4af8a1cf874f63989352b7
+ URL @spdlog_src@
)
FetchContent_MakeAvailable(spdlog)
@@ -234,8 +231,7 @@ endif()
set(tinyxml2_BUILD_TESTING OFF)
FetchContent_Declare(
tinyxml2
- GIT_REPOSITORY https://github.com/leethomason/tinyxml2.git
- GIT_TAG 10.0.0
+ URL @tinyxml2_src@
OVERRIDE_FIND_PACKAGE
)
FetchContent_MakeAvailable(tinyxml2)
+265
View File
@@ -0,0 +1,265 @@
{
lib,
fetchFromGitHub,
applyPatches,
writeTextFile,
fetchurl,
fetchpatch,
stdenv,
replaceVars,
yaml-cpp,
srcOnly,
cmake,
copyDesktopItems,
installShellFiles,
lsb-release,
makeWrapper,
ninja,
pkg-config,
bzip2,
libGL,
libvorbis,
libx11,
libzip,
nlohmann_json,
SDL2,
spdlog,
tinyxml-2,
zenity,
sdl_gamecontrollerdb,
starship-sf64,
makeDesktopItem,
}:
let
# The following are either normally fetched during build time or a specific version is required
dr_libs = fetchFromGitHub {
owner = "mackron";
repo = "dr_libs";
rev = "da35f9d6c7374a95353fd1df1d394d44ab66cf01";
hash = "sha256-ydFhQ8LTYDBnRTuETtfWwIHZpRciWfqGsZC6SuViEn0=";
};
imgui' = applyPatches {
src = fetchFromGitHub {
owner = "ocornut";
repo = "imgui";
tag = "v1.91.9b-docking";
hash = "sha256-mQOJ6jCN+7VopgZ61yzaCnt4R1QLrW7+47xxMhFRHLQ=";
};
patches = [
"${starship-sf64.src}/libultraship/cmake/dependencies/patches/imgui-fixes-and-config.patch"
];
};
libgfxd = fetchFromGitHub {
owner = "glankk";
repo = "libgfxd";
rev = "008f73dca8ebc9151b205959b17773a19c5bd0da";
hash = "sha256-AmHAa3/cQdh7KAMFOtz5TQpcM6FqO9SppmDpKPTjTt8=";
};
prism = fetchFromGitHub {
owner = "KiritoDv";
repo = "prism-processor";
rev = "7ae724a6fb7df8cbf547445214a1a848aefef747";
hash = "sha256-G7koDUxD6PgZWmoJtKTNubDHg6Eoq8I+AxIJR0h3i+A=";
};
stb_impl = writeTextFile {
name = "stb_impl.c";
text = ''
#define STB_IMAGE_IMPLEMENTATION
#include "stb_image.h"
'';
};
stb' = fetchurl {
name = "stb_image.h";
url = "https://raw.githubusercontent.com/nothings/stb/0bc88af4de5fb022db643c2d8e549a0927749354/stb_image.h";
hash = "sha256-xUsVponmofMsdeLsI6+kQuPg436JS3PBl00IZ5sg3Vw=";
};
stormlib' = applyPatches {
src = fetchFromGitHub {
owner = "ladislav-zezula";
repo = "StormLib";
tag = "v9.25";
hash = "sha256-HTi2FKzKCbRaP13XERUmHkJgw8IfKaRJvsK3+YxFFdc=";
};
patches = [
"${starship-sf64.src}/libultraship/cmake/dependencies/patches/stormlib-optimizations.patch"
];
};
thread_pool = fetchFromGitHub {
owner = "bshoshany";
repo = "thread-pool";
tag = "v4.1.0";
hash = "sha256-zhRFEmPYNFLqQCfvdAaG5VBNle9Qm8FepIIIrT9sh88=";
};
# Include cmake4 patch
# Remove when yaml-cpp.src is updated to include it
yaml-patched = applyPatches {
src = yaml-cpp.src;
patches = [
(fetchpatch {
name = "yaml-cpp-fix-cmake-4.patch";
url = "https://github.com/jbeder/yaml-cpp/commit/c2680200486572baf8221ba052ef50b58ecd816e.patch";
hash = "sha256-1kXRa+xrAbLEhcJxNV1oGHPmayj1RNIe6dDWXZA3mUA=";
})
];
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "starship-sf64";
version = "2.0.0";
src = fetchFromGitHub {
owner = "HarbourMasters";
repo = "Starship";
tag = "v${finalAttrs.version}";
hash = "sha256-pjftFMUE3UQuFe6WJI+n9GllV9uT2bvhHaUICaPHz+Q=";
fetchSubmodules = true;
};
patches = [
# Don't fetch stb as we will patch our own
./dont-fetch-stb.patch
# Can't fetch these torch deps in the sandbox
(replaceVars ./git-deps.patch {
libgfxd_src = fetchFromGitHub {
owner = "glankk";
repo = "libgfxd";
rev = "96fd3b849f38b3a7c7b7f3ff03c5921d328e6cdf";
hash = "sha256-dedZuV0BxU6goT+rPvrofYqTz9pTA/f6eQcsvpDWdvQ=";
};
spdlog_src = fetchFromGitHub {
owner = "gabime";
repo = "spdlog";
rev = "7e635fca68d014934b4af8a1cf874f63989352b7";
hash = "sha256-cxTaOuLXHRU8xMz9gluYz0a93O0ez2xOxbloyc1m1ns=";
};
yaml-cpp_src = srcOnly yaml-patched;
tinyxml2_src = srcOnly tinyxml-2;
})
# Revert upstream appimage fixes as this breaks loading at least on nixpkgs
./revert-appimage-fixes.patch
];
nativeBuildInputs = [
cmake
copyDesktopItems
installShellFiles
lsb-release
makeWrapper
ninja
pkg-config
];
buildInputs = [
bzip2
libGL
libvorbis
libx11
libzip
nlohmann_json
SDL2
spdlog
tinyxml-2
zenity
];
cmakeFlags = [
(lib.cmakeFeature "CMAKE_INSTALL_PREFIX" "${placeholder "out"}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_DR_LIBS" "${dr_libs}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_IMGUI" "${imgui'}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_LIBGFXD" "${libgfxd}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_PRISM" "${prism}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_STORMLIB" "${stormlib'}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_THREADPOOL" "${thread_pool}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_TINYXML2" "${tinyxml-2}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_YAML-CPP" "${yaml-patched}")
];
strictDeps = true;
# Linking fails without this
hardeningDisable = [ "format" ];
preConfigure = ''
mkdir stb
cp ${stb'} ./stb/${stb'.name}
cp ${stb_impl} ./stb/${stb_impl.name}
substituteInPlace libultraship/cmake/dependencies/common.cmake \
--replace-fail "\''${STB_DIR}" "$(readlink -f ./stb)"
'';
postBuild = ''
cp ${sdl_gamecontrollerdb}/share/gamecontrollerdb.txt gamecontrollerdb.txt
./TorchExternal/src/TorchExternal-build/torch pack ../port starship.o2r o2r
'';
postInstall = ''
mv Starship starship-sf64
installBin starship-sf64
mkdir -p $out/share/starship-sf64/
cp -r assets $out/share/starship-sf64/
install -Dm644 -t $out/share/starship-sf64 {starship.o2r,config.yml,gamecontrollerdb.txt}
install -Dm644 ../logo.png $out/share/pixmaps/starship-sf64.png
install -Dm644 -t $out/share/licenses/starship-sf64 ../LICENSE.md
install -Dm644 -t $out/share/licenses/starship-sf64/libgfxd ${libgfxd}/LICENSE
install -Dm644 -t $out/share/licenses/starship-sf64/libultraship ../libultraship/LICENSE
install -Dm644 -t $out/share/licenses/starship-sf64/thread_pool ${thread_pool}/LICENSE.txt
'';
# Unfortunately, Starship really wants a writable working directory
# Create $HOME/.local/share/starship-sf64 and symlink required files
# This is pretty hacky and works for now and perhaps upstream might support XDG later
# Also wrapProgram escapes $HOME to "/homeless-shelter" so use "~" for now
postFixup = ''
wrapProgram $out/bin/starship-sf64 \
--prefix PATH ":" ${lib.makeBinPath [ zenity ]} \
--run 'mkdir -p ~/.local/share/starship-sf64' \
--run "ln -sf $out/share/starship-sf64/starship.o2r ~/.local/share/starship-sf64/starship.o2r" \
--run "ln -sf $out/share/starship-sf64/config.yml ~/.local/share/starship-sf64/config.yml" \
--run "ln -sfT $out/share/starship-sf64/assets ~/.local/share/starship-sf64/assets" \
--run "ln -sf $out/share/starship-sf64/gamecontrollerdb.txt ~/.local/share/starship-sf64/gamecontrollerdb.txt" \
--run 'cd ~/.local/share/starship-sf64'
'';
desktopItems = [
(makeDesktopItem {
name = "Starship";
icon = "starship-sf64";
exec = "starship-sf64";
comment = finalAttrs.meta.description;
genericName = "starship-sf64";
desktopName = "Starship";
categories = [ "Game" ];
})
];
meta = {
homepage = "https://github.com/HarbourMasters/Starship";
description = "SF64 PC Port";
mainProgram = "starship-sf64";
platforms = [ "x86_64-linux" ];
maintainers = with lib.maintainers; [ qubitnano ];
license = with lib.licenses; [
# libultraship, libgfxd, thread_pool, dr_libs, prism-processor
mit
# Starship
cc0
# Reverse engineering
unfree
];
};
})
@@ -0,0 +1,29 @@
From aae7b7ca818ae4f438f315c9802a44adf6992215 Mon Sep 17 00:00:00 2001
From: qubitnano <146656568+qubitnano@users.noreply.github.com>
Date: Sun, 25 May 2025 12:51:27 -0400
Subject: [PATCH] revert appimage fixes
This breaks loading at least on nixpkgs
---
src/port/Engine.cpp | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp
index d2bee9ec..47b21533 100644
--- a/src/port/Engine.cpp
+++ b/src/port/Engine.cpp
@@ -70,11 +70,7 @@ GameEngine::GameEngine() {
std::vector<std::string> archiveFiles;
const std::string main_path = Ship::Context::GetPathRelativeToAppDirectory("sf64.o2r");
-#ifdef __linux__
- const std::string assets_path = Ship::Context::GetPathRelativeToAppBundle("starship.o2r");
-#else
const std::string assets_path = Ship::Context::GetPathRelativeToAppDirectory("starship.o2r");
-#endif
#ifdef _WIN32
--
2.49.0
+8 -3
View File
@@ -12,20 +12,21 @@
pango,
udev,
udevCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tiny-dfr";
version = "0.3.5";
version = "0.3.7";
src = fetchFromGitHub {
owner = "AsahiLinux";
repo = "tiny-dfr";
tag = "v${finalAttrs.version}";
hash = "sha256-G4OeYZH3VF6fKWxHYLTmwzQmQ4JupgYNH/6aJSgINvg=";
hash = "sha256-NwZ/uhVyI3NeI5CUsM42HUu6SpG0Lh8Mj66RY+ZuqBM=";
};
cargoHash = "sha256-/PtoAc2ZNJfW5gegcFQAAlEmjSMysZ+QebVfHtW35Nk=";
cargoHash = "sha256-k9mXEKn+LqFJraLm2ahGGAbVUNeNPnEwt1wGEOXeSrc=";
nativeBuildInputs = [
pkg-config
@@ -55,6 +56,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
meta = {
homepage = "https://github.com/AsahiLinux/tiny-dfr";
description = "Most basic dynamic function row daemon possible";
+3 -3
View File
@@ -10,8 +10,8 @@
}:
let
version = "4.19.0";
buildNum = "4005";
version = "4.20.0";
buildNum = "4284";
in
stdenv.mkDerivation (finalAttrs: {
pname = "tlclient";
@@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://www.cendio.com/downloads/clients/tl-${finalAttrs.version}-client-linux-dynamic-x86_64.tar.gz";
hash = "sha256-shlhu0m+TPgw3ndR70QdJ6Z0AyJdI/xmHJv+ZbFVokE=";
hash = "sha256-iq1OUFyMZwYWqEI57zSwj1RDh5OZ8qNu8knpe6Hbdeo=";
};
nativeBuildInputs = [
+4
View File
@@ -18,6 +18,7 @@
libosinfo,
adwaita-icon-theme,
gtksourceview4,
libayatana-appindicator,
xorriso,
spiceSupport ? true,
spice-gtk ? null,
@@ -70,6 +71,9 @@ stdenv.mkDerivation (finalAttrs: {
libosinfo
gtksourceview4
]
++ lib.optionals stdenv.hostPlatform.isLinux [
libayatana-appindicator
]
++ lib.optionals spiceSupport [
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
+12 -5
View File
@@ -2,32 +2,39 @@
lib,
rustPlatform,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "wasmer-pack";
version = "0.7.1";
version = "0.7.2";
src = fetchFromGitHub {
owner = "wasmerio";
repo = "wasmer-pack";
rev = "v${finalAttrs.version}";
hash = "sha256-+wqgYkdkuhPFkJBdQLnUKAGmUfGBU9mBfMRNBFmiT4E=";
hash = "sha256-9dIdwDKQyut2n1hgq4QzNZuGmGb1wUSmTJf9no6XI5A=";
};
cargoHash = "sha256-PZudXmdPz6fG7NDC/yN7qG+RQFSzNynXo6SpYJEku9A=";
cargoHash = "sha256-Hz+cvi82K9NJrn2yEkrVa29yhDUiE1gXZOwHFPljqqw=";
cargoBuildFlags = [ "-p=wasmer-pack-cli" ];
# requires internet access
doCheck = false;
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Import your WebAssembly code just like any other dependency";
mainProgram = "wasmer-pack";
homepage = "https://github.com/wasmerio/wasmer-pack";
changelog = "https://github.com/wasmerio/wasmer-pack/blob/${finalAttrs.src.rev}/CHANGELOG.md";
changelog = "https://github.com/wasmerio/wasmer-pack/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = [ ];
maintainers = [ lib.maintainers.progrm_jarvis ];
};
})
+9 -9
View File
@@ -1,20 +1,20 @@
{
"aarch64-darwin": {
"version": "1.9577.42",
"version": "1.9577.43",
"vscodeVersion": "1.108.2",
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/7e8af359f28ba41297041a60f16d418da912df8c/Windsurf-darwin-arm64-1.9577.42.zip",
"sha256": "4e85c090a36997925eb534e76bfe48e5b8bbfa5f38a86a735c156ff1c8c64afc"
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/745a6c1ac471cc11f782a05d2c3ceacbc1de308f/Windsurf-darwin-arm64-1.9577.43.zip",
"sha256": "05c30794bf6f11a1f4bc8ca860dcc3220b8700acf23f3ae97100a31e6ccbc58a"
},
"x86_64-darwin": {
"version": "1.9577.42",
"version": "1.9577.43",
"vscodeVersion": "1.108.2",
"url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/7e8af359f28ba41297041a60f16d418da912df8c/Windsurf-darwin-x64-1.9577.42.zip",
"sha256": "71b0db5bfd87ac21400a848fcb776c0d89775958049a6f4b1dadf5fe73d7792d"
"url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/745a6c1ac471cc11f782a05d2c3ceacbc1de308f/Windsurf-darwin-x64-1.9577.43.zip",
"sha256": "b4d64719fa87f490b310bceb2b0613db7e03479719ded5c3778cbc4eb693f9b4"
},
"x86_64-linux": {
"version": "1.9577.42",
"version": "1.9577.43",
"vscodeVersion": "1.108.2",
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/7e8af359f28ba41297041a60f16d418da912df8c/Windsurf-linux-x64-1.9577.42.tar.gz",
"sha256": "371a4e33673ad407c726fb61101a93b66b7e308bbc2f7a8e858cf6d395e00630"
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/745a6c1ac471cc11f782a05d2c3ceacbc1de308f/Windsurf-linux-x64-1.9577.43.tar.gz",
"sha256": "6e28ab2b9e593493b937af8b4e5c704d8a350a886363a1495562dac37f122b9c"
}
}
+3 -3
View File
@@ -7,15 +7,15 @@
buildNpmPackage rec {
pname = "zwave-js-ui";
version = "11.15.0";
version = "11.15.1";
src = fetchFromGitHub {
owner = "zwave-js";
repo = "zwave-js-ui";
tag = "v${version}";
hash = "sha256-L5kalrF7TB3ywE9ArvOWoDIGAPs17KwUWzjH5U9CE7E=";
hash = "sha256-EbLf3Jwr6p0MtOk4TfrW5KgojlTBrWHzcpwqO4aLib4=";
};
npmDepsHash = "sha256-KeC1vFVGsywEwPSgmnMqfvZee0UavkfBbAmn+3QeDlY=";
npmDepsHash = "sha256-aydGtWGgGqkN8XcVzhv+HfIxSoEYEFrE4tm1YJR95ig=";
passthru.tests.zwave-js-ui = nixosTests.zwave-js-ui;
@@ -108,11 +108,12 @@ stdenv.mkDerivation (
++ [ "runHook postConfigure" ]
));
env = args.env or { } // {
env = {
CRFLAGS = lib.concatStringsSep " " defaultOptions;
PREFIX = placeholder "out";
};
}
// (args.env or { });
inherit enableParallelBuilding;
strictDeps = true;
@@ -205,8 +206,9 @@ stdenv.mkDerivation (
done
'';
meta = args.meta or { } // {
platforms = args.meta.platforms or crystal.meta.platforms;
};
meta = {
platforms = crystal.meta.platforms;
}
// (args.meta or { });
}
)
-87
View File
@@ -1,87 +0,0 @@
> [!IMPORTANT]
> There is currently an active project to [remove packages from `nodePackages`](https://github.com/NixOS/nixpkgs/issues/229475).
> Please consider adding new packages using [another method](https://nixos.org/manual/nixpkgs/unstable/#javascript-tool-specific).
This folder contains a generated collection of [npm packages](https://npmjs.com/) that can be installed with the Nix package manager.
As a rule of thumb, the package set should only provide _end-user_ software packages, such as command-line utilities.
Libraries should only be added to the package set if there is a non-npm package that requires it.
When it is desired to use npm libraries in a development project, use the `node2nix` generator directly on the `package.json` configuration file of the project.
The package set provides support for the official stable Node.js versions.
The latest stable LTS release in `nodePackages`, as well as the latest stable current release in `nodePackages_latest`.
If your package uses native addons, you need to examine what kind of native build system it uses. Here are some examples:
- `node-gyp`
- `node-gyp-builder`
- `node-pre-gyp`
After you have identified the correct system, you need to override your package expression while adding the build system as a build input.
For example, `dat` requires `node-gyp-build`, so we override its expression in [pkgs/development/node-packages/overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/overrides.nix):
```nix
{
dat = prev.dat.override (oldAttrs: {
buildInputs = [
final.node-gyp-build
pkgs.libtool
pkgs.autoconf
pkgs.automake
];
meta = oldAttrs.meta // {
broken = since "12";
};
});
}
```
### Adding and updating JavaScript packages in Nixpkgs
To add a package from npm to Nixpkgs:
1. Modify [pkgs/development/node-packages/node-packages.json](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/node-packages.json) to add, update or remove package entries to have it included in `nodePackages` and `nodePackages_latest`.
2. Run the script:
```sh
./pkgs/development/node-packages/generate.sh
```
3. Build your new package to test your changes:
```sh
nix-build -A nodePackages.<new-or-updated-package>
```
To build against the latest stable current Node.js version (e.g. 18.x):
```sh
nix-build -A nodePackages_latest.<new-or-updated-package>
```
If the package doesn't build, you may need to add an override as explained above.
4. Add and commit all modified and generated files.
For more information about the generation process, consult the [README.md](https://github.com/svanderburg/node2nix) file of the `node2nix` tool.
To update npm packages in Nixpkgs, run the same `generate.sh` script:
```sh
./pkgs/development/node-packages/generate.sh
```
#### Git protocol error
Some packages may have Git dependencies from GitHub specified with `git://`.
GitHub has [disabled unencrypted Git connections](https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git), so you may see the following error when running the generate script:
```
The unauthenticated git protocol on port 9418 is no longer supported
```
Use the following Git configuration to resolve the issue:
```sh
git config --global url."https://github.com/".insteadOf git://github.com/
```
-456
View File
@@ -1,456 +0,0 @@
pkgs: lib: self: super:
### Deprecated aliases - for backward compatibility
###
### !!! NOTE !!!
### Use `./remove-attr.py [attrname]` in this directory to remove your alias
### from the `nodePackages` set without regenerating the entire file.
let
# Removing recurseForDerivation prevents derivations of aliased attribute
# set to appear while listing all the packages available.
removeRecurseForDerivations =
alias:
if alias.recurseForDerivations or false then
lib.removeAttrs alias [ "recurseForDerivations" ]
else
alias;
# Disabling distribution prevents top-level aliases for non-recursed package
# sets from building on Hydra.
removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias;
# Make sure that we are not shadowing something from node-packages.nix.
checkInPkgs =
n: alias:
if builtins.hasAttr n super then throw "Alias ${n} is still in node-packages.nix" else alias;
mapAliases =
aliases:
lib.mapAttrs (
n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))
) aliases;
in
mapAliases {
"@angular/cli" = throw "@angular/cli was removed because it was unmaintainable in nixpkgs"; # Added 2026-02-12
"@antfu/ni" = pkgs.ni; # Added 2025-11-08
"@antora/cli" = pkgs.antora; # Added 2023-05-06
"@astrojs/language-server" = pkgs.astro-language-server; # Added 2024-02-12
"@babel/cli" =
throw "@babel/cli was removed because upstream highly suggests installing it in your project instead of globally."; # Added 2025-11-06
"@bitwarden/cli" = pkgs.bitwarden-cli; # added 2023-07-25
"@commitlint/cli" = pkgs.commitlint; # Added 2025-11-08
"@commitlint/config-conventional" =
throw "@commitlint/config-conventional has been dropped, as it is a library and your JS project should lock it instead."; # added 2024-12-16
"@emacs-eask/cli" = pkgs.eask; # added 2023-08-17
"@electron-forge/cli" =
throw "@electron-forge/cli was removed because upstream suggests that you install it locally in your project instead."; # Added 2025-11-06
"@forge/cli" = throw "@forge/cli was removed because it was broken"; # added 2023-09-20
"@gitbeaker/cli" = pkgs.gitbeaker-cli; # Added 2025-10-29
"@google/clasp" = pkgs.google-clasp; # Added 2023-05-07
"@maizzle/cli" = pkgs.maizzle; # added 2023-08-17
"@medable/mdctl-cli" = throw "@medable/mdctl-cli was removed because it was broken"; # added 2023-08-21
"@mermaid-js/mermaid-cli" = pkgs.mermaid-cli; # added 2023-10-01
"@microsoft/rush" =
throw "@microsoft/rush has been removed because it was unmaintainable within nixpkgs"; # Added 2026-02-12
"@nerdwallet/shepherd" = pkgs.shepherd; # added 2023-09-30
"@nestjs/cli" = pkgs.nest-cli; # Added 2023-05-06
"@prisma/language-server" = throw "@prisma/language-server has been removed because it was broken"; # added 2025-03-23
"@shopify/cli" = throw "@shopify/cli has been removed because it was broken"; # added 2025-03-12
"@tailwindcss/aspect-ratio" =
throw "@tailwindcss/aspect-ratio has been removed because it is a library and your JS project should lock it instead."; # Added 2026-02-19
"@tailwindcss/forms" =
throw "@tailwindcss/forms has been removed because it is a library and your JS project should lock it instead."; # Added 2026-02-19
"@tailwindcss/language-server" = pkgs.tailwindcss-language-server; # added 2024-01-22
"@tailwindcss/line-clamp" =
throw "@tailwindcss/line-clamp has been removed because it is a library and your JS project should lock it instead."; # Added 2026-02-19
"@tailwindcss/typography" =
throw "@tailwindcss/typography has been removed because it is a library and your JS project should lock it instead."; # Added 2026-02-19
"@uppy/companion" = pkgs.uppy-companion; # Added 2025-11-01
"@volar/vue-language-server" = pkgs.vue-language-server; # added 2024-06-15
"@vue/language-server" = pkgs.vue-language-server; # added 2024-06-15
"@webassemblyjs/cli-1.11.1" = pkgs.webassemblyjs-cli; # Added 2025-11-06
"@webassemblyjs/repl-1.11.1" = pkgs.webassemblyjs-repl; # Added 2025-11-06
"@webassemblyjs/wasm-strip" =
"@webassemblyjs/wasm-strip has been removed because it was deprecated by upstream. Consider using wabt instead"; # Added 2025-11-06
"@webassemblyjs/wasm-text-gen-1.11.1" = pkgs.wasm-text-gen; # Added 2025-11-06
"@webassemblyjs/wast-refmt-1.11.1" = pkgs.wast-refmt; # Added 2025-11-06
"@withgraphite/graphite-cli" = pkgs.graphite-cli; # added 2024-01-25
"@yaegassy/coc-nginx" = pkgs.coc-nginx; # Added 2025-11-08
"@zed-industries/claude-code-acp" = pkgs.claude-agent-acp; # Added 2026-03-12
"@zwave-js/server" = pkgs.zwave-js-server; # Added 2023-09-09
alex = throw "'alex' has been removed because it was unmaintainable in nixpkgs"; # Added 2026-02-12
audiosprite = throw "'audiosprite' has been removed because it was abandoned upstream"; # Added 2025-11-14
inherit (pkgs) autoprefixer; # added 2024-06-25
inherit (pkgs) asar; # added 2023-08-26
inherit (pkgs) auto-changelog; # added 2024-06-25
inherit (pkgs) aws-azure-login; # added 2023-09-30
aws-cdk = pkgs.aws-cdk-cli; # Added 2025-12-23
awesome-lint = throw "'awesome-lint' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
balanceofsatoshis = pkgs.balanceofsatoshis; # added 2023-07-31
inherit (pkgs) bash-language-server; # added 2024-06-07
bibtex-tidy = pkgs.bibtex-tidy; # added 2023-07-30
bitwarden-cli = pkgs.bitwarden-cli; # added 2023-07-25
bower = throw "bower was removed because it was deprecated"; # added 2025-09-17
inherit (pkgs) bower2nix; # added 2024-08-23
browserify = throw "browserify has been removed because it was unmaintained in nixpkgs"; # Added 2026-03-01
inherit (pkgs) browser-sync; # Added 2026-03-10
inherit (pkgs) btc-rpc-explorer; # added 2023-08-17
inherit (pkgs) carbon-now-cli; # added 2023-08-17
inherit (pkgs) carto; # added 2023-08-17
castnow = pkgs.castnow; # added 2023-07-30
inherit (pkgs) cdk8s-cli; # Added 2025-11-10
inherit (pkgs) cdktf-cli; # added 2025-10-02
inherit (pkgs) clean-css-cli; # added 2023-08-18
clipboard-cli = throw "'clipboard-cli' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
inherit (pkgs) coc-clangd; # added 2024-06-29
inherit (pkgs) coc-cmake; # Added 2025-11-05
inherit (pkgs) coc-css; # added 2024-06-29
inherit (pkgs) coc-diagnostic; # added 2024-06-29
inherit (pkgs) coc-docker; # added 2025-10-01
inherit (pkgs) coc-emmet; # Added 2025-11-05
inherit (pkgs) coc-eslint; # Added 2025-11-05;
inherit (pkgs) coc-explorer; # added 2025-10-01
inherit (pkgs) coc-flutter; # Added 2025-11-05
inherit (pkgs) coc-git; # added 2025-10-01
coc-go = throw "coc-go has been removed because it was unmaintained in nixpkgs"; # Added 2026-02-14
inherit (pkgs) coc-haxe; # Added 2025-11-05
inherit (pkgs) coc-highlight; # Added 2025-11-05
inherit (pkgs) coc-html; # Added 2025-11-05
coc-imselect = throw "coc-imselect was removed because it was broken"; # added 2023-08-21
inherit (pkgs) coc-java; # Added 2025-11-05
inherit (pkgs) coc-jest; # Added 2025-11-05
inherit (pkgs) coc-json; # Added 2025-11-05
inherit (pkgs) coc-lists; # Added 2025-11-05
coc-ltex = throw "'coc-ltex' has been removed because it was unmaintained upstream"; # Added 2025-11-14
inherit (pkgs) coc-markdownlint; # Added 2025-11-05
coc-metals = throw "coc-metals was removed because it was deprecated upstream. vimPlugins.nvim-metals is its official replacement."; # Added 2024-10-16
inherit (pkgs) coc-pairs; # added 2025-11-05
inherit (pkgs) coc-prettier; # added 2025-11-05
inherit (pkgs) coc-pyright; # added 2024-07-14
coc-python = throw "coc-python was removed because it was abandoned upstream on 2020-12-24. Upstream now recommends using coc-pyright or coc-jedi instead."; # added 2024-10-15
inherit (pkgs) coc-r-lsp; # added 2025-11-05
coc-rls = throw "coc-rls was removed because rls was deprecated in 2022. You should use coc-rust-analyzer instead, as rust-analyzer is maintained."; # added 2025-10-01
inherit (pkgs) coc-rust-analyzer; # added 2025-11-05
inherit (pkgs) coc-sh; # added 2025-10-02
inherit (pkgs) coc-smartf; # Added 2025-11-05
inherit (pkgs) coc-snippets; # Added 2025-11-05
inherit (pkgs) coc-solargraph; # Added 2025-11-05
inherit (pkgs) coc-spell-checker; # added 2025-10-01
inherit (pkgs) coc-sqlfluff; # Added 2025-11-05
inherit (pkgs) coc-stylelint; # Added 2025-11-05
inherit (pkgs) coc-sumneko-lua; # Added 2025-11-05
inherit (pkgs) coc-tabnine; # Added 2025-11-05
inherit (pkgs) coc-texlab; # Added 2025-11-05
inherit (pkgs) coc-toml;
coc-tslint = throw "coc-tslint was removed because it was deprecated upstream; coc-eslint offers comparable features for eslint, which replaced tslint"; # Added 2024-10-18
coc-tslint-plugin = throw "coc-tslint-plugin was removed because it was deprecated upstream; coc-eslint offers comparable features for eslint, which replaced tslint"; # Added 2024-10-18
coc-tsserver = throw "coc-tsserver has been removed because it was unmaintained in nixpkgs"; # Added 2026-02-14
coc-ultisnips = throw "'coc-ultisnips' has been removed because it was unmaintained upstream"; # Added 2025-11-14
coc-vetur = throw "coc-vetur was removed because vetur was deprecated by Vue in favor of volar. Use coc-volar instead, which supports Vue 3"; # added 2025-10-01
inherit (pkgs) coc-vimlsp; # Added 2025-11-05
inherit (pkgs) coc-vimtex; # Added 2025-11-05
inherit (pkgs) coc-wxml; # Added 2025-11-05
inherit (pkgs) coc-yaml; # Added 2025-11-05
inherit (pkgs) coc-yank; # Added 2025-11-05
inherit (pkgs) code-theme-converter; # Added 2025-11-08
coinmon = throw "coinmon was removed since it was abandoned upstream"; # added 2024-03-19
coffee-script = pkgs.coffeescript; # added 2023-08-18
inherit (pkgs) concurrently; # added 2024-08-05
inherit (pkgs) configurable-http-proxy; # added 2023-08-19
inherit (pkgs) conventional-changelog-cli; # Added 2025-11-08
copy-webpack-plugin = throw "copy-webpack-plugin was removed because it is a JS library, so your project should lock it with a JS package manager instead."; # Added 2024-12-16
inherit (pkgs) cordova; # added 2023-08-18
cpy-cli = throw "'cpy-cli' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
create-cycle-app = throw "create-cycle-app has been removed because it is unmaintained and has issues installing with recent nodejs versions."; # Added 2025-11-01
create-react-native-app = throw "create-react-native-app was removed because it was deprecated. Upstream suggests using a framework for React Native."; # added 2024-12-08
inherit (pkgs) cspell;
csslint = throw "'csslint' has been removed as upstream considers it abandoned."; # Addeed 2025-11-07
dat = throw "dat was removed because it was broken"; # added 2023-08-21
inherit (pkgs) degit; # added 2023-08-18
dhcp = throw "'dhcp' has been removed because it was unmaintained upstream"; # Added 2025-11-14
inherit (pkgs) diagnostic-languageserver; # added 2024-06-25
inherit (pkgs) diff2html-cli; # Added 2025-11-08
inherit (pkgs) dockerfile-language-server-nodejs; # added 2023-08-18
inherit (pkgs) dotenv-cli; # added 2024-06-26
dotenv-vault = throw "'dotenv-vault' has been removed because it was unmaintained in nixpkgs"; # Added 2026-02-12
eask = pkgs.eask; # added 2023-08-17
elasticdump = throw "'elasticdump' has been removed because it was unmaintained in nixpkgs"; # Added 2025-12-26
inherit (pkgs.elmPackages) elm-test;
inherit (pkgs.elmPackages) elm-review;
elm-oracle = throw "'elm-oracle' has been removed, since it doesn't work with modern versions of Elm."; # Added 2025-11-07
emoj = throw "'emoj' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
emojione = throw "emojione was archived and abandoned upstream, so it has been removed"; # Added 2025-11-06
escape-string-regexp = throw "escape-string-regexp was removed because it provides no executable"; # added 2025-03-12
inherit (pkgs) eslint; # Added 2024-08-28
inherit (pkgs) eslint_d; # Added 2023-05-26
inherit (pkgs) eas-cli; # added 2025-01-08
esy = throw "esy was removed because it was unmaintained within nixpkgs"; # Added 2026-02-12
expo-cli = throw "expo-cli was removed because it was deprecated upstream. Use `npx expo` or eas-cli instead."; # added 2024-12-02
fast-cli = throw "'fast-cli' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
inherit (pkgs) fauna-shell; # Added 2025-11-27
inherit (pkgs) firebase-tools; # added 2023-08-18
inherit (pkgs) fixjson; # added 2024-06-26
fkill-cli = throw "'fkill-cli' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
fleek-cli = throw "'fleek-cli' was removed because the upstream source code repo has been deleted."; # Added 2025-11-07
flood = pkgs.flood; # Added 2023-07-25
forever = throw "'forever' has been removed because it was unmaintained upstream"; # Added 2025-11-14
inherit (pkgs) fx; # Added 2025-11-06
ganache = throw "ganache was removed because it was deprecated upstream"; # added 2024-12-02
inherit (pkgs) gatsby-cli; # Added 2025-11-05
generator-code = throw "generator-code was removed because it provides no executable"; # added 2023-09-24
inherit (pkgs) git-run; # added 2024-06-26
git-ssb = throw "git-ssb was removed because it was broken"; # added 2023-08-21
inherit (pkgs) git-standup; # added 2024-06-26
inherit (pkgs) gitmoji-cli; # added 2023-09-23
glob = pkgs.node-glob; # added 2023-08-18
inherit (pkgs) get-graphql-schema; # added 2024-06-26
inherit (pkgs) gqlint; # added 2023-08-19
inherit (pkgs) gramma; # added 2024-06-26
grammarly-languageserver = throw "grammarly-languageserver was removed because it requires EOL Node.js 16"; # added 2024-07-15
inherit (pkgs) graphite-cli; # added 2024-01-25
inherit (pkgs) graphql-language-service-cli; # added 2025-03-17
inherit (pkgs) graphqurl; # added 2023-08-19
inherit (pkgs) grunt-cli; # added 2025-12-29
gtop = pkgs.gtop; # added 2023-07-31
gulp = self.gulp-cli; # Added 2025-11-04
gulp-cli = throw "gulp-cli has been removed because it was unmaintained in nixpkgs"; # Added 2026-02-12
he = throw "'he' has been removed because it was unmaintained upstream"; # Added 2025-11-14
hs-airdrop = throw "'hs-airdrop' has been removed because it was unmaintained upstream"; # Added 2025-11-14
hs-client = pkgs.hsd; # added 2023-08-20
inherit (pkgs) hsd; # added 2023-08-19
inherit (pkgs) html-minifier; # added 2023-08-19
inherit (pkgs) htmlhint; # added 2023-08-19
inherit (pkgs) http-server; # added 2024-01-20
hueadm = pkgs.hueadm; # added 2023-07-31
inherit (pkgs) hyperpotamus; # added 2023-08-19
ijavascript = throw "ijavascript has been removed because it was broken"; # added 2025-03-18
imapnotify = throw "'imapnotify' has been removed because it was unmaintained upstream"; # Added 2025-11-14
immich = pkgs.immich-cli; # added 2023-08-19
indium = throw "indium was removed because it was broken"; # added 2023-08-19
inliner = throw "inliner was removed because it was abandoned upstream"; # added 2024-08-23
inherit (pkgs) intelephense; # added 2024-08-31
insect = throw "insect was removed becuase it was deprecated by upstream. Use numbat instead."; # added 2024-12-02
ionic = throw "ionic was replaced by @ionic/cli"; # added 2023-08-19
inherit (pkgs) jake; # added 2023-08-19
inherit (pkgs) javascript-typescript-langserver; # added 2023-08-19
inherit (pkgs) js-beautify; # Added 2025-11-06
js-yaml = throw "js-yaml was removed because it was unmaintained in nixpkgs"; # Added 2026-02-12
inherit (pkgs) jsdoc; # Added 2025-11-29
inherit (pkgs) jshint; # Added 2025-11-06
json = throw "'json' has been removed because it was unmaintained upstream"; # Added 2025-11-14
inherit (pkgs) json-diff; # Added 2025-11-07
jsonlint = throw "'jsonlint' has been removed because it is unmaintained upstream"; # Added 2025-11-10
inherit (pkgs) jsonplaceholder; # Added 2025-11-04
json-refs = throw "'json-refs' has been removed because it is unmaintained and has several known vulnerable dependencies"; # Added 2025-11-10
inherit (pkgs) json-server; # Added 2025-11-06
joplin = pkgs.joplin-cli; # Added 2025-11-02
inherit (pkgs) kaput-cli; # added 2024-12-03
karma = pkgs.karma-runner; # added 2023-07-29
inherit (pkgs) katex; # Added 2025-11-08
keyoxide = pkgs.keyoxide-cli; # Added 2025-10-20
lcov-result-merger = throw "'lcov-result-merger' has been removed because it was unmaintained within nixpkgs"; # Added 2025-12-25
leetcode-cli = self.vsc-leetcode-cli; # added 2023-08-31
inherit (pkgs) lerna; # added 2025-02-12
less = pkgs.lessc; # added 2024-06-15
less-plugin-clean-css = pkgs.lessc.plugins.clean-css; # added 2024-06-15
livedown = throw "'livedown' has been removed because it was unmaintained"; # Added 2025-11-10
live-server = throw "'live-server' has been removed because it was unmaintained upstream"; # Added 2025-11-14
inherit (pkgs) localtunnel; # Added 2025-11-08
lodash = throw "lodash was removed because it provides no executable"; # added 2025-03-18
lua-fmt = throw "'lua-fmt' has been removed because it has critical bugs that break formatting"; # Added 2025-11-07
inherit (pkgs) lv_font_conv; # added 2024-06-28
madoko = throw "'madoko' has been removed because it was unmaintained upstream"; # Added 2025-11-14
makam = throw "'makam' has been removed because it is unmaintained upstream"; # Added 2025-11-14
manta = pkgs.node-manta; # Added 2023-05-06
inherit (pkgs) markdown-link-check; # added 2024-06-28
markdownlint-cli = pkgs.markdownlint-cli; # added 2023-07-29
inherit (pkgs) markdownlint-cli2; # added 2023-08-22
inherit (pkgs) mathjax; # Added 2025-11-28
inherit (pkgs) mathjax-node-cli; # added 2023-11-02
mastodon-bot = throw "'mastodon-bot' has been removed because it was archived by upstream in 2021."; # Added 2025-11-07
mdctl-cli = self."@medable/mdctl-cli"; # added 2023-08-21
meat = throw "meat was removed because it was abandoned upstream."; # Added 2025-10-20
inherit (pkgs) mermaid-cli; # added 2023-10-01
meshcommander = throw "meshcommander was removed because it was abandoned upstream"; # added 2024-12-02
inherit (pkgs) mocha; # Added 2025-11-04
multi-file-swagger = throw "'multi-file-swagger' has been removed because it is unmaintained upstream"; # Added 2025-11-10
musescore-downloader = pkgs.dl-librescore; # added 2023-08-19
near-cli = throw "'near-cli' has been removed as upstream has deprecated it and archived the source code repo"; # Added 2025-11-10
neovim = pkgs.neovim-node-client; # added 2024-11-13
nijs = throw "'nijs' has been removed as it was unmaintained upstream"; # Added 2025-11-14
inherit (pkgs) node-gyp-build; # Added 2025-11-27
node-inspector = throw "node-inspector was removed because it was broken"; # added 2023-08-21
inherit (pkgs) node-gyp; # added 2024-08-13
inherit (pkgs) node-pre-gyp; # added 2024-08-05
inherit (pkgs) node-red; # added 2024-10-06
inherit (pkgs) nodemon; # added 2024-06-28
np = throw "'np' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
npm = pkgs.nodejs.overrideAttrs (old: {
meta = old.meta // {
mainProgram = "npm";
};
}); # added 2024-10-04
inherit (pkgs) npm-check-updates; # added 2023-08-22
npm-merge-driver = throw "'npm-merge-driver' has been removed, since the upstream repo was archived on Aug 11, 2021"; # Added 2025-11-07
inherit (pkgs) nrm; # Added 2025-11-08
ocaml-language-server = throw "ocaml-language-server was removed because it was abandoned upstream"; # added 2023-09-04
orval = throw "orval has been removed because it was broken"; # added 2025-03-23
parcel = throw "parcel has been removed because it was broken"; # added 2025-03-12
parcel-bundler = self.parcel; # added 2023-09-04
parsoid = throw "The Javascript version of Parsoid has been deprecated by upstream and no longer works with modern MediaWiki versions"; # Added 2025-11-04
inherit (pkgs) patch-package; # added 2024-06-29
peerflix = throw "'peerflix' has been removed because it was unmaintained upstream"; # Added 2025-11-14
inherit (pkgs) peerflix-server; # Added 2025-11-10
pkg = pkgs.vercel-pkg; # added 2023-10-04
inherit (pkgs) pm2; # added 2024-01-22
inherit (pkgs) pnpm; # added 2024-06-26
poor-mans-t-sql-formatter-cli = throw "'poor-mans-t-sql-formatter-cli' has been removed because it was unmaintained upstream"; # Added 2025-11-14
inherit (pkgs) postcss; # Added 2025-12-24
postcss-cli = throw "postcss-cli has been removed because it was broken"; # added 2025-03-24
prebuild-install = throw "prebuild-install was removed because it appeared to be unmaintained upstream. See upstream's recommendations for alternatives here: https://github.com/prebuild/prebuild-install#note"; # Added 2025-12-14
inherit (pkgs) prettier; # added 2025-05-31
prettier_d_slim = pkgs.prettier-d-slim; # added 2023-09-14
prettier-plugin-toml = throw "prettier-plugin-toml was removed because it provides no executable"; # added 2025-03-23
inherit (pkgs) prisma; # added 2024-08-31
pscid = throw "'pscid' has been removed because it was unmaintained upstream"; # Added 2025-12-07
pulp = throw "'pulp' has been removed because it was unmaintained upstream"; # Added 2025-12-07
purescript-language-server = throw "'purescript-language-server' has been removed because it was unmaintained within nixpkgs"; # Added 2025-12-12
purescript-psa = throw "'purescript-psa' has been removed because it was unmaintained within nixpkgs"; # Added 2025-12-12
purs-tidy = throw "'purs-tidy' has been removed because it was unmaintained within nixpkgs"; # Added 2025-12-12
purty = throw "'purty' has been remved because it was unmaintained upstream"; # Added 2025-11-14
inherit (pkgs) pxder; # added 2023-09-26
inherit (pkgs) quicktype; # added 2023-09-09
react-native-cli = throw "react-native-cli was removed because it was deprecated"; # added 2023-09-25
react-static = throw "'react-static has been removed because of a lack of upstream maintainance"; # Converted to throw 2025-11-04
react-tools = throw "react-tools was removed because it was deprecated"; # added 2023-09-25
readability-cli = pkgs.readability-cli; # Added 2023-06-12
inherit (pkgs) redoc-cli; # added 2023-09-12
remod-cli = pkgs.remod; # added 2024-12-04
"reveal.js" = throw "reveal.js was removed because it provides no executable"; # added 2025-03-23
reveal-md = pkgs.reveal-md; # added 2023-07-31
rimraf = throw "rimraf was removed because it is a library, and your project should lock it instead."; # added 2025-05-28
rollup = throw "rollup has been removed because it was broken"; # added 2025-04-28
inherit (pkgs) rtlcss; # added 2023-08-29
s3http = throw "s3http was removed because it was abandoned upstream"; # added 2023-08-18
sass = throw "sass has been removed because it was unmaintained in nixpkgs"; # Added 2026-03-01
inherit (pkgs) serve; # added 2025-08-27
inherit (pkgs) serverless; # Added 2023-11-29
shout = throw "shout was removed because it was deprecated upstream in favor of thelounge."; # Added 2024-10-19
inherit (pkgs) sloc; # Added 2025-11-28
smartdc = throw "'smartdc' was removed because it was unmaintained upstream"; # Added 2025-11-14
inherit (pkgs) snyk; # Added 2023-08-30
"socket.io" = throw "socket.io was removed because it provides no executable"; # added 2025-03-23
speed-test = throw "'speed-test' has been removed because it was broken"; # Added 2025-11-07
inherit (pkgs) sql-formatter; # added 2024-06-29
"@squoosh/cli" = throw "@squoosh/cli was removed because it was abandoned upstream"; # added 2023-09-02
ssb-server = throw "ssb-server was removed because it was broken"; # added 2023-08-21
stackdriver-statsd-backend = throw "stackdriver-statsd-backend was removed because Stackdriver is now discontinued"; # added 2024-12-02
stf = throw "stf was removed because it was broken"; # added 2023-08-21
inherit (pkgs) stylelint; # added 2023-09-13
surge = pkgs.surge-cli; # Added 2023-09-08
inherit (pkgs) svelte-check; # Added 2025-11-10
inherit (pkgs) svelte-language-server; # Added 2024-05-12
inherit (pkgs) svgo; # added 2025-08-24
swagger = throw "swagger was removed because it was broken and abandoned upstream"; # added 2023-09-09
inherit (pkgs) tailwindcss; # added 2024-12-04
teck-programmer = throw "teck-programmer was removed because it was broken and unmaintained"; # added 2024-08-23
tedicross = throw "tedicross was removed because it was broken"; # added 2023-09-09
tern = throw "'tern' was removed because it has been unmaintained upstream for several years"; # Added 2025-11-07
inherit (pkgs) terser; # Added 2023-08-31
inherit (pkgs) textlint; # Added 2024-05-13
textlint-plugin-latex = throw "textlint-plugin-latex was removed because it is unmaintained for years. Please use textlint-plugin-latex2e instead."; # Added 2024-05-17
inherit (pkgs) textlint-rule-abbr-within-parentheses; # Added 2024-05-17
inherit (pkgs) textlint-rule-alex; # Added 2024-05-16
inherit (pkgs) textlint-rule-common-misspellings; # Added 2024-05-25
inherit (pkgs) textlint-rule-diacritics; # Added 2024-05-16
inherit (pkgs) textlint-rule-en-max-word-count; # Added 2024-05-17
inherit (pkgs) textlint-rule-max-comma; # Added 2024-05-15
inherit (pkgs) textlint-rule-no-start-duplicated-conjunction; # Added 2024-05-17
inherit (pkgs) textlint-rule-period-in-list-item; # Added 2024-05-17
inherit (pkgs) textlint-rule-stop-words; # Added 2024-05-17
inherit (pkgs) textlint-rule-terminology; # Added 2024-05-17
inherit (pkgs) textlint-rule-unexpanded-acronym; # Added 2024-05-17
inherit (pkgs) textlint-rule-write-good; # Added 2024-05-16
thelounge = pkgs.thelounge; # Added 2023-05-22
thelounge-plugin-closepms = throw "thelounge-plugin-closepms has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-plugin-giphy = throw "thelounge-plugin-giphy has been removed because thelounge moved out of nodePackages"; # added 2025-03-12
thelounge-plugin-shortcuts = throw "thelounge-plugin-shortcuts has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-abyss = throw "thelounge-theme-abyss has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-amoled = throw "thelounge-theme-amoled has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-amoled-sourcecodepro = throw "thelounge-theme-amoled-sourcecodepro has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-bdefault = throw "thelounge-theme-bdefault has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-bmorning = throw "thelounge-theme-bmorning has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-chord = throw "thelounge-theme-chord has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-classic = throw "thelounge-theme-classic has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-common = throw "thelounge-theme-common has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-crypto = throw "thelounge-theme-crypto has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-discordapp = throw "thelounge-theme-discordapp has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-dracula = throw "thelounge-theme-dracula has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-dracula-official = throw "thelounge-theme-dracula-official has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-flat-blue = throw "thelounge-theme-flat-blue has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-flat-dark = throw "thelounge-theme-flat-dark has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-gruvbox = throw "thelounge-theme-gruvbox has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-hexified = throw "thelounge-theme-hexified has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-ion = throw "thelounge-theme-ion has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-light = throw "thelounge-theme-light has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-midnight = throw "thelounge-theme-midnight has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-mininapse = throw "thelounge-theme-mininapse has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-monokai-console = throw "thelounge-theme-monokai-console has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-mortified = throw "thelounge-theme-mortified has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-neuron-fork = throw "thelounge-theme-neuron-fork has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-new-morning = throw "thelounge-theme-new-morning has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-new-morning-compact = throw "thelounge-theme-new-morning-compact has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-nologo = throw "thelounge-theme-nologo has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-nord = throw "thelounge-theme-nord has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-onedark = throw "thelounge-theme-onedark has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-purplenight = throw "thelounge-theme-purplenight has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-scoutlink = throw "thelounge-theme-scoutlink has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-seraphimrp = throw "thelounge-theme-seraphimrp has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-solarized = throw "thelounge-theme-solarized has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-solarized-fork-monospace = throw "thelounge-theme-solarized-fork-monospace has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-zenburn = throw "thelounge-theme-zenburn has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-zenburn-monospace = throw "thelounge-theme-zenburn-monospace has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
thelounge-theme-zenburn-sourcecodepro = throw "thelounge-theme-zenburn-sourcecodepro has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
three = throw "three was removed because it was no longer needed"; # Added 2023-09-08
inherit (pkgs) tiddlywiki; # Added 2025-11-10
triton = pkgs.triton; # Added 2023-05-06
ts-node = throw "'ts-node' was removed because it is unmaintained, and since NodeJS 22.6.0+, experimental TypeScript support is built-in to NodeJS."; # Added 2025-11-07
tsun = throw "'tsun' has been removed because it was unmaintained upstream"; # Added 2025-11-14
ttf2eot = throw "'ttf2eot' has been removed because it was unmaintained upstream"; # Added 2025-11-14
typescript = pkgs.typescript; # Added 2023-06-21
inherit (pkgs) typescript-language-server; # added 2024-02-27
inherit (pkgs) uglify-js; # added 2024-06-15
inherit (pkgs) undollar; # added 2024-06-29
inherit (pkgs) ungit; # added 2023-08-20
unified-language-server = throw "unified-language-server was removed as it is a library that should be imported within a Javascript project, not an end-user tool"; # added 2025-10-02
inherit (pkgs) uppy-companion; # Added 2025-11-01
inherit (pkgs) vega-cli; # Added 2025-12-18
inherit (pkgs) vega-lite; # Added 2025-11-04
vercel = throw "vercel has been removed because it was unmaintained in nixpkgs"; # Added 2026-02-12
inherit (pkgs) vim-language-server; # added 2024-06-25
vls = throw "vls has been deprecated by upstream as vetur is also deprecated. Upstream suggests migrating to Volar for Vue LSP tooling instead."; # added 2024-12-09
inherit (pkgs) vsc-leetcode-cli; # Added 2023-08-30
vscode-css-languageserver-bin = throw "vscode-css-languageserver-bin has been removed since the upstream repository is archived; consider using vscode-langservers-extracted instead."; # added 2024-06-26
vscode-html-languageserver-bin = throw "vscode-html-languageserver-bin has been removed since the upstream repository is archived; consider using vscode-langservers-extracted instead."; # added 2024-06-26
inherit (pkgs) vscode-json-languageserver; # added 2025-06-19
vscode-json-languageserver-bin = throw "vscode-json-languageserver-bin has been removed since the upstream repository is archived; consider using vscode-langservers-extracted instead."; # added 2024-06-26
vscode-langservers-extracted = pkgs.vscode-langservers-extracted; # Added 2023-05-27
vue-language-server = self.vls; # added 2023-08-20
vue-cli = throw "vue-cli has been removed since upstream no longer recommends using it; consider using create-vue and the new Vite-based tooling instead."; # added 2024-07-12
wavedrom-cli = throw "wavedrom-cli has been removed because it was unmaintained within nixpkgs"; # Added 2026-01-20
inherit (pkgs) web-ext; # added 2023-08-20
webpack = throw "'webpack' has been removed because it is a library that should be imported within a Javascript project, not an end-user tool."; # Added 2025-11-04
inherit (pkgs) webpack-cli; # added 2024-12-03
webpack-dev-server = throw "webpack-dev-server has been removed. You should install it in your JS project instead."; # added 2024-12-05
webtorrent-cli = throw "webtorrent-cli has been removed because it was broken"; # added 2025-03-12
inherit (pkgs) wrangler; # added 2024-07-01
wring = throw "'wring' has been removed since it has been abandoned upstream"; # Added 2025-11-07
inherit (pkgs) write-good; # added 2023-08-20
inherit (pkgs) yalc; # added 2024-06-29
inherit (pkgs) yaml-language-server; # added 2023-09-05
inherit (pkgs) yarn; # added 2024-08-13
inherit (pkgs) yo; # added 2023-08-20
zx = pkgs.zx; # added 2023-08-01
}
@@ -1,33 +0,0 @@
# This file has been generated by node2nix 1.11.1. Do not edit!
{
pkgs ? import <nixpkgs> {
inherit system;
},
system ? builtins.currentSystem,
nodejs ? pkgs."nodejs_22",
}:
let
nodeEnv = import ./node-env.nix {
inherit (pkgs)
stdenv
lib
runCommand
writeTextFile
writeShellScript
;
inherit pkgs nodejs;
libtool = if pkgs.stdenv.hostPlatform.isDarwin then pkgs.cctools or pkgs.darwin.cctools else null;
};
in
import ./node-packages.nix {
inherit (pkgs)
fetchurl
nix-gitignore
stdenv
lib
fetchgit
;
inherit nodeEnv;
}
@@ -1,31 +0,0 @@
{
config,
pkgs,
lib,
nodejs,
stdenv,
}:
let
inherit (lib)
composeManyExtensions
extends
makeExtensible
;
nodePackages =
final:
import ./composition.nix {
inherit pkgs nodejs;
inherit (stdenv.hostPlatform) system;
};
aliases =
final: prev: lib.optionalAttrs config.allowAliases (import ./aliases.nix pkgs lib final prev);
extensions = composeManyExtensions [
aliases
(import ./overrides.nix { inherit pkgs nodejs; })
];
in
makeExtensible (extends extensions nodePackages)
@@ -1,23 +0,0 @@
#!/usr/bin/env bash
set -eu -o pipefail
cd "$( dirname "${BASH_SOURCE[0]}" )"
node2nix=$(nix-build ../../.. -A nodePackages.node2nix)
rm -f ./node-env.nix
# Track the latest active nodejs LTS here: https://nodejs.org/en/about/releases/
"${node2nix}/bin/node2nix" \
-i node-packages.json \
-o node-packages.nix \
-c composition.nix \
--pkg-name nodejs_22
# using --no-out-link in nix-build argument would cause the
# gc to run before the script finishes
# which would cause a failure
# it's safer to just remove the link after the script finishes
# see https://github.com/NixOS/nixpkgs/issues/112846 for more details
rm ./result
-798
View File
@@ -1,798 +0,0 @@
# This file originates from node2nix
{
lib,
stdenv,
nodejs,
pkgs,
libtool,
runCommand,
writeTextFile,
writeShellScript,
}:
let
inherit (nodejs) python;
# Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
tarWrapper = runCommand "tarWrapper" { } ''
mkdir -p $out/bin
cat > $out/bin/tar <<EOF
#! ${stdenv.shell} -e
$(type -p tar) "\$@" --warning=no-unknown-keyword --delay-directory-restore
EOF
chmod +x $out/bin/tar
'';
# Function that generates a TGZ file from a NPM project
buildNodeSourceDist =
{
name,
version,
src,
...
}:
stdenv.mkDerivation {
name = "node-tarball-${name}-${version}";
inherit src;
buildInputs = [ nodejs ];
buildPhase = ''
export HOME=$TMPDIR
tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
'';
installPhase = ''
mkdir -p $out/tarballs
mv $tgzFile $out/tarballs
mkdir -p $out/nix-support
echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
'';
};
# Common shell logic
installPackage = writeShellScript "install-package" ''
installPackage() {
local packageName=$1 src=$2
local strippedName
local DIR=$PWD
cd $TMPDIR
unpackFile $src
# Make the base dir in which the target dependency resides first
mkdir -p "$(dirname "$DIR/$packageName")"
if [ -f "$src" ]
then
# Figure out what directory has been unpacked
packageDir="$(find . -maxdepth 1 -type d | tail -1)"
# Restore write permissions to make building work
find "$packageDir" -type d -exec chmod u+x {} \;
chmod -R u+w "$packageDir"
# Move the extracted tarball into the output folder
mv "$packageDir" "$DIR/$packageName"
elif [ -d "$src" ]
then
# Get a stripped name (without hash) of the source directory.
# On old nixpkgs it's already set internally.
if [ -z "$strippedName" ]
then
strippedName="$(stripHash $src)"
fi
# Restore write permissions to make building work
chmod -R u+w "$strippedName"
# Move the extracted directory into the output folder
mv "$strippedName" "$DIR/$packageName"
fi
# Change to the package directory to install dependencies
cd "$DIR/$packageName"
}
'';
# Bundle the dependencies of the package
#
# Only include dependencies if they don't exist. They may also be bundled in the package.
includeDependencies =
{ dependencies }:
lib.optionalString (dependencies != [ ]) (
''
mkdir -p node_modules
cd node_modules
''
+ (lib.concatMapStrings (dependency: ''
if [ ! -e "${dependency.packageName}" ]; then
${composePackage dependency}
fi
'') dependencies)
+ ''
cd ..
''
);
# Recursively composes the dependencies of a package
composePackage =
{
name,
packageName,
src,
dependencies ? [ ],
...
}@args:
builtins.addErrorContext "while evaluating node package '${packageName}'" ''
installPackage "${packageName}" "${src}"
${includeDependencies { inherit dependencies; }}
cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
'';
pinpointDependencies =
{ dependencies, production }:
let
pinpointDependenciesFromPackageJSON = writeTextFile {
name = "pinpointDependencies.js";
text = ''
var fs = require('fs');
var path = require('path');
function resolveDependencyVersion(location, name) {
if(location == process.env['NIX_STORE']) {
return null;
} else {
var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
if(fs.existsSync(dependencyPackageJSON)) {
var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
if(dependencyPackageObj.name == name) {
return dependencyPackageObj.version;
}
} else {
return resolveDependencyVersion(path.resolve(location, ".."), name);
}
}
}
function replaceDependencies(dependencies) {
if(typeof dependencies == "object" && dependencies !== null) {
for(var dependency in dependencies) {
var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
if(resolvedVersion === null) {
process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
} else {
dependencies[dependency] = resolvedVersion;
}
}
}
}
/* Read the package.json configuration */
var packageObj = JSON.parse(fs.readFileSync('./package.json'));
/* Pinpoint all dependencies */
replaceDependencies(packageObj.dependencies);
if(process.argv[2] == "development") {
replaceDependencies(packageObj.devDependencies);
}
else {
packageObj.devDependencies = {};
}
replaceDependencies(packageObj.optionalDependencies);
replaceDependencies(packageObj.peerDependencies);
/* Write the fixed package.json file */
fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
'';
};
in
''
node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
${lib.optionalString (dependencies != [ ]) ''
if [ -d node_modules ]
then
cd node_modules
${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
cd ..
fi
''}
'';
# Recursively traverses all dependencies of a package and pinpoints all
# dependencies in the package.json file to the versions that are actually
# being used.
pinpointDependenciesOfPackage =
{
packageName,
dependencies ? [ ],
production ? true,
...
}@args:
''
if [ -d "${packageName}" ]
then
cd "${packageName}"
${pinpointDependencies { inherit dependencies production; }}
cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
fi
'';
# Extract the Node.js source code which is used to compile packages with
# native bindings
nodeSources = runCommand "node-sources" { } ''
tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
mv node-* $out
'';
# Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
addIntegrityFieldsScript = writeTextFile {
name = "addintegrityfields.js";
text = ''
var fs = require('fs');
var path = require('path');
function augmentDependencies(baseDir, dependencies) {
for(var dependencyName in dependencies) {
var dependency = dependencies[dependencyName];
// Open package.json and augment metadata fields
var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
var packageJSONPath = path.join(packageJSONDir, "package.json");
if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
console.log("Adding metadata fields to: "+packageJSONPath);
var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
if(dependency.integrity) {
packageObj["_integrity"] = dependency.integrity;
} else {
packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
}
if(dependency.resolved) {
packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided
} else {
packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
}
if(dependency.from !== undefined) { // Adopt from property if one has been provided
packageObj["_from"] = dependency.from;
}
fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
}
// Augment transitive dependencies
if(dependency.dependencies !== undefined) {
augmentDependencies(packageJSONDir, dependency.dependencies);
}
}
}
if(fs.existsSync("./package-lock.json")) {
var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
if(![1, 2].includes(packageLock.lockfileVersion)) {
process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
process.exit(1);
}
if(packageLock.dependencies !== undefined) {
augmentDependencies(".", packageLock.dependencies);
}
}
'';
};
# Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
reconstructPackageLock = writeTextFile {
name = "reconstructpackagelock.js";
text = ''
var fs = require('fs');
var path = require('path');
var packageObj = JSON.parse(fs.readFileSync("package.json"));
var lockObj = {
name: packageObj.name,
version: packageObj.version,
lockfileVersion: 2,
requires: true,
packages: {
"": {
name: packageObj.name,
version: packageObj.version,
license: packageObj.license,
bin: packageObj.bin,
dependencies: packageObj.dependencies,
engines: packageObj.engines,
optionalDependencies: packageObj.optionalDependencies
}
},
dependencies: {}
};
function augmentPackageJSON(filePath, packages, dependencies) {
var packageJSON = path.join(filePath, "package.json");
if(fs.existsSync(packageJSON)) {
var packageObj = JSON.parse(fs.readFileSync(packageJSON));
packages[filePath] = {
version: packageObj.version,
integrity: "sha1-000000000000000000000000000=",
dependencies: packageObj.dependencies,
engines: packageObj.engines,
optionalDependencies: packageObj.optionalDependencies
};
dependencies[packageObj.name] = {
version: packageObj.version,
integrity: "sha1-000000000000000000000000000=",
dependencies: {}
};
processDependencies(path.join(filePath, "node_modules"), packages, dependencies[packageObj.name].dependencies);
}
}
function processDependencies(dir, packages, dependencies) {
if(fs.existsSync(dir)) {
var files = fs.readdirSync(dir);
files.forEach(function(entry) {
var filePath = path.join(dir, entry);
var stats = fs.statSync(filePath);
if(stats.isDirectory()) {
if(entry.substr(0, 1) == "@") {
// When we encounter a namespace folder, augment all packages belonging to the scope
var pkgFiles = fs.readdirSync(filePath);
pkgFiles.forEach(function(entry) {
if(stats.isDirectory()) {
var pkgFilePath = path.join(filePath, entry);
augmentPackageJSON(pkgFilePath, packages, dependencies);
}
});
} else {
augmentPackageJSON(filePath, packages, dependencies);
}
}
});
}
}
processDependencies("node_modules", lockObj.packages, lockObj.dependencies);
fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
'';
};
# Script that links bins defined in package.json to the node_modules bin directory
# NPM does not do this for top-level packages itself anymore as of v7
linkBinsScript = writeTextFile {
name = "linkbins.js";
text = ''
var fs = require('fs');
var path = require('path');
var packageObj = JSON.parse(fs.readFileSync("package.json"));
var nodeModules = Array(packageObj.name.split("/").length).fill("..").join(path.sep);
if(packageObj.bin !== undefined) {
fs.mkdirSync(path.join(nodeModules, ".bin"))
if(typeof packageObj.bin == "object") {
Object.keys(packageObj.bin).forEach(function(exe) {
if(fs.existsSync(packageObj.bin[exe])) {
console.log("linking bin '" + exe + "'");
fs.symlinkSync(
path.join("..", packageObj.name, packageObj.bin[exe]),
path.join(nodeModules, ".bin", exe)
);
}
else {
console.log("skipping non-existent bin '" + exe + "'");
}
})
}
else {
if(fs.existsSync(packageObj.bin)) {
console.log("linking bin '" + packageObj.bin + "'");
fs.symlinkSync(
path.join("..", packageObj.name, packageObj.bin),
path.join(nodeModules, ".bin", packageObj.name.split("/").pop())
);
}
else {
console.log("skipping non-existent bin '" + packageObj.bin + "'");
}
}
}
else if(packageObj.directories !== undefined && packageObj.directories.bin !== undefined) {
fs.mkdirSync(path.join(nodeModules, ".bin"))
fs.readdirSync(packageObj.directories.bin).forEach(function(exe) {
if(fs.existsSync(path.join(packageObj.directories.bin, exe))) {
console.log("linking bin '" + exe + "'");
fs.symlinkSync(
path.join("..", packageObj.name, packageObj.directories.bin, exe),
path.join(nodeModules, ".bin", exe)
);
}
else {
console.log("skipping non-existent bin '" + exe + "'");
}
})
}
'';
};
prepareAndInvokeNPM =
{
packageName,
bypassCache,
reconstructLock,
npmFlags,
production,
}:
let
forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
in
''
# Pinpoint the versions of all dependencies to the ones that are actually being used
echo "pinpointing versions of dependencies..."
source $pinpointDependenciesScriptPath
# Patch the shebangs of the bundled modules to prevent them from
# calling executables outside the Nix store as much as possible
patchShebangs .
# Deploy the Node.js package by running npm install. Since the
# dependencies have been provided already by ourselves, it should not
# attempt to install them again, which is good, because we want to make
# it Nix's responsibility. If it needs to install any dependencies
# anyway (e.g. because the dependency parameters are
# incomplete/incorrect), it fails.
#
# The other responsibilities of NPM are kept -- version checks, build
# steps, postprocessing etc.
export HOME=$TMPDIR
cd "${packageName}"
runHook preRebuild
${lib.optionalString bypassCache ''
${lib.optionalString reconstructLock ''
if [ -f package-lock.json ]
then
echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
rm package-lock.json
else
echo "No package-lock.json file found, reconstructing..."
fi
node ${reconstructPackageLock}
''}
node ${addIntegrityFieldsScript}
''}
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
runHook postRebuild
if [ "''${dontNpmInstall-}" != "1" ]
then
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
rm -f npm-shrinkwrap.json
npm ${forceOfflineFlag} --nodedir=${nodeSources} --no-bin-links --ignore-scripts ${npmFlags} ${lib.optionalString production "--production"} install
fi
# Link executables defined in package.json
node ${linkBinsScript}
'';
# Builds and composes an NPM package including all its dependencies
buildNodePackage =
{
name,
packageName,
version ? null,
dependencies ? [ ],
buildInputs ? [ ],
production ? true,
npmFlags ? "",
dontNpmInstall ? false,
bypassCache ? false,
reconstructLock ? false,
preRebuild ? "",
dontStrip ? true,
unpackPhase ? "true",
buildPhase ? "true",
meta ? { },
...
}@args:
let
extraArgs = removeAttrs args [
"name"
"dependencies"
"buildInputs"
"dontStrip"
"dontNpmInstall"
"preRebuild"
"unpackPhase"
"buildPhase"
"meta"
];
in
stdenv.mkDerivation (
{
pname = name;
buildInputs = [
tarWrapper
python
nodejs
]
++ lib.optional (stdenv.hostPlatform.isLinux) pkgs.util-linux
++ lib.optional (stdenv.hostPlatform.isDarwin) libtool
++ buildInputs;
inherit nodejs;
inherit dontStrip; # Stripping may fail a build for some package deployments
inherit
dontNpmInstall
preRebuild
unpackPhase
buildPhase
;
compositionScript = composePackage args;
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
passAsFile = [
"compositionScript"
"pinpointDependenciesScript"
];
installPhase = ''
source ${installPackage}
# Create and enter a root node_modules/ folder
mkdir -p $out/lib/node_modules
cd $out/lib/node_modules
# Compose the package and all its dependencies
source $compositionScriptPath
${prepareAndInvokeNPM {
inherit
packageName
bypassCache
reconstructLock
npmFlags
production
;
}}
# Create symlink to the deployed executable folder, if applicable
if [ -d "$out/lib/node_modules/.bin" ]
then
ln -s $out/lib/node_modules/.bin $out/bin
# Fixup all executables
ls $out/bin/* | while read i
do
file="$(readlink -f "$i")"
chmod u+rwx "$file"
if isScript "$file"
then
sed -i 's/\r$//' "$file" # convert crlf to lf
fi
done
fi
# Create symlinks to the deployed manual page folders, if applicable
if [ -d "$out/lib/node_modules/${packageName}/man" ]
then
mkdir -p $out/share
for dir in "$out/lib/node_modules/${packageName}/man/"*
do
mkdir -p $out/share/man/$(basename "$dir")
for page in "$dir"/*
do
ln -s $page $out/share/man/$(basename "$dir")
done
done
fi
# Run post install hook, if provided
runHook postInstall
'';
meta = {
# default to Node.js' platforms
platforms = nodejs.meta.platforms;
}
// meta;
}
// extraArgs
);
# Builds a node environment (a node_modules folder and a set of binaries)
buildNodeDependencies =
{
name,
packageName,
version ? null,
src,
dependencies ? [ ],
buildInputs ? [ ],
production ? true,
npmFlags ? "",
dontNpmInstall ? false,
bypassCache ? false,
reconstructLock ? false,
dontStrip ? true,
unpackPhase ? "true",
buildPhase ? "true",
...
}@args:
let
extraArgs = removeAttrs args [
"name"
"dependencies"
"buildInputs"
];
in
stdenv.mkDerivation (
{
name = "node-dependencies-${name}${if version == null then "" else "-${version}"}";
buildInputs = [
tarWrapper
python
nodejs
]
++ lib.optional (stdenv.hostPlatform.isLinux) pkgs.util-linux
++ lib.optional (stdenv.hostPlatform.isDarwin) libtool
++ buildInputs;
inherit dontStrip; # Stripping may fail a build for some package deployments
inherit dontNpmInstall unpackPhase buildPhase;
includeScript = includeDependencies { inherit dependencies; };
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
passAsFile = [
"includeScript"
"pinpointDependenciesScript"
];
installPhase = ''
source ${installPackage}
mkdir -p $out/${packageName}
cd $out/${packageName}
source $includeScriptPath
# Create fake package.json to make the npm commands work properly
cp ${src}/package.json .
chmod 644 package.json
${lib.optionalString bypassCache ''
if [ -f ${src}/package-lock.json ]
then
cp ${src}/package-lock.json .
chmod 644 package-lock.json
fi
''}
# Go to the parent folder to make sure that all packages are pinpointed
cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
${prepareAndInvokeNPM {
inherit
packageName
bypassCache
reconstructLock
npmFlags
production
;
}}
# Expose the executables that were installed
cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
mv ${packageName} lib
ln -s $out/lib/node_modules/.bin $out/bin
'';
}
// extraArgs
);
# Builds a development shell
buildNodeShell =
{
name,
packageName,
version ? null,
src,
dependencies ? [ ],
buildInputs ? [ ],
production ? true,
npmFlags ? "",
dontNpmInstall ? false,
bypassCache ? false,
reconstructLock ? false,
dontStrip ? true,
unpackPhase ? "true",
buildPhase ? "true",
...
}@args:
let
nodeDependencies = buildNodeDependencies args;
extraArgs = removeAttrs args [
"name"
"dependencies"
"buildInputs"
"dontStrip"
"dontNpmInstall"
"unpackPhase"
"buildPhase"
];
in
stdenv.mkDerivation (
{
name = "node-shell-${name}${if version == null then "" else "-${version}"}";
buildInputs = [
python
nodejs
]
++ lib.optional (stdenv.hostPlatform.isLinux) pkgs.util-linux
++ buildInputs;
buildCommand = ''
mkdir -p $out/bin
cat > $out/bin/shell <<EOF
#! ${stdenv.shell} -e
$shellHook
exec ${stdenv.shell}
EOF
chmod +x $out/bin/shell
'';
# Provide the dependencies in a development shell through the NODE_PATH environment variable
inherit nodeDependencies;
shellHook = lib.optionalString (dependencies != [ ]) ''
export NODE_PATH=${nodeDependencies}/lib/node_modules
export PATH="${nodeDependencies}/bin:$PATH"
'';
}
// extraArgs
);
in
{
buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
buildNodePackage = lib.makeOverridable buildNodePackage;
buildNodeDependencies = lib.makeOverridable buildNodeDependencies;
buildNodeShell = lib.makeOverridable buildNodeShell;
}
@@ -1,4 +0,0 @@
[
"node2nix",
"semver"
]
File diff suppressed because it is too large Load Diff
@@ -1,56 +0,0 @@
{ pkgs, nodejs }:
let
inherit (pkgs)
lib
fetchFromGitHub
fetchpatch
;
in
final: prev: {
inherit nodejs;
node2nix = prev.node2nix.override {
# Get latest commit for misc fixes
src = fetchFromGitHub {
owner = "svanderburg";
repo = "node2nix";
rev = "315e1b85a6761152f57a41ccea5e2570981ec670";
sha256 = "sha256-8OxTOkwBPcnjyhXhxQEDd8tiaQoHt91zUJX5Ka+IXco=";
};
nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ];
postInstall =
let
patches = [
# Needed to fix packages with DOS line-endings after above patch - PR svanderburg/node2nix#314
(fetchpatch {
name = "convert-crlf-for-script-bin-files.patch";
url = "https://github.com/svanderburg/node2nix/commit/91aa511fe7107938b0409a02ab8c457a6de2d8ca.patch";
hash = "sha256-ISiKYkur/o8enKDzJ8mQndkkSC4yrTNlheqyH+LiXlU=";
})
# fix nodejs attr names
(fetchpatch {
url = "https://github.com/svanderburg/node2nix/commit/3b63e735458947ef39aca247923f8775633363e5.patch";
hash = "sha256-pe8Xm4mjPh9oKXugoMY6pRl8YYgtdw0sRXN+TienalU=";
})
# Use top-level cctools in generated files - PR svanderburg/node2nix#334
(fetchpatch {
url = "https://github.com/svanderburg/node2nix/commit/31c308bba5f39ea0105f66b9f40dbe57fed7a292.patch";
hash = "sha256-DdNRteonMvyffPh0uo0lUbsohKYnyqv0QcD9vjN6aXE=";
})
# Prefer util-linux over removed utillinux alias - PR svanderburg/node2nix#336
(fetchpatch {
url = "https://github.com/svanderburg/node2nix/commit/ef5dc43e15d13129a9ddf6164c7bc2800a25792e.patch";
hash = "sha256-ByIA0oQmEfb4PyVwGEtrR3NzWiy1YCn1FPdSKNDkNCw=";
})
];
in
''
${lib.concatStringsSep "\n" (
map (patch: "patch -d $out/lib/node_modules/node2nix -p1 < ${patch}") patches
)}
wrapProgram "$out/bin/node2nix" --prefix PATH : ${lib.makeBinPath [ pkgs.nix ]}
'';
};
}
@@ -1,67 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i python3 -p python3
import collections.abc
import fileinput
import json
import os.path
import re
import sys
def remove(attr):
with open(os.path.join(os.path.dirname(__file__), 'node-packages.json'), 'r+') as node_packages_json:
packages = json.load(node_packages_json)
idx = 0
while idx < len(packages):
if packages[idx] == attr or (isinstance(packages[idx], collections.abc.Mapping) and next(iter(packages[idx].keys())) == attr):
del packages[idx]
else:
idx += 1
node_packages_json.seek(0)
for idx, package in enumerate(packages):
if idx == 0:
node_packages_json.write('[\n ')
else:
node_packages_json.write(', ')
json.dump(package, node_packages_json)
node_packages_json.write('\n')
node_packages_json.write(']\n')
node_packages_json.truncate()
with fileinput.input(os.path.join(os.path.dirname(__file__), 'node-packages.nix'), inplace=1) as node_packages:
safe_attr = re.escape(attr)
in_attr = False
for line in node_packages:
if in_attr:
if re.fullmatch(r' \};\n', line):
in_attr = False
else:
if re.fullmatch(rf' (?:{safe_attr}|"{safe_attr}") = nodeEnv\.buildNodePackage \{{\n', line):
in_attr = True
else:
sys.stdout.write(line)
with fileinput.input(os.path.join(os.path.dirname(__file__), 'overrides.nix'), inplace=1) as overrides:
safe_attr = re.escape(attr)
in_attr = False
for line in overrides:
if in_attr:
if re.fullmatch(r' \}\)?;\n', line):
in_attr = False
else:
if re.fullmatch(rf' (?:{safe_attr}|"{safe_attr}") = .* \{{\n', line):
in_attr = True
else:
sys.stdout.write(line)
if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser(description='Remove a given package from the node-packages.nix file')
parser.add_argument('attr', help='The package attribute to remove')
args = parser.parse_args()
remove(args.attr)
@@ -44,14 +44,14 @@
buildPythonPackage (finalAttrs: {
pname = "dask";
version = "2026.1.2";
version = "2026.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "dask";
repo = "dask";
tag = finalAttrs.version;
hash = "sha256-cyeAU5r8uYb7aAII9HztKY+3On44/nOC9eU9stYYWzE=";
hash = "sha256-JfCiABGSCJKKSz2/r8fvpVwdQSZqvoQICe+lDvuNhoM=";
};
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
@@ -118,6 +118,10 @@ buildPythonPackage (finalAttrs: {
pytestFlags = [
# Rerun failed tests up to three times
"--reruns=3"
# FutureWarning: The previous implementation of stack is deprecated and will be removed in a
# future version of pandas.
"-Wignore::FutureWarning"
];
disabledTestMarks = [
@@ -125,8 +129,16 @@ buildPythonPackage (finalAttrs: {
"network"
];
# https://github.com/dask/dask/issues/12042
disabledTests = lib.optionals (pythonAtLeast "3.14") [
disabledTests = [
# https://github.com/dask/dask/issues/10931
"test_combine_first_all_nans"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# RuntimeWarning: divide by zero encountered in det
"test_array_notimpl_function_dask"
]
++ lib.optionals (pythonAtLeast "3.14") [
# https://github.com/dask/dask/issues/12042
"test_multiple_repartition_partition_size"
];
@@ -27,14 +27,14 @@
buildPythonPackage (finalAttrs: {
pname = "distributed";
version = "2026.1.2";
version = "2026.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "dask";
repo = "distributed";
tag = finalAttrs.version;
hash = "sha256-VkZ9rd+eVyfwfRMSAqriR8UjdlqsqHYCkCHZJnk0VOU=";
hash = "sha256-lStJwJbhuyPuJ7Nbcm6S6f7tq1T5DtAy8zE1p2Mdrt0=";
};
build-system = [
@@ -11,6 +11,7 @@
gnupg,
gpgme,
merge3,
nix-update-script,
openssh,
paramiko,
pytestCheckHook,
@@ -98,6 +99,13 @@ buildPythonPackage (finalAttrs: {
pythonImportsCheck = [ "dulwich" ];
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"^dulwich-([1-9][0-9.]+)$"
];
};
meta = {
description = "Implementation of the Git file formats and protocols";
longDescription = ''
@@ -1,23 +1,38 @@
{
lib,
buildPythonPackage,
fetchPypi,
fetchFromGitHub,
fetchpatch,
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "filebytes";
version = "0.10.2";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit pname version;
sha256 = "0h97i6h525hg401dvvaa5krxi184qpvldbdn0izmirvr9pvh4hkn";
src = fetchFromGitHub {
owner = "sashs";
repo = "filebytes";
tag = "v${finalAttrs.version}";
hash = "sha256-8DGVCqWnEiqLCKWAYWrAjr50ZB6SMPMH+VqMqpALnVo=";
};
patches = [
# Upstream PR: https://github.com/sashs/filebytes/pull/36
(fetchpatch {
name = "python-3.14.patch";
url = "https://github.com/sashs/filebytes/commit/469058d50d4b7ff8da54b623a0a1aa972cd78dc6.patch";
hash = "sha256-VizYOqyJ3xpJIU4KKsYcz2DCurlfrWTgdsn84FVWD6w=";
})
];
build-system = [ setuptools ];
meta = {
homepage = "https://scoding.de/filebytes-introduction";
license = lib.licenses.gpl2;
license = lib.licenses.bsd3;
description = "Scripts to parse ELF, PE, Mach-O and OAT (Android Runtime)";
maintainers = with lib.maintainers; [ bennofs ];
};
}
})

Some files were not shown because too many files have changed in this diff Show More