push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,110 @@
{
stdenv,
lib,
fetchFromGitHub,
rustPlatform,
openssl,
zlib,
zstd,
pkg-config,
python3,
xorg,
nghttp2,
libgit2,
withDefaultFeatures ? true,
additionalFeatures ? (p: p),
testers,
nushell,
nix-update-script,
curlMinimal,
}:
let
# NOTE: when updating this to a new non-patch version, please also try to
# update the plugins. Plugins only work if they are compiled for the same
# major/minor version.
version = "0.106.1";
in
rustPlatform.buildRustPackage {
pname = "nushell";
inherit version;
src = fetchFromGitHub {
owner = "nushell";
repo = "nushell";
tag = version;
hash = "sha256-VrGsdO7RiTlf8JK3MBMcgj0z4cWUklDwikMN5Pu6JQI=";
};
cargoHash = "sha256-GSpR54QGiY9Yrs/A8neoKK6hMvSr3ORtNnwoz4GGprY=";
nativeBuildInputs = [
pkg-config
]
++ lib.optionals (withDefaultFeatures && stdenv.hostPlatform.isLinux) [ python3 ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ rustPlatform.bindgenHook ];
buildInputs = [
zstd
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ zlib ]
++ lib.optionals (withDefaultFeatures && stdenv.hostPlatform.isLinux) [ xorg.libX11 ]
++ lib.optionals (withDefaultFeatures && stdenv.hostPlatform.isDarwin) [
nghttp2
libgit2
];
buildNoDefaultFeatures = !withDefaultFeatures;
buildFeatures = additionalFeatures [ ];
preCheck = ''
export NU_TEST_LOCALE_OVERRIDE="en_US.UTF-8"
'';
checkPhase = ''
runHook preCheck
(
# The skipped tests all fail in the sandbox because in the nushell test playground,
# the tmp $HOME is not set, so nu falls back to looking up the passwd dir of the build
# user (/var/empty). The assertions however do respect the set $HOME.
set -x
HOME=$(mktemp -d) cargo test -j $NIX_BUILD_CORES --offline -- \
--test-threads=$NIX_BUILD_CORES \
--skip=repl::test_config_path::test_default_config_path \
--skip=repl::test_config_path::test_xdg_config_bad \
--skip=repl::test_config_path::test_xdg_config_empty ${lib.optionalString stdenv.hostPlatform.isDarwin ''
\
--skip=plugins::config::some \
--skip=plugins::stress_internals::test_exit_early_local_socket \
--skip=plugins::stress_internals::test_failing_local_socket_fallback \
--skip=plugins::stress_internals::test_local_socket
''}
)
runHook postCheck
'';
checkInputs =
lib.optionals stdenv.hostPlatform.isDarwin [ curlMinimal ]
++ lib.optionals stdenv.hostPlatform.isLinux [ openssl ];
passthru = {
shellPath = "/bin/nu";
tests.version = testers.testVersion {
package = nushell;
};
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Modern shell written in Rust";
homepage = "https://www.nushell.sh/";
license = licenses.mit;
maintainers = with maintainers; [
Br1ght0ne
johntitor
joaquintrinanes
ryan4yin
];
mainProgram = "nu";
};
}

View File

@@ -0,0 +1,40 @@
{
stdenv,
lib,
rustPlatform,
pkg-config,
nix-update-script,
fetchFromGitHub,
dbus,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_dbus";
version = "0.14.0";
src = fetchFromGitHub {
owner = "devyn";
repo = "nu_plugin_dbus";
tag = finalAttrs.version;
hash = "sha256-Ga+1zFwS/v+3iKVEz7TFmJjyBW/gq6leHeyH2vjawto=";
};
cargoHash = "sha256-7pD5LA1ytO7VqFnHwgf7vW9eS3olnZBgdsj+rmcHkbU=";
nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
buildInputs = [ dbus ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Nushell plugin for communicating with D-Bus";
mainProgram = "nu_plugin_dbus";
homepage = "https://github.com/devyn/nu_plugin_dbus";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aftix ];
platforms = lib.platforms.linux;
# "Plugin `dbus` is compiled for nushell version 0.101.0, which is not
# compatible with version 0.105.1"
broken = true;
};
})

View File

@@ -0,0 +1,67 @@
{
lib,
config,
newScope,
dbus,
versionCheckHook,
nushell,
runCommand,
}:
lib.makeScope newScope (
self:
lib.mapAttrs
(
_n: p:
let
# add two checks:
# - `versionCheckhook`, checks wether it's a binary that is able to
# display its own version
# - A check which loads the plugin into the current version of nushell,
# to detect incompatibilities (plugins are compiled for very specific
# versions of nushell). If this fails, either update the plugin or mark
# as broken.
withChecks = p.overrideAttrs (
final: _prev: {
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.tests.loadCheck =
let
nu = lib.getExe nushell;
plugin = lib.getExe withChecks;
in
runCommand "test-load-${final.pname}" { } ''
touch $out
${nu} -n -c "plugin add --plugin-config $out ${plugin}"
${nu} -n -c "plugin use --plugin-config $out ${plugin}"
'';
}
);
in
withChecks
)
(
with self;
{
gstat = callPackage ./gstat.nix { };
formats = callPackage ./formats.nix { };
polars = callPackage ./polars.nix { };
query = callPackage ./query.nix { };
net = callPackage ./net.nix { };
units = callPackage ./units.nix { };
highlight = callPackage ./highlight.nix { };
dbus = callPackage ./dbus.nix {
inherit dbus;
};
skim = callPackage ./skim.nix { };
semver = callPackage ./semver.nix { };
hcl = callPackage ./hcl.nix { };
desktop_notifications = callPackage ./desktop_notifications.nix { };
}
// lib.optionalAttrs config.allowAliases {
regex = throw "`nu_plugin_regex` is no longer compatible with the current Nushell release.";
}
)
)

View File

@@ -0,0 +1,31 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_desktop_notifications";
version = "0.106.1";
src = fetchFromGitHub {
owner = "FMotalleb";
repo = "nu_plugin_desktop_notifications";
tag = "v${finalAttrs.version}";
hash = "sha256-FuiXHl7O6/DN7kENrVxOys8mJAGbpb11w9iJ+mqQ/ds=";
};
cargoHash = "sha256-yFkiRGrg8eGGap5vyZVRMpddsoTYNrwSC94uLYufmdc=";
passthru.updateScript = nix-update-script { };
meta = {
description = "Nushell plugin for sending desktop notifications";
mainProgram = "nu_plugin_desktop_notifications";
homepage = "https://github.com/FMotalleb/nu_plugin_desktop_notifications";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ timon ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,33 @@
{
stdenv,
lib,
rustPlatform,
nushell,
pkg-config,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_formats";
inherit (nushell) version src cargoHash;
nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
buildAndTestSubdir = "crates/nu_plugin_formats";
passthru.updateScript = nix-update-script {
# Skip the version check and only check the hash because we inherit version from nushell.
extraArgs = [ "--version=skip" ];
};
meta = {
description = "Formats plugin for Nushell";
mainProgram = "nu_plugin_formats";
homepage = "https://github.com/nushell/nushell/tree/${finalAttrs.version}/crates/nu_plugin_formats";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
viraptor
aidalgol
];
};
})

View File

@@ -0,0 +1,35 @@
{
stdenv,
lib,
rustPlatform,
openssl,
nushell,
pkg-config,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_gstat";
inherit (nushell) version src cargoHash;
nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
buildInputs = [ openssl ];
buildAndTestSubdir = "crates/nu_plugin_gstat";
passthru.updateScript = nix-update-script {
# Skip the version check and only check the hash because we inherit version from nushell.
extraArgs = [ "--version=skip" ];
};
meta = {
description = "Git status plugin for Nushell";
mainProgram = "nu_plugin_gstat";
homepage = "https://github.com/nushell/nushell/tree/${finalAttrs.version}/crates/nu_plugin_gstat";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
mrkkrp
aidalgol
];
};
})

View File

@@ -0,0 +1,37 @@
{
stdenv,
lib,
rustPlatform,
pkg-config,
nix-update-script,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_hcl";
version = "0.106.1";
src = fetchFromGitHub {
owner = "Yethal";
repo = "nu_plugin_hcl";
tag = finalAttrs.version;
hash = "sha256-LM5tDmPWmpHd4HNnWoEdDXdKUkFA8J8VeDFMw32JXLk=";
};
cargoHash = "sha256-QCkNabv3pqtaRA7Ux5eiZPE/vRILlWKdQce7Gb0vzes=";
nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
# there are no tests
doCheck = false;
passthru.updateScript = nix-update-script { };
meta = {
description = "Nushell plugin for parsing Hashicorp Configuration Language files";
mainProgram = "nu_plugin_hcl";
homepage = "https://github.com/Yethal/nu_plugin_hcl";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ yethal ];
};
})

View File

@@ -0,0 +1,38 @@
{
stdenv,
lib,
rustPlatform,
pkg-config,
nix-update-script,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_highlight";
version = "1.4.8+0.106.0";
src = fetchFromGitHub {
owner = "cptpiepmatz";
repo = "nu-plugin-highlight";
tag = "v${finalAttrs.version}";
hash = "sha256-H7bCX13miQECEPCOT2eF+TBkUU3qff+LhOiA008GLdI=";
fetchSubmodules = true;
};
cargoHash = "sha256-Qf6qEY6imcI0rfktGl5ErsbT+HCDgTohl+NKFsrQbzA=";
nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
# there are no tests
doCheck = false;
passthru.updateScript = nix-update-script { };
meta = {
description = "`nushell` plugin for syntax highlighting";
mainProgram = "nu_plugin_highlight";
homepage = "https://github.com/cptpiepmatz/nu-plugin-highlight";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ mgttlinger ];
};
})

View File

@@ -0,0 +1,39 @@
{
stdenv,
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_net";
version = "1.10.0";
src = fetchFromGitHub {
owner = "fennewald";
repo = "nu_plugin_net";
tag = "${finalAttrs.version}";
hash = "sha256-HiNydU40FprxVmRRZtnXom2kFYI04mbeuGTq8+BMh7o=";
};
cargoHash = "sha256-tq0XqY2B7tC2ep8vH6T3nkAqxqhniqzYnhbkfB3SbHU=";
nativeBuildInputs = lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
# there are no tests
doCheck = false;
passthru.updateScript = nix-update-script { };
meta = {
description = "Nushell plugin to list system network interfaces";
homepage = "https://github.com/fennewald/nu_plugin_net";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ happysalada ];
mainProgram = "nu_plugin_net";
# "Plugin `net` is compiled for nushell version 0.104.0, which is not
# compatible with version 0.105.1"
broken = true;
};
})

View File

@@ -0,0 +1,36 @@
{
stdenv,
lib,
rustPlatform,
openssl,
nushell,
pkg-config,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_polars";
inherit (nushell) version src cargoHash;
nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
buildInputs = [ openssl ];
buildAndTestSubdir = "crates/nu_plugin_polars";
checkFlags = [
"--skip=dataframe::command::core::to_repr::test::test_examples"
];
passthru.updateScript = nix-update-script {
# Skip the version check and only check the hash because we inherit version from nushell.
extraArgs = [ "--version=skip" ];
};
meta = {
description = "Nushell dataframe plugin commands based on polars";
mainProgram = "nu_plugin_polars";
homepage = "https://github.com/nushell/nushell/tree/${finalAttrs.version}/crates/nu_plugin_polars";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ joaquintrinanes ];
};
})

View File

@@ -0,0 +1,39 @@
{
stdenv,
lib,
rustPlatform,
nushell,
nix-update-script,
pkg-config,
openssl,
curl,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_query";
inherit (nushell) version src cargoHash;
nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
buildInputs = [
openssl
curl
];
buildAndTestSubdir = "crates/nu_plugin_query";
passthru.updateScript = nix-update-script {
# Skip the version check and only check the hash because we inherit version from nushell.
extraArgs = [ "--version=skip" ];
};
meta = {
description = "Nushell plugin to query JSON, XML, and various web data";
mainProgram = "nu_plugin_query";
homepage = "https://github.com/nushell/nushell/tree/${finalAttrs.version}/crates/nu_plugin_query";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
happysalada
aidalgol
];
};
})

View File

@@ -0,0 +1,32 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_semver";
version = "0.11.6";
src = fetchFromGitHub {
owner = "abusch";
repo = "nu_plugin_semver";
tag = "v${finalAttrs.version}";
hash = "sha256-JF+aY7TW0NGo/E1eFVpBZQoxLxuGja8DSoJy4xgi1Lk=";
};
cargoHash = "sha256-609w/7vmKcNv1zSfd+k6TTeU2lQuzHX3W5Y8EqKIiAM=";
passthru.update-script = nix-update-script { };
meta = {
description = "Nushell plugin to work with semver versions";
homepage = "https://github.com/abusch/nu_plugin_semver";
changelog = "https://github.com/abusch/nu_plugin_semver/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ koffydrop ];
mainProgram = "nu_plugin_semver";
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,33 @@
{
stdenv,
lib,
rustPlatform,
nix-update-script,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_skim";
version = "0.17.0";
src = fetchFromGitHub {
owner = "idanarye";
repo = "nu_plugin_skim";
tag = "v${finalAttrs.version}";
hash = "sha256-2ZrN+0qdz7fgBS9KPogUIemkzO+uJdAvSOEBkfl7MI4=";
};
cargoHash = "sha256-8oAfnZ+uIckoj3QXb8ypJw/kC2VnMWRMl/oOoRkbtok=";
nativeBuildInputs = lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Nushell plugin that adds integrates the skim fuzzy finder";
mainProgram = "nu_plugin_skim";
homepage = "https://github.com/idanarye/nu_plugin_skim";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aftix ];
};
})

View File

@@ -0,0 +1,34 @@
{
stdenv,
lib,
rustPlatform,
pkg-config,
nix-update-script,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_units";
version = "0.1.7";
src = fetchFromGitHub {
owner = "JosephTLyons";
repo = "nu_plugin_units";
tag = "v${finalAttrs.version}";
hash = "sha256-4donh0UlBbaEwgDxUECKTPWGLuAc9KUmrRty2Ob7ZMA=";
};
cargoHash = "sha256-MjalDrjJTAHay9zcPhA8br2tOkkIzE4etL+yF5MKetY=";
nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Nushell plugin for easily converting between common units";
mainProgram = "nu_plugin_units";
homepage = "https://github.com/JosephTLyons/nu_plugin_units";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ mgttlinger ];
};
})