Merge remote-tracking branch 'origin/master' into staging-next

This commit is contained in:
K900
2026-05-12 22:39:18 +03:00
209 changed files with 3074 additions and 4318 deletions
+11 -3
View File
@@ -305,7 +305,7 @@ This package puts the corepack wrappers for pnpm and yarn in your PATH, and they
### 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.
pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_8`, `pnpm_9`, `pnpm_10`, `pnpm_10_29_2` and `pnpm_11`, which support different sets of lock file versions.
When packaging an application that includes a `pnpm-lock.yaml`, you need to fetch the pnpm store for that project using a fixed-output-derivation. The function `fetchPnpmDeps` can create this pnpm store derivation. In conjunction, the setup hook `pnpmConfigHook` will prepare the build environment to install the pre-fetched dependencies store. Here is an example for a package that contains `package.json` and a `pnpm-lock.yaml` files using the fetcher and setup hook above:
@@ -313,11 +313,18 @@ When packaging an application that includes a `pnpm-lock.yaml`, you need to fetc
{
fetchPnpmDeps,
nodejs,
pnpm,
pnpm_11,
pnpmConfigHook,
stdenv,
}:
let
# It is recommended to pin pnpm to a major version, due to regular breaking changes in the store format
# The latest major version is always available under `pkgs.pnpm`
# Optionally override pnpm to use a custom nodejs version
# Make sure that the same nodejs version is referenced in nativeBuildInputs
# pnpm = pnpm_11.override { nodejs = nodejs_24; };
pnpm = pnpm_11;
in
stdenv.mkDerivation (finalAttrs: {
pname = "foo";
version = "0-unstable-1980-01-01";
@@ -334,6 +341,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "...";
};
+2
View File
@@ -290,6 +290,8 @@
- `spacefm` was removed because it appeared to be unmaintained upstream.
- `neofetch` has been removed because it was unmaintained upstream. Consider using the updated fork `neowofetch` provided by the `hyfetch` package or the alternative `fastfetch` instead.
- `vimPlugins.nvim-treesitter` has been updated to `main` branch, which is a full and incompatible rewrite. If you can't or don't want to update, you should use `vimPlugins.nvim-treesitter-legacy`.
- `services.taskchampion-sync-server` module have been added an option `services.taskchampion-sync-server.dynamicUser` to use systemd's DynamicUser feature. This is enabled by default when stateVersion is at least 26.05, and disabled otherwise. If you need this feature, you need to set `services.taskchampion-sync-server.dynamicUser` to `true` and migrate `/var/lib/taskchampion-sync-server` to `/var/lib/private/taskchampion-sync-server`.
+14 -1
View File
@@ -2336,6 +2336,13 @@
githubId = 14922630;
name = "Richard Smith";
};
artifycz = {
email = "richard@tichy.io";
github = "ArtifyCZ";
githubId = 57506608;
matrix = "@artify:artify.zone";
name = "Richard Tichy";
};
artturin = {
email = "artturin@artturin.com";
matrix = "@artturin:matrix.org";
@@ -12611,7 +12618,7 @@
};
jfly = {
name = "Jeremy Fleischman";
email = "jeremyfleischman@gmail.com";
email = "me@jfly.fyi";
github = "jfly";
githubId = 277474;
keys = [ { fingerprint = "F1F1 3395 8E8E 9CC4 D9FC 9647 1931 9CD8 416A 642B"; } ];
@@ -24332,6 +24339,12 @@
githubId = 12882091;
name = "Sam L. Yes";
};
samooyo = {
email = "samidarnaud@gmail.com";
github = "samooyo";
githubId = 46531012;
name = "Sami Darnaud";
};
samrose = {
email = "samuel.rose@gmail.com";
github = "samrose";
+3
View File
@@ -152,6 +152,9 @@ in
theme_name = cfg.theme.name;
};
# Needed to fetch accounts
services.accounts-daemon.enable = true;
services.greetd = {
enable = lib.mkDefault true;
settings.default_session.command = lib.mkDefault "${pkgs.dbus}/bin/dbus-run-session ${lib.getExe pkgs.cage} ${lib.escapeShellArgs cfg.cageArgs} -- ${lib.getExe cfg.package}";
+8 -4
View File
@@ -116,7 +116,7 @@ in
# config file. starship appears to use a hardcoded config location
# rather than one inside an XDG folder:
# https://github.com/starship/starship/blob/686bda1706e5b409129e6694639477a0f8a3f01b/src/configure.rs#L651
if [[ ! -f "$HOME/.config/starship.toml" ]]; then
if [[ ! -f "$${STARSHIP_CONFIG:-$HOME/.config/starship.toml}" ]]; then
export STARSHIP_CONFIG=${settingsFile}
fi
eval "$(${cfg.package}/bin/starship init bash --print-full-init)"
@@ -129,7 +129,8 @@ in
# config file. starship appears to use a hardcoded config location
# rather than one inside an XDG folder:
# https://github.com/starship/starship/blob/686bda1706e5b409129e6694639477a0f8a3f01b/src/configure.rs#L651
if not test -f "$HOME/.config/starship.toml";
set -q STARSHIP_CONFIG; or set STARSHIP_CONFIG "$HOME/.config/starship.toml"
if not test -f "$STARSHIP_CONFIG"
set -x STARSHIP_CONFIG ${settingsFile}
end
${lib.optionalString (!isNull cfg.transientPrompt.left) ''
@@ -153,7 +154,7 @@ in
# config file. starship appears to use a hardcoded config location
# rather than one inside an XDG folder:
# https://github.com/starship/starship/blob/686bda1706e5b409129e6694639477a0f8a3f01b/src/configure.rs#L651
if [[ ! -f "$HOME/.config/starship.toml" ]]; then
if [[ ! -f "$${STARSHIP_CONFIG:-$HOME/.config/starship.toml}" ]]; then
export STARSHIP_CONFIG=${settingsFile}
fi
eval "$(${cfg.package}/bin/starship init zsh)"
@@ -167,8 +168,11 @@ in
# config file. starship appears to use a hardcoded config location
# rather than one inside an XDG folder:
# https://github.com/starship/starship/blob/686bda1706e5b409129e6694639477a0f8a3f01b/src/configure.rs#L651
if not `$HOME/.config/starship.toml`:
import os as _os
_sc = _os.environ.get('STARSHIP_CONFIG', _os.path.join(_os.environ['HOME'], '.config/starship.toml'))
if not _os.path.isfile(_sc):
$STARSHIP_CONFIG = ('${settingsFile}')
del _os, _sc
execx($(${cfg.package}/bin/starship init xonsh))
'';
};
+2 -2
View File
@@ -72,8 +72,8 @@
specialisation.with-plugins.configuration = {
services.caddy = {
package = pkgs.caddy.withPlugins {
plugins = [ "github.com/caddyserver/replace-response@v0.0.0-20241211194404-3865845790a7" ];
hash = "sha256-Quib7+jFf2ElS4yvrJhuLiedX3lBNwxpEDskxxyVu+8=";
plugins = [ "github.com/caddyserver/replace-response@v0.0.0-20250618171559-80962887e4c6" ];
hash = "sha256-kKWXpxEAn23yud8tcgw7FFOaxLjoodZ/cuM1239TRoY=";
};
configFile = pkgs.writeText "Caddyfile" ''
{
+78 -70
View File
@@ -54,6 +54,66 @@ let
};
users.groups.workload = { };
};
tpmAgent =
{ pkgs, lib, ... }:
{
imports = [ agent ];
virtualisation = {
useEFIBoot = true;
tpm = {
enable = true;
# Provision the swtpm with an EK certificate signed by testCA so that
# the SPIRE server can verify the agent's identity.
provisioning = ''
export PATH=${
lib.makeBinPath [
pkgs.openssl
pkgs.tpm2-tools
]
}:$PATH
tpm2_createek -G rsa -u ek.pub -c ek.ctx -f pem
openssl x509 \
-extfile ${ekSignConf} \
-new -days 365 \
-subj "/CN=swtpm-ekcert" \
-extensions tpm_policy \
-CA ${./tpm-ek/ca.crt} -CAkey ${./tpm-ek/ca.priv} \
-out ekcert.der -outform der \
-force_pubkey ek.pub
tpm2_nvdefine 0x01c00002 \
-C o \
-a "ownerread|policyread|policywrite|ownerwrite|authread|authwrite" \
-s "$(wc -c < ekcert.der)"
tpm2_nvwrite 0x01c00002 -C o -i ekcert.der
'';
};
};
environment.systemPackages = [ pkgs.spire-tpm-plugin ];
services.spire.agent = {
enable = true;
settings = {
agent = {
trust_domain = trustDomain;
server_address = "server.${trustDomain}";
trust_bundle_format = "pem";
trust_bundle_path = "$CREDENTIALS_DIRECTORY/spire.trust_bundle";
};
plugins = {
KeyManager.memory.plugin_data = { };
NodeAttestor.tpm.plugin_data = { };
WorkloadAttestor.systemd.plugin_data = { };
WorkloadAttestor.unix.plugin_data = { };
};
};
};
};
in
{
name = "spire";
@@ -108,65 +168,8 @@ in
};
};
tpmAgent =
{ pkgs, lib, ... }:
{
imports = [ agent ];
virtualisation = {
useEFIBoot = true;
tpm = {
enable = true;
# Provision the swtpm with an EK certificate signed by testCA so that
# the SPIRE server can verify the agent's identity.
provisioning = ''
export PATH=${
lib.makeBinPath [
pkgs.openssl
pkgs.tpm2-tools
]
}:$PATH
tpm2_createek -G rsa -u ek.pub -c ek.ctx -f pem
openssl x509 \
-extfile ${ekSignConf} \
-new -days 365 \
-subj "/CN=swtpm-ekcert" \
-extensions tpm_policy \
-CA ${./tpm-ek/ca.crt} -CAkey ${./tpm-ek/ca.priv} \
-out ekcert.der -outform der \
-force_pubkey ek.pub
tpm2_nvdefine 0x01c00002 \
-C o \
-a "ownerread|policyread|policywrite|ownerwrite|authread|authwrite" \
-s "$(wc -c < ekcert.der)"
tpm2_nvwrite 0x01c00002 -C o -i ekcert.der
'';
};
};
environment.systemPackages = [ pkgs.spire-tpm-plugin ];
services.spire.agent = {
enable = true;
settings = {
agent = {
trust_domain = trustDomain;
server_address = "server.${trustDomain}";
trust_bundle_format = "pem";
trust_bundle_path = "$CREDENTIALS_DIRECTORY/spire.trust_bundle";
};
plugins = {
KeyManager.memory.plugin_data = { };
NodeAttestor.tpm.plugin_data = { };
WorkloadAttestor.systemd.plugin_data = { };
WorkloadAttestor.unix.plugin_data = { };
};
};
};
};
tpmAgent = tpmAgent;
tpmSelectorAgent = tpmAgent;
};
testScript =
@@ -175,8 +178,6 @@ in
adminSocket = nodes.server.services.spire.server.settings.server.socket_path;
in
''
spiffe_id = "spiffe://${trustDomain}/service/backdoor"
def provision_trust_bundle(agent):
# TODO: instead of trust bundle to talk to the spire-server, use an upstream CA?
bundle = server.succeed("spire-server bundle show -socketPath ${adminSocket}")
@@ -197,28 +198,34 @@ in
return f"spiffe://${trustDomain}/spire/agent/tpm/{ek_hash}"
def provision_tpm_selector(agent):
agent.wait_for_unit("tpm2.target")
alias_id = "spiffe://${trustDomain}/aliased-agent/tpm-model"
register_entry("spiffe://${trustDomain}/spire/server", "tpm:model:ST33HTPHAHD4", alias_id)
return alias_id
def register_entry(parent_id, selector, spiffe_id):
server.succeed(f"spire-server entry create -socketPath ${adminSocket} -selector '{selector}' -parentID '{parent_id}' -spiffeID '{spiffe_id}'")
def test_agent(name, agent_node, provision_fn):
workload_spiffe_id = f"spiffe://${trustDomain}/{name}/workload"
with subtest(f"Setup SPIRE agent with {name} attestation"):
provision_trust_bundle(agent_node)
parent_id = provision_fn(agent_node)
register_entry(parent_id, "systemd:id:backdoor.service", spiffe_id)
register_entry(parent_id, "unix:user:workload", "spiffe://${trustDomain}/workload")
register_entry(parent_id, "unix:user:workload", workload_spiffe_id)
agent_node.wait_for_unit("spire-agent.service")
agent_node.wait_until_succeeds("spire-agent healthcheck -socketPath $SPIFFE_ENDPOINT_SOCKET", timeout=90)
with subtest(f"Test certificate authentication from {name} agent"):
agent_node.wait_until_succeeds("spire-agent api fetch x509 -socketPath $SPIFFE_ENDPOINT_SOCKET -write .")
with subtest(f"Workload running as non-root, non-spire-agent user can reach Workload API ({name})"):
# SPIRE's security model relies on workload attestation, not unix
# permissions on the socket. Verify an unrelated user can connect.
agent_node.wait_until_succeeds(
with subtest(f"Workload user receives the {name} workload SVID"):
# Each agent node is fresh, so fetch returns "no identity issued"
# (non-zero) until exactly this entry's SVID is cached content-aware
# retry isn't needed.
output = agent_node.wait_until_succeeds(
"su -s /bin/sh workload -c "
"'spire-agent api fetch x509 -socketPath \"$SPIFFE_ENDPOINT_SOCKET\"'"
)
# TODO: Add something to communicate with
t.assertIn(workload_spiffe_id, output)
with subtest("SPIRE server startup and health checks"):
@@ -228,6 +235,7 @@ in
test_agent("join_token", agent, provision_join_token)
test_agent("tpm", tpmAgent, provision_tpm)
test_agent("tpm-selector", tpmSelectorAgent, provision_tpm_selector)
'';
}
@@ -37,8 +37,8 @@ let
}
''
mkdir -p "$out/queries"
if [ -d "${super.nvim-treesitter.src}/runtime/queries/${language}" ]; then
ln -s "${super.nvim-treesitter.src}/runtime/queries/${language}" "$out/queries/${language}"
if [ -d "${self.nvim-treesitter}/runtime/queries/${language}" ]; then
ln -s "${self.nvim-treesitter}/runtime/queries/${language}" "$out/queries/${language}"
else
echo "Error: there are no queries for ${language}."
exit 1
@@ -2918,8 +2918,8 @@ let
mktplcRef = {
name = "marp-vscode";
publisher = "marp-team";
version = "3.5.0";
hash = "sha256-BH+9HK08+G2hZTanOuBplxl/cYpGrIqrapFGjNIX4QA=";
version = "3.5.1";
hash = "sha256-t8ozV99HBHLiVMYMxh8bJ2QzMd/2PEeEDpzvqHavwPw=";
};
meta = {
license = lib.licenses.mit;
@@ -3,7 +3,7 @@
pkgs,
stdenv,
fetchFromGitHub,
pnpm,
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
nodejs,
@@ -12,6 +12,8 @@
}:
let
pnpm = pnpm_10;
vsix = stdenv.mkDerivation (finalAttrs: {
name = "gitlens-${finalAttrs.version}.vsix";
pname = "gitlens-vsix";
@@ -26,6 +28,7 @@ let
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-Yuxuqr1BiviSw+dGNHLs2jAy8ADlBvRks6Kmy7FmCMw=";
};
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "github";
name = "copilot-chat";
version = "0.44.2";
hash = "sha256-kjLpbA6zUta4K86yEDiLNWvy3kJ3AvF2fncCO/JVl6I=";
version = "0.45.1";
hash = "sha256-xxJ+h0/XyT8otXUzIYW9/KMxKLk5zoEE/fiqj4SZK+A=";
};
meta = {
@@ -14,8 +14,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "gplane";
name = "wasm-language-tools";
version = "1.16.0";
hash = "sha256-H2exVPaF8tYdpXBcooFi5bysp85OLOwxbKrB3HJes0Y=";
version = "1.20.0";
hash = "sha256-AXLwEp6uospVZwd2NxLEfABsNQOt1uRJTQ4HMTXbrJc=";
};
buildPhase = ''
@@ -2,7 +2,7 @@
lib,
stdenvNoCC,
fetchFromGitHub,
pnpm,
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
nodejs,
@@ -11,6 +11,8 @@
}:
let
pnpm = pnpm_10;
vsix = stdenvNoCC.mkDerivation (finalAttrs: {
name = "roo-code-${finalAttrs.version}.vsix";
pname = "roo-code-vsix";
@@ -25,6 +27,7 @@ let
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-t2sPuhn8xdk6hGfmViPGG+5TAhtBBOMYNoOb6DlPzws=";
};
@@ -11,26 +11,26 @@ vscode-utils.buildVscodeMarketplaceExtension {
sources = {
"x86_64-linux" = {
arch = "linux-x64";
hash = "sha256-xtbI0mqkjF21pL/0R0DReHVMlsf32ys2iprxp6AsTao=";
hash = "sha256-YHerrkqMlLLHvbuM1fT6g4nBgO1DIkRBC+5ncw9ZA+I=";
};
"x86_64-darwin" = {
arch = "darwin-x64";
hash = "sha256-wpmx2RNAmGwwehBI/KpKNN3qxoWYFcESYKRRzc5pK/U=";
hash = "sha256-iXRw+07xkSi6Gxhx+iezBaGlAaZM2L0BmzZ5ZfFUEbc=";
};
"aarch64-linux" = {
arch = "linux-arm64";
hash = "sha256-zp3V8o9BDV29PA8xSlZ/RglnYkuc1rd+N5CuXIqd4ME=";
hash = "sha256-WkDu27TW1C+0UvNvNpWGKUhvqWo9rHMTWI9ro/gOYHs=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
hash = "sha256-7Scr8lumlZu5M1pGAWfQTMIpBXWU1/yp5kVE3LpFSVM=";
hash = "sha256-5RDH+TAfSkEYIleb2gb9vg+akWXp2JDcSUqyHZNJh/M=";
};
};
in
{
name = "visualjj";
publisher = "visualjj";
version = "0.28.1";
version = "0.28.3";
}
// sources.${stdenvNoCC.hostPlatform.system}
or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}");
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "fceumm";
version = "0-unstable-2026-04-20";
version = "0-unstable-2026-05-06";
src = fetchFromGitHub {
owner = "libretro";
repo = "libretro-fceumm";
rev = "448a231618186b2af0bb9d6e37aeca05467e112f";
hash = "sha256-Kr3DEAk8dsFnUT73pOp5qwkCbcDItQwrRMI8hobrCuI=";
rev = "3a84a6fd0ba20dd4877c06b1d58741172148395f";
hash = "sha256-4+kEoN0+SWl284n7tIR76aysf0GlLdxELDXfpEK6mi8=";
};
meta = {
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "genesis-plus-gx";
version = "0-unstable-2026-05-01";
version = "0-unstable-2026-05-08";
src = fetchFromGitHub {
owner = "libretro";
repo = "Genesis-Plus-GX";
rev = "252694adb9ebf2abcc7a1340d4078dce53d8954f";
hash = "sha256-mFij3fLDMvyby3ata47YJN7YuBKGv4/xphFQDiFKY3A=";
rev = "fa993f040d7150bda672b3e3ebe36c9bd2ea8904";
hash = "sha256-4igo4uwpDwbP6oTtlF6pwDF7+WZ0FgeFCtmPVNpULBo=";
};
meta = {
File diff suppressed because it is too large Load Diff
@@ -9,10 +9,10 @@
buildMozillaMach rec {
pname = "firefox";
version = "150.0.2";
version = "150.0.3";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "e22fc66f7faeb9bef4036d0a90af4c27dabc45a3dc59c7290536bfe46c7624d73388d29b36a8999e364065fa31a5fa167596632229b0af9bc1baf4135fa29a4d";
sha512 = "8452da61200f8ee66790d3fff230ca84b2ac9291af2b57e018486c50f938c53c6fb4943fe6cfe1e99b9783466fb00bf707fa006293753ac698618fc1e3b70a4a";
};
meta = {
@@ -27,13 +27,13 @@
"vendorHash": null
},
"aiven_aiven": {
"hash": "sha256-0f+ZxjMoPyOL4qatcRVk8jjn9TAZkinUX7eYQ1hv+FQ=",
"hash": "sha256-ni4Y5MRnu6AL491wRD8UoQ4MJmnopumYoq59wGujSUQ=",
"homepage": "https://registry.terraform.io/providers/aiven/aiven",
"owner": "aiven",
"repo": "terraform-provider-aiven",
"rev": "v4.55.2",
"rev": "v4.56.0",
"spdx": "MIT",
"vendorHash": "sha256-toCbbqzi0h6hUeyKMClUBcWsh8+H00K0IjdkgZ5HmOs="
"vendorHash": "sha256-vSSgABGm1aHGVPIsNXylpan8E07eOQ/Nc8Lf1N3+P5c="
},
"akamai_akamai": {
"hash": "sha256-/+IE06obx4Rxzz3uh5QbeS/FhGlK2qTJJFWGAlDWJaw=",
@@ -580,13 +580,13 @@
"vendorHash": "sha256-UoS4iIVHhCQ+Zk+SJmsMHJgJBKLMbfMVmtm4MDmzT68="
},
"hashicorp_google-beta": {
"hash": "sha256-ltqZ6nyl/leYsV2pBJVgOtcOYIyfDmDLsZLfHTPOyew=",
"hash": "sha256-/HxUOhDATteiUDIeA8zvGI9xQ5rOWJAhLN9PLHiBFfI=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
"owner": "hashicorp",
"repo": "terraform-provider-google-beta",
"rev": "v7.30.0",
"rev": "v7.31.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-WMfT/gtjRDACXWDf1w3cUiEUdeFrGAnYvDQcuXiQNkk="
"vendorHash": "sha256-5PnJ87cGMCwEl7zEwjbzgU5kZO9IC4Ls47HX2SZ2h2w="
},
"hashicorp_helm": {
"hash": "sha256-S4Fe65f+gEWWxRMC+/i93dwwe7QigPccx4wiqNBpcL8=",
@@ -73,8 +73,8 @@ rec {
thunderbird = thunderbird-latest;
thunderbird-latest = common {
version = "150.0.1";
sha512 = "bf3d33357965cd144decef7c8865b6c18043502aea8d090d93fe29555379b924e3925d58276411f38fdcdc87b54ab3ae7d6aa6619feec9b856f8f227225cb375";
version = "150.0.2";
sha512 = "3e52220ff34aa6cd1bf46a910dba1f30d0abf7d19ed7f501ffeeb8f5901b8d97fdc0adb0cceb434ef8e83c7f7b83f28024b872280237af72ff2da9d89fafe065";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-latest";
@@ -7,6 +7,7 @@
cacert,
makeSetupHook,
pnpm,
pnpm-fixup-state-db,
writableTmpDirAsHomeHook,
yq,
zstd,
@@ -47,6 +48,14 @@ in
};
filterFlags = lib.map (package: "--filter=${package}") pnpmWorkspaces;
pnpm-fixup-state-db' =
if pnpm.nodejs or null != null then
pnpm-fixup-state-db.override {
inherit (pnpm) nodejs;
}
else
pnpm-fixup-state-db;
in
# pnpmWorkspace was deprecated, so throw if it's used.
assert (lib.throwIf (args ? pnpmWorkspace)
@@ -77,6 +86,8 @@ in
jq
moreutils
pnpm # from args
pnpm-fixup-state-db'
writableTmpDirAsHomeHook
yq
zstd
]
@@ -88,14 +99,17 @@ in
installPhase = ''
runHook preInstall
versionAtLeast () {
local cur_version=$1 min_version=$2
printf "%s\0%s" "$min_version" "$cur_version" | sort -zVC
}
lockfileVersion="$(yq -r .lockfileVersion pnpm-lock.yaml)"
if [[ ''${lockfileVersion:0:1} -gt ${lib.versions.major pnpm.version} ]]; then
echo "ERROR: lockfileVersion $lockfileVersion in pnpm-lock.yaml is too new for the provided pnpm version ${lib.versions.major pnpm.version}!"
exit 1
fi
export HOME=$(mktemp -d)
# For fetcherVersion < 3, the pnpm store files are placed directly into $out.
# For fetcherVersion >= 3, it is bundled into a compressed tarball within $out,
# without distributing the uncompressed store files.
@@ -106,19 +120,29 @@ in
storePath=$out
fi
# If the packageManager field in package.json is set to a different pnpm version than what is in nixpkgs,
# any pnpm command would fail in that directory, the following disables this
pushd ..
pnpm config set manage-package-manager-versions false
pushd "$HOME"
pnpmVersion=$(pnpm --version)
if versionAtLeast "$pnpmVersion" "11"; then
# pnpm 11 uses a different mechanism to manage package manager versions
export pnpm_config_pm_on_fail=ignore
# Some packages produce platform dependent outputs. We do not want to cache those in the global store
export pnpm_config_side_effects_cache false
export pnpm_config_update_notifier false
else
pnpm config set manage-package-manager-versions false
pnpm config set side-effects-cache false
pnpm config set update-notifier false
fi
popd
pnpm config set store-dir $storePath
# Some packages produce platform dependent outputs. We do not want to cache those in the global store
pnpm config set side-effects-cache false
# As we pin pnpm versions, we don't really care about updates
pnpm config set update-notifier false
# Run any additional pnpm configuration commands that users provide.
${prePnpmInstall}
# pnpm is going to warn us about using --force
# --force allows us to fetch all dependencies including ones that aren't meant for our host platform
pnpm install \
@@ -141,14 +165,18 @@ in
runHook preFixup
# Remove timestamp and sort the json files
rm -rf $storePath/{v3,v10}/tmp
rm -rf $storePath/{v3,v10,v11}/tmp
for f in $(find $storePath -name "*.json"); do
jq --sort-keys "del(.. | .checkedAt?)" $f | sponge $f
done
if [ -f "$storePath/v11/index.db" ]; then
pnpm-fixup-state-db "$storePath/v11";
fi
# This folder contains symlinks to /build/source which we don't need
# since https://github.com/pnpm/pnpm/releases/tag/v10.27.0
rm -rf $storePath/{v3,v10}/projects
rm -rf $storePath/{v3,v10,v11}/projects
# Ensure consistent permissions
# NOTE: For reasons not yet fully understood, pnpm might create files with
@@ -1,5 +1,10 @@
# shellcheck shell=bash
versionAtLeast () {
local cur_version=$1 min_version=$2
printf "%s\0%s" "$min_version" "$cur_version" | sort -zVC
}
pnpmConfigHook() {
echo "Executing pnpmConfigHook"
@@ -17,13 +22,18 @@ pnpmConfigHook() {
exit 1
fi
# If the packageManager field in package.json is set to a different pnpm version than what is in nixpkgs,
# any pnpm command would fail in that directory, the following disables this
pushd $HOME
pnpm config set manage-package-manager-versions false
pushd "$HOME"
pnpmVersion=$(pnpm --version)
if versionAtLeast "$pnpmVersion" "11"; then
# pnpm 11 uses a different mechanism to manage package manager versions
export pnpm_config_pm_on_fail=ignore
else
pnpm config set manage-package-manager-versions false
fi
popd
echo "Found 'pnpm' with version '$(pnpm --version)'"
echo "Found 'pnpm' with version '$pnpmVersion'"
fetcherVersion=$(cat "${pnpmDeps}/.fetcher-version" || echo 1)
@@ -33,7 +43,9 @@ pnpmConfigHook() {
export STORE_PATH=$(mktemp -d)
export npm_config_arch="@npmArch@"
export pnpm_config_arch="@npmArch@"
export npm_config_platform="@npmPlatform@"
export pnpm_config_platform="@npmPlatform@"
if [[ $fetcherVersion -ge 3 ]]; then
tar --zstd -xf "$pnpmDeps/pnpm-store.tar.zst" -C "$STORE_PATH"
@@ -3,6 +3,7 @@
pnpm,
pnpmDeps,
zstd,
lib,
}:
writeShellApplication {
@@ -41,4 +42,8 @@ writeShellApplication {
pnpm server start \
--store-dir "$storePath"
'';
meta = {
broken = lib.versionAtLeast pnpm.version "11";
};
}
+3 -2
View File
@@ -17,6 +17,7 @@ let
last
optionalString
strings
toFunction
types
;
in
@@ -751,7 +752,7 @@ rec {
## `pkgs.writers.writeHaskell` usage example
```nix
writeHaskell "missiles" { libraries = [ pkgs.haskellPackages.acme-missiles ]; } ''
writeHaskell "missiles" { libraries = hpkgs: [ hpkgs.acme-missiles ]; } ''
import Acme.Missiles
main = launchMissiles
@@ -777,7 +778,7 @@ rec {
makeBinWriter {
compileScript = ''
cp $contentPath tmp.hs
${(ghc.withPackages (_: libraries))}/bin/ghc ${lib.escapeShellArgs ghcArgs'} tmp.hs
${(ghc.withPackages (toFunction libraries))}/bin/ghc ${lib.escapeShellArgs ghcArgs'} tmp.hs
mv tmp $out
'';
inherit makeWrapperArgs strip;
+4 -2
View File
@@ -5,7 +5,7 @@
fetchPnpmDeps,
rustPlatform,
nodejs,
pnpm,
pnpm_10,
pnpmConfigHook,
geist-font,
nix-update-script,
@@ -14,6 +14,8 @@
}:
let
pnpm = pnpm_10;
version = "0.27.0";
src = fetchFromGitHub {
@@ -39,7 +41,7 @@ let
pnpmDeps = fetchPnpmDeps {
pname = "agent-browser-dashboard";
inherit version src;
inherit version src pnpm;
pnpmWorkspaces = [ "dashboard" ];
fetcherVersion = 3;
hash = "sha256-ldxmXpejqVN/xuWcdLYMwNPc1VZ1rdNwRrumy8Is3N4=";
@@ -7,7 +7,7 @@
# javascript
fetchPnpmDeps,
nodejs,
pnpm,
pnpm_10,
pnpmConfigHook,
# python
@@ -97,6 +97,8 @@ let
hash = "sha256-jwWxH9fTTCFdLAaAN18/FUAbN0cTCPkkk9+0ZMYNXek=";
};
pnpm = pnpm_10;
airflowUi = stdenv.mkDerivation rec {
pname = "airflow-ui-assets";
inherit src version;
@@ -110,7 +112,12 @@ let
pnpmDeps = fetchPnpmDeps {
pname = "airflow-ui";
inherit sourceRoot src version;
inherit
sourceRoot
src
version
pnpm
;
fetcherVersion = 3;
hash = "sha256-OkSDQoWsHQ6w1vIoX5W9zXHghV0obvL6Wji0HYN6CSs=";
};
+5 -2
View File
@@ -4,11 +4,13 @@
fetchFromGitHub,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
nodejs,
stdenv,
}:
let
pnpm = pnpm_10;
in
buildGoModule (finalAttrs: {
pname = "apache-answer";
version = "1.7.1";
@@ -28,6 +30,7 @@ buildGoModule (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) src version pname;
inherit pnpm;
sourceRoot = "${finalAttrs.src.name}/ui";
fetcherVersion = 3;
hash = "sha256-0Jqe0wig28Vb9y0/tZHDfE49MehNR7kJTpChz616tzU=";
@@ -11,13 +11,13 @@
stdenv.mkDerivation {
pname = "asha-pipewire-sink";
version = "0-unstable-2024-10-22";
version = "0-unstable-2025-05-20";
src = fetchFromGitHub {
owner = "thewierdnut";
repo = "asha_pipewire_sink";
rev = "bbf665b9a3b90fcdbaeb092799ea3c5ba4347e31";
hash = "sha256-PuJ6lBV7s5OqGe1X4wD7T+8LVMCFpgvM1pnMjXYr8gs=";
rev = "16a9c1cfba2d9aaa2cedbd86b4aa4f8e556736ae";
hash = "sha256-9nfcFB37rBvgu0usySxovbxwQLrGCKDg6dk5kBU50C4=";
};
nativeBuildInputs = [
+4 -2
View File
@@ -4,7 +4,7 @@
nodejs,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
fetchFromGitHub,
buildGo125Module,
installShellFiles,
@@ -15,13 +15,15 @@
nodejs
fetchPnpmDeps
pnpmConfigHook
pnpm
pnpm_10
fetchFromGitHub
;
},
}:
let
pnpm = pnpm_10;
buildGoModule = buildGo125Module;
inherit (import ./sources.nix { inherit fetchFromGitHub; })
+3 -1
View File
@@ -3,11 +3,13 @@
nodejs,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
fetchFromGitHub,
}:
let
pnpm = pnpm_10;
inherit (import ./sources.nix { inherit fetchFromGitHub; })
pname
version
@@ -1,7 +1,9 @@
{
lib,
fetchFromGitHub,
fetchpatch2,
nix-update-script,
stdenvNoCC,
telegram-desktop,
withWebkit ? true,
}:
@@ -22,6 +24,13 @@ telegram-desktop.override {
fetchSubmodules = true;
};
patches =
(previousAttrs.patches or [ ])
++ (lib.optional stdenvNoCC.hostPlatform.isDarwin (fetchpatch2 {
url = "https://github.com/telegramdesktop/tdesktop/commit/923efd9e7ef8ff72d9b83973502e587682119e54.patch?full_index=1";
hash = "sha256-XcmH9SSI3K2SsFjHDEMnKA6YOyWF1kRVJJAWP2/vdf8=";
}));
passthru.updateScript = nix-update-script { };
meta = previousAttrs.meta // {
@@ -50,7 +50,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = "sha256-97O4DrnjZO2mhSrCQz9xbcRCSaxMNNa4NaLNPlmecJg=";
outputHash =
{
x86_64-linux = "sha256-97O4DrnjZO2mhSrCQz9xbcRCSaxMNNa4NaLNPlmecJg=";
aarch64-linux = "sha256-0H14Be8jhBwOBG2Ui8gYrnAcTtatLVsBxFVfTyzmutw=";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system ${stdenv.hostPlatform.system}");
};
cargoHash = "sha256-TPZf4jtv/3mIpe6ASzPkIusQC/iPFpYN51XiiH6pkZc=";
@@ -92,13 +97,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
'';
meta = {
# Rollup for ARM64 is broken with Node modules
broken = stdenv.hostPlatform.isAarch64;
description = "A mod manager for the game Balatro";
homepage = "https://balatro-mod-manager.dasguney.com/";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ mhdask ];
platforms = lib.intersectLists lib.platforms.linux (lib.platforms.x86_64 ++ lib.platforms.aarch64);
maintainers = with lib.maintainers; [
mhdask
ryand56
];
mainProgram = "BMM";
};
})
+3 -3
View File
@@ -14,16 +14,16 @@
}:
buildGoModule (finalAttrs: {
pname = "buildkite-agent";
version = "3.124.0";
version = "3.126.0";
src = fetchFromGitHub {
owner = "buildkite";
repo = "agent";
tag = "v${finalAttrs.version}";
hash = "sha256-HdTMsCBvd3vN/OkpBpiJ7dXq50PXx165NWmKGGpikUQ=";
hash = "sha256-JkXWd8I66iQVx/L+qHH0MGcJ/1AtPRZ7bL7+/pqCky0=";
};
vendorHash = "sha256-VE7YEBIrkDG1ERGXnib0LPjBWcrepGAqwY5yKzSQ6wg=";
vendorHash = "sha256-p8Xfm+jql2tFihiETlCjZBsx6o5S8DwpHkkjKk6yCV8=";
postPatch = ''
substituteInPlace clicommand/agent_start.go --replace /bin/bash ${bash}/bin/bash
+5 -1
View File
@@ -5,11 +5,14 @@
nodejs,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
npmHooks,
versionCheckHook,
nix-update-script,
}:
let
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "bumpp";
version = "11.0.1";
@@ -23,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-nIj4S5BWTaw3RVNIxbla8Q31wvK67Of6psx5wX9ID+E=";
};
+3 -3
View File
@@ -11,7 +11,7 @@
versionCheckHook,
}:
let
version = "2.11.2";
version = "2.11.3";
dist = fetchFromGitHub {
owner = "caddyserver";
repo = "dist";
@@ -27,10 +27,10 @@ buildGoModule (finalAttrs: {
owner = "caddyserver";
repo = "caddy";
tag = "v${finalAttrs.version}";
hash = "sha256-QoGq8+lhaSQuC1VwIYE8h8N/ZC1ozfmIwmsIPk29Jos=";
hash = "sha256-7Hgmo7ldDtbwl/acEY/4RNhSGnK/NNcXn+eIm1I8HKg=";
};
vendorHash = "sha256-zlwVgSEr01bbgV7N9szwqa9cPjBU34Cu7vqj4/MoSuU=";
vendorHash = "sha256-QiZZxYsYFUneZ52TfFKQWJ42lmBofvUTZrHmDBuN2O4=";
ldflags = [
"-s"
+5 -1
View File
@@ -5,10 +5,13 @@
nodejs,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
npmHooks,
nix-update-script,
}:
let
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "changelogen";
version = "0.6.2";
@@ -22,6 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-S+GxeljcPj/MzBkleVNgaRa8D4kmHrKwwVqakmB5sAw=";
};
+2 -2
View File
@@ -35,14 +35,14 @@ let
in
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "checkov";
version = "3.2.527";
version = "3.2.528";
pyproject = true;
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "checkov";
tag = finalAttrs.version;
hash = "sha256-PKG4WzXtocfE9rwg3E77BkWREs7RhAzmdv9mz5VsbLA=";
hash = "sha256-bbGB6h9jhd3laeOTaSwZ2o3yu62vLMuCmYhS/qQBkeA=";
};
pythonRelaxDeps = [
@@ -4,12 +4,14 @@
lib,
makeBinaryWrapper,
nodejs,
pnpm,
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
versionCheckHook,
}:
let
pnpm = pnpm_10;
in
buildNpmPackage (finalAttrs: {
pname = "claude-code-router";
version = "2.0.0";
+4 -1
View File
@@ -7,12 +7,14 @@
versionCheckHook,
nodejs,
pnpm,
pnpm_10,
pnpmConfigHook,
fetchPnpmDeps,
}:
let
tag-prefix = "@upstash/context7-mcp";
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "context7-mcp";
@@ -34,6 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-f3PXpCdmKh2LPD5VyFsRdLR7CEvh+GozkQFSeeNuj2c=";
};
@@ -5,12 +5,14 @@
nodejs,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
makeBinaryWrapper,
versionCheckHook,
nix-update-script,
}:
let
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "conventional-changelog-cli";
version = "7.2.0";
@@ -24,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-O91ypnycBwkfLSruezx9E5CrytguBdtmvgVhKFjUzvM=";
};
+5 -1
View File
@@ -7,10 +7,13 @@
versionCheckHook,
nodejs,
pnpm,
pnpm_10,
pnpmConfigHook,
fetchPnpmDeps,
}:
let
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "ctx7";
version = "0.3.9";
@@ -31,6 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-8RRHfCTZVC91T1Qx+ACCo2oG4ZwMNy5WYakCjmBhe3Q=";
};
-2
View File
@@ -8,7 +8,6 @@
SDL2,
gtkmm3,
faad2,
pcre,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -32,7 +31,6 @@ stdenv.mkDerivation (finalAttrs: {
mpg123
SDL2
gtkmm3
pcre
];
meta = {
+25 -9
View File
@@ -14,7 +14,6 @@
sqlite,
lld,
writableTmpDirAsHomeHook,
fetchpatch,
# Test deps
curl,
@@ -22,6 +21,9 @@
git,
python3,
esbuild,
# self for passthru
deno,
}:
let
@@ -90,13 +92,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
# To avoid this we pre-download the file and export it via RUSTY_V8_ARCHIVE
env.RUSTY_V8_ARCHIVE = librusty_v8;
# Many tests depend on prebuilt binaries being present at `./third_party/prebuilt`.
# We provide nixpkgs binaries for these for all platforms, but the test runner itself only handles
# these four arch+platform combinations.
doCheck =
stdenv.hostPlatform.isDarwin
|| (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isx86_64));
# Don't run checks on hydra as they've been observed to be flakey for us and
# other distros CI: https://gitlab.alpinelinux.org/alpine/aports/-/blob/bec8b026686323b496365b825ad14fdf4473adf2/community/deno/APKBUILD#L79
# We haven't reproduced it on local machines, could be related to doing other
# builds simultaneously.
# A build with tests (+ librusty_v8 tests) is included in `deno.passhtru.tests`
doCheck = false;
# check related config is left in the main package so if someone uses
# `overrideAttrs` to always build with tests, it'll all work.
preCheck =
# Provide esbuild binary at `./third_party/prebuilt/` just like upstream:
# https://github.com/denoland/deno_third_party/tree/master/prebuilt
@@ -243,7 +246,20 @@ rustPlatform.buildRustPackage (finalAttrs: {
passthru = {
updateScript = ./update.sh;
tests = callPackage ./tests { };
tests = (callPackage ./tests { }) // {
build-with-unit-tests = deno.overrideAttrs (fa: {
# The tools test suite requires building the test server
dontBuild = false;
# Many tests depend on prebuilt binaries being present at `./third_party/prebuilt`.
# We provide nixpkgs binaries for these for all platforms, but the test runner itself only handles
# these four arch+platform combinations.
doCheck =
stdenv.hostPlatform.isDarwin
|| (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isx86_64));
});
# Also include librusty_v8 tests
librusty_v8-tests = librusty_v8.passthru.tests;
};
inherit librusty_v8;
};
+16
View File
@@ -153,6 +153,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
"fortify3"
];
# Don't run checks on hydra as they've been observed to be flakey for us and
# other distros CI: https://gitlab.alpinelinux.org/alpine/aports/-/blob/bec8b026686323b496365b825ad14fdf4473adf2/community/deno/APKBUILD#L79
# We haven't reproduced it on local machines, could be related to doing other
# builds simultaneously.
# A build with tests is included as part of `deno.passhtru.tests` via `librusty_v8.passthru.tests`
doCheck = false;
# Check related config is left in the main package so if someone uses
# `overrideAttrs` to always build with tests, it'll all work.
checkFlags = [
# These tests probably fail due to a more recent rustc version (upstream: 1.89.0, here: 1.93.0)
"--skip=ui"
@@ -167,6 +175,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
runHook postInstall
'';
passthru = {
tests = {
build-with-unit-tests = deno.passthru.librusty_v8.overrideAttrs (fa: {
doCheck = true;
});
};
};
requiredSystemFeatures = [ "big-parallel" ];
meta = {
+3 -1
View File
@@ -15,7 +15,7 @@
commandLineArgs ? "",
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
asar,
copyDesktopItems,
darwin,
@@ -23,6 +23,7 @@
}:
let
pnpm = pnpm_10;
electron = electron_41;
seshat = callPackage ./seshat { };
in
@@ -43,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
version
src
;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-0yqWObZtRntsH7gk+OB8pMuWsrvCQ4L9173Qv0o5abk=";
};
@@ -6,12 +6,14 @@
nodejs,
jitsi-meet,
fetchPnpmDeps,
pnpm,
pnpm_10,
pnpmConfigHook,
faketty,
}:
let
pnpm = pnpm_10;
noPhoningHome = {
disable_guests = true; # disable automatic guest account registration at matrix.org
};
@@ -36,6 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
pname = "element";
inherit (finalAttrs) version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-0yqWObZtRntsH7gk+OB8pMuWsrvCQ4L9173Qv0o5abk=";
};
+186 -196
View File
@@ -1,13 +1,13 @@
[
{
"pname": "Acornima",
"version": "1.2.0",
"hash": "sha256-eDApwoJgsWOmCTGPn+o2xpfZEXupAw1+41nCBtAzTas="
"version": "1.4.0",
"hash": "sha256-7SCe3Bgcyzlv6nXQfTOy3UZLc7ilZ3YXxgl6mcTF82s="
},
{
"pname": "AdvancedStringBuilder",
"version": "0.1.1",
"hash": "sha256-pLixGUct2lQnSeckSHVnIEoGfsvz3gkA914QSHdaheE="
"version": "0.2.0",
"hash": "sha256-66bPgNGU/wLpGs9mydkBBlTEJRpvfHDwWEysUsufZJY="
},
{
"pname": "AngleSharp",
@@ -46,8 +46,8 @@
},
{
"pname": "BlazorSortable",
"version": "5.2.1",
"hash": "sha256-T+0zzQOq81NJUtER+9Ag5DQvn1v3+rbA5AOu/zqWFVg="
"version": "6.0.1",
"hash": "sha256-VrK9dW5ULwfTOwxKvZU+OiXLuFEldmOx2kju5OBxSu0="
},
{
"pname": "Blurhash.Core",
@@ -59,16 +59,6 @@
"version": "2.0.0",
"hash": "sha256-I22mdiA6Ltr0D2pyryUyS0z5YboBr5UY9LZFcer3FPs="
},
{
"pname": "Bugsnag",
"version": "4.1.0",
"hash": "sha256-o30fm7J9tZouVRf0oZNR2hTukc2V8HpdRK30Uu5dZcc="
},
{
"pname": "Bugsnag.AspNet.Core",
"version": "4.1.0",
"hash": "sha256-L/aMCcmE7xLEtap5/H56VwCsDI4N/m8jgoj6SkxM7x8="
},
{
"pname": "Chronic.Core",
"version": "0.4.0",
@@ -76,18 +66,18 @@
},
{
"pname": "CliWrap",
"version": "3.10.0",
"hash": "sha256-XMGTr0gkZxSOC72hrCjpIChpN0c0A19X3TqOAdBtgb4="
"version": "3.10.1",
"hash": "sha256-uH4SXiMkUIPw5RRyKtDTTCSkkr3BhBAPrxnC4O4ES4c="
},
{
"pname": "Dapper",
"version": "2.1.66",
"hash": "sha256-e5n/wnAFGPDSe30oQQ0fanXrvFZYYa+qCDSTHtfQmPw="
"version": "2.1.72",
"hash": "sha256-9CKyz72/Vp5/GIoxJzl7RAXTj4MvKTgFi/7fGyhRqf4="
},
{
"pname": "Destructurama.Attributed",
"version": "5.2.0",
"hash": "sha256-0WBuqkLizviaHA5xrbSbs8Z90MLy+fal+NPe4LyLP2k="
"version": "5.3.0",
"hash": "sha256-1hj6Y0MSgjNRCSP90fFoaC3md58pOO9VsZzTpXRWFy0="
},
{
"pname": "EFCore.BulkExtensions",
@@ -126,13 +116,18 @@
},
{
"pname": "Elastic.Clients.Elasticsearch",
"version": "9.3.0",
"hash": "sha256-h2ExrklcO6tVFV2ecxnGXA4uY9D1tiQ3sqmmN7wrRoM="
"version": "9.3.6",
"hash": "sha256-vRFjnDERVzH3uk9i2j0M8ygs9qzq9fL8jWxhnUX0ins="
},
{
"pname": "Elastic.Esql",
"version": "0.11.0",
"hash": "sha256-o4OYz2vJq5jOjuOzs6YVIwO5nIQYV5pDyVYwFzU2oDM="
},
{
"pname": "Elastic.Transport",
"version": "0.10.3",
"hash": "sha256-9AcJAN3uP3wywsm52caPg6Qgt4iZS0nhjIl2bb0hlx8="
"version": "0.17.0",
"hash": "sha256-XRz9obr31ShKHAmNM9vkh9UZ7+u8GfGFvtX/wOduINw="
},
{
"pname": "ExtendedNumerics.BigDecimal",
@@ -191,8 +186,8 @@
},
{
"pname": "Heron.MudCalendar",
"version": "3.4.0",
"hash": "sha256-QVrlIlO35o2LElr+Ac3F6UZHlI9fosIjheucWBF+QZU="
"version": "4.0.0",
"hash": "sha256-B0XLRt7/V3pHxOwNNwDpua/R53wS8hN6TrA+iHw03Nk="
},
{
"pname": "HtmlSanitizer",
@@ -206,8 +201,8 @@
},
{
"pname": "Humanizer.Core",
"version": "3.0.1",
"hash": "sha256-Wxqf1FRXtsQulLFtbfsfYu4oZmrCuOZAikMcY2i6Dww="
"version": "3.0.10",
"hash": "sha256-mflSENjDof1Av9M9RLGEQcl4V4keVfH3qIxy/uxJ6FE="
},
{
"pname": "J2N",
@@ -216,23 +211,23 @@
},
{
"pname": "Jint",
"version": "4.5.0",
"hash": "sha256-1+cTMz+HMVl+AVYRdpd77wblEF+aVRL+tTMoI46H52c="
"version": "4.8.0",
"hash": "sha256-+K8NGiJ1SChiyMrjn4dJOiBdnWXP6UOfXSsNsJ5//tI="
},
{
"pname": "Json.More.Net",
"version": "3.0.0",
"hash": "sha256-zlJb9Wi9ErFqN8FYphzog9paPxI3DBVnoTL0c12Bfks="
"version": "3.0.1",
"hash": "sha256-U4Ers0TkbNsrC8TBJsuQcm9IHirf2BRCOf+9uaOhQSs="
},
{
"pname": "JsonPointer.Net",
"version": "7.0.0",
"hash": "sha256-/1GemlLhmYnz/HDQTpEEaGxaofoFkFUMNNPInKhAvM4="
"version": "7.0.1",
"hash": "sha256-KCU4NBKrNAJysKlew0IHN5TD+Euo83wfG9Pi1koAWEk="
},
{
"pname": "JsonSchema.Net",
"version": "9.0.0",
"hash": "sha256-N5bp2OswdoQI5fe/ZaKmk7LwL9woJ5cV4D43IUeFJ3E="
"version": "9.2.0",
"hash": "sha256-vz2JWvZ7HM87NXgGc+MS2Nff2q4u+w1gns8GK41LOmw="
},
{
"pname": "LanguageExt.Core",
@@ -279,11 +274,6 @@
"version": "4.8.0-beta00017",
"hash": "sha256-hHL4liVC3k8+PZVIE8N8SdT8UQkEj55IocsY5QEX52s="
},
{
"pname": "Markdig",
"version": "0.44.0",
"hash": "sha256-EVuUTv5l68t7bP2vJ2njypxuRzH52AztXyBF9LUJrrI="
},
{
"pname": "MedallionTopologicalSort",
"version": "1.0.0",
@@ -316,33 +306,33 @@
},
{
"pname": "Microsoft.AspNetCore.Authentication.JwtBearer",
"version": "10.0.2",
"hash": "sha256-3M89gVZd6YdEKk+/VnNJoWgAkqPkFj8PC32ai3vwm+E="
"version": "10.0.7",
"hash": "sha256-Y1DM6+4ji/xoAxv9NLsJOj7YUkQA5ItrlTR3NL2XcrE="
},
{
"pname": "Microsoft.AspNetCore.Authentication.OpenIdConnect",
"version": "10.0.2",
"hash": "sha256-Lkp2a7n4MSsk33irb5ByVQ/zFZS5WcoG6Q+rwV8B27Y="
"version": "10.0.7",
"hash": "sha256-hr1QgB9miQO2rXj5heibTX/fa3Tj/Nci8G/pDcrq11c="
},
{
"pname": "Microsoft.AspNetCore.JsonPatch",
"version": "10.0.2",
"hash": "sha256-b1IIM+6HOht8cQsi82KM2epHJ/CvRn16UK57tyWRiU0="
"version": "10.0.7",
"hash": "sha256-sbF5N0U+OXZKRUXXPppPrvJXevmUGnvDl6LqPtpEsBY="
},
{
"pname": "Microsoft.AspNetCore.Mvc.NewtonsoftJson",
"version": "10.0.2",
"hash": "sha256-KSRRa8gmn84qphEFNaLl0PwVmG/gQpgzMHc4FIct8E0="
"version": "10.0.7",
"hash": "sha256-nVAGFNglXbdJtuk099NVyC+qN/lgL3T0UdZ0GtJ1d1M="
},
{
"pname": "Microsoft.AspNetCore.OpenApi",
"version": "10.0.2",
"hash": "sha256-FU57fPXL4NUDRqi+rLresi4yKttv1KcAnLuEdPCyTos="
"version": "10.0.7",
"hash": "sha256-WlAW49otxYzgrmuqHewUoBsjDcAZwhNz5WVbCT4EiIA="
},
{
"pname": "Microsoft.AspNetCore.SpaServices.Extensions",
"version": "10.0.2",
"hash": "sha256-ZY0Aj8amA9XLD/SWu7+kc/2ROq8lwHa5cK7k0ec4j9k="
"version": "10.0.7",
"hash": "sha256-xDbi4sbKmyrNYw+L1EIQx3RrVrezxPWICuz250dsEjA="
},
{
"pname": "Microsoft.Bcl.AsyncInterfaces",
@@ -421,8 +411,8 @@
},
{
"pname": "Microsoft.Data.Sqlite.Core",
"version": "9.0.12",
"hash": "sha256-rV9MvBeKDh3DBf9IqHTzCogLKHsAJ0TEfcfSboCI/o0="
"version": "9.0.15",
"hash": "sha256-4KjfN468fFj8sapfSv4FzYpuhTie89UJ5jg18Nm06zc="
},
{
"pname": "Microsoft.Data.Sqlite.Core",
@@ -436,23 +426,23 @@
},
{
"pname": "Microsoft.EntityFrameworkCore",
"version": "9.0.12",
"hash": "sha256-TCGyEqqYfJ5nXiAi0xVZe8Bwx8TZ0xefLE7h87b40+Y="
"version": "9.0.15",
"hash": "sha256-Ou8paIss4D6SL2T4mUB3URVD9gkpK6YQ+mmvTuwmxzg="
},
{
"pname": "Microsoft.EntityFrameworkCore.Abstractions",
"version": "9.0.12",
"hash": "sha256-52OUOGyGUXiwdjWHm7bXbdTmJ1hyphBrrXfFQebptOU="
"version": "9.0.15",
"hash": "sha256-JISfrDTChiNqsXiwIh9hMOjLTUJcdkakFPjUqC3IXb4="
},
{
"pname": "Microsoft.EntityFrameworkCore.Analyzers",
"version": "9.0.12",
"hash": "sha256-RNwUiYCSp/DxNEw+cNO51jFbN1H6jRtTs4XQAcc629E="
"version": "9.0.15",
"hash": "sha256-8/WBMCzYsfpJXLzH70Z1Yz4RUjHWf6vWBBMVb3VwEjM="
},
{
"pname": "Microsoft.EntityFrameworkCore.Design",
"version": "9.0.12",
"hash": "sha256-ulEXCCNkXc3tLSHKqd6tXhj5txfuRL1MTxZNS1tQHnc="
"version": "9.0.15",
"hash": "sha256-4SPaldOH+RASmKSfLGViFf9gzZ3OsAvpBrm5TReqcn4="
},
{
"pname": "Microsoft.EntityFrameworkCore.Relational",
@@ -466,8 +456,8 @@
},
{
"pname": "Microsoft.EntityFrameworkCore.Relational",
"version": "9.0.12",
"hash": "sha256-PNNKkfu7qB1oZDTI3QvT9TUk5EyR1YRriEznha4Q6+M="
"version": "9.0.15",
"hash": "sha256-Z/HgAgCHY2nWaOOWh5AYDTn1CpEZyNQJDOFv1GNlvp4="
},
{
"pname": "Microsoft.EntityFrameworkCore.Relational",
@@ -476,13 +466,13 @@
},
{
"pname": "Microsoft.EntityFrameworkCore.Sqlite",
"version": "9.0.12",
"hash": "sha256-CMrv+8yvKwUj3dHBkdARBfRAbk+lpngXaLeRKsT3Nck="
"version": "9.0.15",
"hash": "sha256-Ydym7NoDB8wADqoG5k5fTT81Dlcqe5yyfSCfknQxz1M="
},
{
"pname": "Microsoft.EntityFrameworkCore.Sqlite.Core",
"version": "9.0.12",
"hash": "sha256-XyBi4Sf3r9xzgbWWhSaxXMq9L9l7jhl0Uouql/yLnAQ="
"version": "9.0.15",
"hash": "sha256-j8y6Iy2M+56wWXdLBo6ZDWk6UlA128kdrsAh9VBDnRg="
},
{
"pname": "Microsoft.EntityFrameworkCore.Sqlite.Core",
@@ -506,28 +496,28 @@
},
{
"pname": "Microsoft.Extensions.ApiDescription.Server",
"version": "10.0.2",
"hash": "sha256-3xz0RLS2+2wI6MI58VLRC5/gnEI+WpTAvPA56AZlE4E="
"version": "10.0.7",
"hash": "sha256-tqh27mFfF2GzXLCSSeX0uEQ9yXVuhlOZDHo3rJVLwKw="
},
{
"pname": "Microsoft.Extensions.Caching.Abstractions",
"version": "10.0.2",
"hash": "sha256-nKmQuZTt1g5/8gBajo7wdCV64kdCucdiQR8JTt7ZZb0="
"version": "10.0.7",
"hash": "sha256-u3pHlFaDPeY2v89jNYLiHUQ2aGMKpe5wpXZUt8hkgdE="
},
{
"pname": "Microsoft.Extensions.Caching.Abstractions",
"version": "9.0.12",
"hash": "sha256-5InZVZkpQztuUmMWSFtzanp9zPKfN1gb8Id0kNuaops="
"version": "9.0.15",
"hash": "sha256-x10lmXDYMA3mUS71ujHYKvDJSToDGVp5ajvxV0QaHuE="
},
{
"pname": "Microsoft.Extensions.Caching.Memory",
"version": "10.0.2",
"hash": "sha256-sRUF7DM0s1yzZnfjM/hF9A/IysE6Er23gZ6jST+RWh0="
"version": "10.0.7",
"hash": "sha256-8qXL1F5gE9OZUEp/9pNVT33hjRMVAPt4eovT1NesKoQ="
},
{
"pname": "Microsoft.Extensions.Caching.Memory",
"version": "9.0.12",
"hash": "sha256-jRs6ObQ4MmhCt0JoCSqlMLLjmPPu1uKnUGUncTjfFvg="
"version": "9.0.15",
"hash": "sha256-nlXdfEfziMtU3cEyadBlwU2ev3d+KtKSt9Sskgejteg="
},
{
"pname": "Microsoft.Extensions.Caching.Memory",
@@ -541,13 +531,13 @@
},
{
"pname": "Microsoft.Extensions.Configuration",
"version": "10.0.1",
"hash": "sha256-7xdHie4uHwoGZz5yUT4vWg2EWvkLvsSzItWCoqm4dTM="
"version": "10.0.2",
"hash": "sha256-dBJAKDyp/sm+ZSMQfH0+4OH8Jnv1s20aHlWS6HNnH+c="
},
{
"pname": "Microsoft.Extensions.Configuration",
"version": "10.0.2",
"hash": "sha256-dBJAKDyp/sm+ZSMQfH0+4OH8Jnv1s20aHlWS6HNnH+c="
"version": "10.0.7",
"hash": "sha256-2RqDs7+dXtGY78E5jSd1qyKu+dMQkbzv+oMY09SEJm0="
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
@@ -556,13 +546,13 @@
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "10.0.1",
"hash": "sha256-s4PDp+vtzdxKIxnOT3+dDRoTDopyl8kqmmw4KDnkOtQ="
"version": "10.0.2",
"hash": "sha256-P+0kaDGO+xB9KxF9eWHDJ4hzi05sUGM/uMNEX5NdBTE="
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "10.0.2",
"hash": "sha256-P+0kaDGO+xB9KxF9eWHDJ4hzi05sUGM/uMNEX5NdBTE="
"version": "10.0.7",
"hash": "sha256-MnUJzZYnl089xuVi6kpt9kymBIvYun9U+Itd12dM5Co="
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
@@ -571,8 +561,8 @@
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "9.0.12",
"hash": "sha256-FYIGDiv0aVApHCpoVQs4o9sWeFZhXb3XfK/zWXYlH1g="
"version": "9.0.15",
"hash": "sha256-oiFKtv9fTTQrlk4C/fMY0Jp0ZcxlbvN2WEsMVfPw9J8="
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
@@ -586,13 +576,13 @@
},
{
"pname": "Microsoft.Extensions.Configuration.Binder",
"version": "10.0.1",
"hash": "sha256-fiqTHE6EfaUXICaVrWzQEU/K6GjQNac6yRNErig6wRk="
"version": "10.0.2",
"hash": "sha256-resI9gIxHh2cc+258/i+TjW8xxzKf4ZBTLIcWAMEYz0="
},
{
"pname": "Microsoft.Extensions.Configuration.Binder",
"version": "10.0.2",
"hash": "sha256-resI9gIxHh2cc+258/i+TjW8xxzKf4ZBTLIcWAMEYz0="
"version": "10.0.7",
"hash": "sha256-lU4G801+Cy3ua+S2slY5UVHOPXdF0I7r3lYX38mQSPw="
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
@@ -601,24 +591,24 @@
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
"version": "10.0.2",
"hash": "sha256-/9UWQRAI2eoocnJWWf1ktnAx/1Gt65c16fc0Xqr9+CQ="
"version": "10.0.7",
"hash": "sha256-dICogdaqa5mHqyvFA0lTomFa39Dqm4nn7Pit6qi6eQY="
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
"version": "9.0.12",
"hash": "sha256-pNKpg5UELjrn4Tm9s0aJigCX7qJ/JeqboU7TY3k+jUo="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "10.0.1",
"hash": "sha256-zNUpau51ds7iQTaSUTFtyTHIUoinYc129W50CnufMdQ="
"version": "9.0.15",
"hash": "sha256-9GklcF6RO6QPZTSLzCe/Vy7mPLJIq4lbHhQ9xg+Nvlo="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "10.0.2",
"hash": "sha256-UF9T13V5SQxJy2msfLmyovLmitZrjJayf8gHH+uK2eg="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "10.0.7",
"hash": "sha256-uQmTQarMn0fuZV03MyCb78Ex+96cuqFHNO5SyFOPkJk="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "8.0.0",
@@ -631,8 +621,8 @@
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "9.0.12",
"hash": "sha256-EZt7Vjl0dll6GZOVCTfC2cYxAG5IWtJHeOGlDJ7rHTg="
"version": "9.0.15",
"hash": "sha256-hszOr6dqOMuiuWPlIbBvqtay42oZfeWtwqX92rvM2MI="
},
{
"pname": "Microsoft.Extensions.DependencyModel",
@@ -641,23 +631,18 @@
},
{
"pname": "Microsoft.Extensions.DependencyModel",
"version": "9.0.12",
"hash": "sha256-CMh5AhCkjIzS0BP+GKael2eIoDSpyXsipWo/M7pcT8g="
"version": "9.0.15",
"hash": "sha256-g8Fe7eV3NX5av6rRA9nlvuf8Pc+0ht7eiVQ8YLG+T2o="
},
{
"pname": "Microsoft.Extensions.DependencyModel",
"version": "9.0.9",
"hash": "sha256-0ygY8JLOIKuYFwwdVCtDl8/8fV5IC9JgivfzXsjXXsI="
},
{
"pname": "Microsoft.Extensions.DiagnosticAdapter",
"version": "3.1.32",
"hash": "sha256-moN7Vt47IZ0ZHRMjW+Y1Vbn/7ekvkj9GSm4yjIeAGnI="
},
{
"pname": "Microsoft.Extensions.Diagnostics",
"version": "10.0.2",
"hash": "sha256-Zb/qJA0cZYiPQO7I3AegZCcNT0aJlKTycUP11Mqbm6o="
"version": "10.0.7",
"hash": "sha256-Sd0ZsXgO7w/35vOKN1B0CZdcIcMJnf/Z/8POSikTyRk="
},
{
"pname": "Microsoft.Extensions.Diagnostics.Abstractions",
@@ -666,8 +651,8 @@
},
{
"pname": "Microsoft.Extensions.Diagnostics.Abstractions",
"version": "10.0.2",
"hash": "sha256-Aob6wq51LdquE7SkkxtCzcuHBKWrJcb3Ebi/dU3aqA4="
"version": "10.0.7",
"hash": "sha256-ocntk68Qa3ccHGEnzmZuKdBWdQEnp4PgwJk63bSRjDA="
},
{
"pname": "Microsoft.Extensions.FileProviders.Abstractions",
@@ -676,8 +661,8 @@
},
{
"pname": "Microsoft.Extensions.FileProviders.Abstractions",
"version": "10.0.2",
"hash": "sha256-tibCkkT9WliU2E/i0ufx7/Va6H6QZX4hR/1oUp8ecgQ="
"version": "10.0.7",
"hash": "sha256-ibxSdxibq1UKOo4Mz+zthbZd0UUFipnJNb0hPwvEXCA="
},
{
"pname": "Microsoft.Extensions.Hosting.Abstractions",
@@ -686,24 +671,19 @@
},
{
"pname": "Microsoft.Extensions.Hosting.Abstractions",
"version": "10.0.2",
"hash": "sha256-mkeKUXepn4bfEdZFXdURmNEFdGiHQdpcxnm6joG+pUA="
"version": "10.0.7",
"hash": "sha256-S1WAgBHPi7H71uQUGyl2aG/IITgYfVNznyXsFrRe/kE="
},
{
"pname": "Microsoft.Extensions.Http",
"version": "10.0.2",
"hash": "sha256-0q9E0HO4YIqUs9ceZpY+nMKtdqdtncTbOjyEOlYdWHs="
"version": "10.0.7",
"hash": "sha256-cbTDyODUPitTBOn88A5R5/QGPzOTCT7qeyP2gG6WOS0="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "10.0.0",
"hash": "sha256-P+zPAadLL63k/GqK34/qChqQjY9aIRxZfxlB9lqsSrs="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "10.0.1",
"hash": "sha256-zuLP3SIpCToMOlIPOEv3Kq8y/minecd8k8GSkxFo13E="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "10.0.2",
@@ -711,8 +691,13 @@
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "9.0.12",
"hash": "sha256-9QhfuxEeAiRoP6rYPs2TZY3N/BAd3AgHGwc1wEIcy6o="
"version": "10.0.7",
"hash": "sha256-AUOet0nWZHB132XCPuyUp5xTFNnWjHhoOtzooFcXHk4="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "9.0.15",
"hash": "sha256-V4ylLCMDJnQzmbR+20+NUlXXw6a3SpGn5VIZ1eCrjuU="
},
{
"pname": "Microsoft.Extensions.Logging",
@@ -726,13 +711,13 @@
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "10.0.1",
"hash": "sha256-NRk0feNE1fgi/hyO0AVDbSGJQRT+9yte6Lpm4Hz/2Bs="
"version": "10.0.2",
"hash": "sha256-ndKGzq8+2J/hvaIULwBui0L/jDyMQTAY24j+ohX5VX8="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "10.0.2",
"hash": "sha256-ndKGzq8+2J/hvaIULwBui0L/jDyMQTAY24j+ohX5VX8="
"version": "10.0.7",
"hash": "sha256-/ITLUXgcs5tRDdeileNlmNB92V25CRd1FGBocChJj0g="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
@@ -746,34 +731,29 @@
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "9.0.12",
"hash": "sha256-pl+0ezSkx+GND5pH2gtvhdMiCPodD1YvNP7wl4gDQt4="
"version": "9.0.15",
"hash": "sha256-n8lNcXF+LGLOfYGn6eQ8iFO6eV+XyP2PjVknG73sQbM="
},
{
"pname": "Microsoft.Extensions.Logging.Configuration",
"version": "10.0.1",
"hash": "sha256-/7ywcFsEmmQzWEcIvxoGAYHF0oDSXV/LTDAiW/MNQtg="
"version": "10.0.2",
"hash": "sha256-eSfmagvrcdRVmTXEdzfvWEDNBewB/YClOGSDq4gThk0="
},
{
"pname": "Microsoft.Extensions.Logging.Console",
"version": "10.0.1",
"hash": "sha256-m/E02c5NSCYyH4THNKxpnsi3Kp8gqOi2aPrfXx7sQ9s="
"version": "10.0.2",
"hash": "sha256-mfaypUwMZxEIKBfnmzhnCScC/uPpZBRYN+/2SNcxcu4="
},
{
"pname": "Microsoft.Extensions.Logging.TraceSource",
"version": "10.0.1",
"hash": "sha256-NS7P5jo7dtiH7DmyyipTIfaRf4ZwEJLU2UVG+4hlFSE="
"version": "10.0.2",
"hash": "sha256-iD2epXLjKr41et5vJJTzLTxm+GzVxbAUMrwRm9jmH1c="
},
{
"pname": "Microsoft.Extensions.Options",
"version": "10.0.0",
"hash": "sha256-j5MOqZSKeUtxxzmZjzZMGy0vELHdvPraqwTQQQNVsYA="
},
{
"pname": "Microsoft.Extensions.Options",
"version": "10.0.1",
"hash": "sha256-vBiSS1vqAC7eDrpJNT4H3A9qLikCSAepnNRbry0mKnk="
},
{
"pname": "Microsoft.Extensions.Options",
"version": "10.0.2",
@@ -781,19 +761,24 @@
},
{
"pname": "Microsoft.Extensions.Options",
"version": "9.0.12",
"hash": "sha256-WuEpn1zvPWdS+TTu30s1Z3KMUt+4GpdwRpzqrhtfd60="
"version": "10.0.7",
"hash": "sha256-XtyfdZ26kjnuCF/YHbdGdsIeR/nxSW7yyQZ04sOa9RU="
},
{
"pname": "Microsoft.Extensions.Options.ConfigurationExtensions",
"version": "10.0.1",
"hash": "sha256-1CNSVXZ3RAH4vzbYDqcQHl9c/YBhuSfrFUXCLIx5/rY="
"pname": "Microsoft.Extensions.Options",
"version": "9.0.15",
"hash": "sha256-p1ilUJEqSUSAx3mlTmMm6Jh3A9QvjL+L5D34wugbWIc="
},
{
"pname": "Microsoft.Extensions.Options.ConfigurationExtensions",
"version": "10.0.2",
"hash": "sha256-WJahsWyT5wYdLPEJufHKpb3l/dl7D2iw2SnMK0Jr53U="
},
{
"pname": "Microsoft.Extensions.Options.ConfigurationExtensions",
"version": "10.0.7",
"hash": "sha256-6UBnB1ouWwRkVEGt5xLfXZvpYsCQQJijKvBlBCJOmmM="
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "10.0.0",
@@ -801,8 +786,8 @@
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "10.0.2",
"hash": "sha256-8Ccrjjv9cFVf9RyCc7GS/Byt8+DXdSNea0UX3A5BEdA="
"version": "10.0.7",
"hash": "sha256-cQBhL1IkRl1lxaZImAZBVS39CfWkB+J6+hJVEVBE35I="
},
{
"pname": "Microsoft.Extensions.Primitives",
@@ -811,8 +796,8 @@
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "9.0.12",
"hash": "sha256-aJBpI8kad6jm0Pno4WQWJZnbM2E3zayjfa8gvoMXI7I="
"version": "9.0.15",
"hash": "sha256-t5zLMH4Vkmuufk53RX0K/sHo7Yy16TuUd8fUd6de0N8="
},
{
"pname": "Microsoft.Identity.Client",
@@ -921,8 +906,8 @@
},
{
"pname": "MudBlazor",
"version": "8.15.0",
"hash": "sha256-I6kJEvND0i3I/amZBhDF8LjYeGGWuMwoSLiev6BS3UM="
"version": "9.4.0",
"hash": "sha256-PsWZYhD35e+W0iBvRN0rv6PspDr615MNBrYGHNIfcNY="
},
{
"pname": "MySqlConnector",
@@ -936,13 +921,13 @@
},
{
"pname": "NCalc.Core",
"version": "5.11.0",
"hash": "sha256-THgAix81mZxztHNMf5JlTPUGbcs1ZuRS3EVM7eFHseg="
"version": "5.12.0",
"hash": "sha256-TxeBjIq33bNgHGWgJRjdKmhnxr3lscEFmL59bBNG0UU="
},
{
"pname": "NCalcSync",
"version": "5.11.0",
"hash": "sha256-Kui0K2WuLS0filTnpdcA3/H/XqqDOjtKms97WqbulEw="
"version": "5.12.0",
"hash": "sha256-Hraol6T5U8B8Z1DrincdjJZREjkt9ZbBPAH7wtZN4a4="
},
{
"pname": "NETStandard.Library",
@@ -1016,8 +1001,8 @@
},
{
"pname": "Parlot",
"version": "1.5.6",
"hash": "sha256-Ffbs7IpgN0aOKScBe64PGySnzWxapVSuM73fQmt+2nU="
"version": "1.5.7",
"hash": "sha256-mvAu74ty4uRP3f+Yy4R/HuhJKApOx/6ASl8nJ1mzvqM="
},
{
"pname": "Pomelo.EntityFrameworkCore.MySql",
@@ -1026,23 +1011,23 @@
},
{
"pname": "Refit",
"version": "9.0.2",
"hash": "sha256-FTq+jJLV9ow3hTrzTBEYwuAibxY6m0XgExNeIGoAAK4="
"version": "10.1.6",
"hash": "sha256-KC0PVsbqx5RHZxItYgJaBeUQBlPLQbTx643BzEhXIc0="
},
{
"pname": "Refit.HttpClientFactory",
"version": "9.0.2",
"hash": "sha256-qxUm0NlJqoOPFRTu7ArdcSR696t5zCB+BniJv1+Xdkc="
"version": "10.1.6",
"hash": "sha256-/fkHB7cFXIRVUDnznQVJBgpwLS8KdhtiASF78xp4C8Q="
},
{
"pname": "Refit.Newtonsoft.Json",
"version": "9.0.2",
"hash": "sha256-cxZtCv7gecMVIVzDrgjMBg81dEAq6DT9ccR10SKuFV4="
"version": "10.1.6",
"hash": "sha256-SJq065kLgo9cJn5sg64hK+7dMxezJbdQJdlp4U1M/1M="
},
{
"pname": "Refit.Xml",
"version": "9.0.2",
"hash": "sha256-FNP7WAnsjncwdSvj4j7mxP2I+O3TNiYzlaTYVBlMWEo="
"version": "10.1.6",
"hash": "sha256-VgPvKHxAB+X5hkD+eapzDcgB8Z+0ZIeX/D14vGRhrCU="
},
{
"pname": "RichTextKit.Stbear",
@@ -1051,13 +1036,13 @@
},
{
"pname": "Scalar.AspNetCore",
"version": "2.12.32",
"hash": "sha256-0EZAD43NpMpX3P8quuctTLSGBxwjxxbyfQodo0e+nII="
"version": "2.14.10",
"hash": "sha256-NojV2iMXKFbZTypeqLhgNdebb9hGLsFyDjkHrjSOryM="
},
{
"pname": "Scriban.Signed",
"version": "6.5.2",
"hash": "sha256-rnhmugQoX+lI0sO+V3KIAsQ9kWs0ow7EpEriQLCYAQw="
"version": "7.1.0",
"hash": "sha256-bUADaUvCUz4uOx/zpiG5IaQKHlWRLiUmCg+90CTuJgI="
},
{
"pname": "Serilog",
@@ -1069,6 +1054,11 @@
"version": "4.3.0",
"hash": "sha256-jyIy4BjsyFXge3aO4GRFAdnX4/rz1MHfBkBDIpCDsTw="
},
{
"pname": "Serilog",
"version": "4.3.1",
"hash": "sha256-TY+GaQYnyDfOGl0gi67xDyUMOuV/mjz8BU66/UsmStI="
},
{
"pname": "Serilog.AspNetCore",
"version": "10.0.0",
@@ -1131,8 +1121,8 @@
},
{
"pname": "SkiaSharp",
"version": "3.119.1",
"hash": "sha256-TIVr52NpQ9cab5eJCcH/OYHjNOTKhwCqpClK2c8S4TM="
"version": "3.119.2",
"hash": "sha256-A9F397K5FfLeOsNZacKmUh4IU/WMK60B4Z6TEtS/oqo="
},
{
"pname": "SkiaSharp.HarfBuzz",
@@ -1146,18 +1136,18 @@
},
{
"pname": "SkiaSharp.NativeAssets.Linux.NoDependencies",
"version": "3.119.1",
"hash": "sha256-SprThyApThbDoeTn/JaaS7TKdm9SkMoVO8V8HuCyppI="
"version": "3.119.2",
"hash": "sha256-79BCLZAYjfHP1DZKgB+hsyyBlhnyZQPi+Swvs0RYnng="
},
{
"pname": "SkiaSharp.NativeAssets.macOS",
"version": "3.119.1",
"hash": "sha256-0QJGcO91MWLSeQpE4ZNn/KUVoHRcrPeDbKklxCVB00o="
"version": "3.119.2",
"hash": "sha256-KEeGqSiyAiMbzLgH/0JkwUz/pWcL49gYB1T1YLkMPaI="
},
{
"pname": "SkiaSharp.NativeAssets.Win32",
"version": "3.119.1",
"hash": "sha256-ySPkn8SrShOqhihC33EJ4HJt9desDISC4gAI4FQBi2U="
"version": "3.119.2",
"hash": "sha256-CI6dg+MlxX8t+vbnkxtd5QE3xalMKkA8LUSudxg7TNU="
},
{
"pname": "SQLitePCLRaw.bundle_e_sqlite3",
@@ -1196,8 +1186,8 @@
},
{
"pname": "System.CommandLine",
"version": "2.0.2",
"hash": "sha256-PK3wKHjY8FHkPV75Z4ouxKU67WcuVSiMFjAkBs+iSAo="
"version": "2.0.7",
"hash": "sha256-CGm46Hk7eZFvIySEynE+A0Hs5EXDs2FNKKhk/rU77jM="
},
{
"pname": "System.Composition",
@@ -1311,18 +1301,18 @@
},
{
"pname": "Testably.Abstractions",
"version": "10.0.0",
"hash": "sha256-2rixQaYGhCM+NjmkxgOBNjJMFcNHr+3TPP+vsRUMj4w="
"version": "10.2.0",
"hash": "sha256-5qGJPTlon9GBIpXa8vmZOjjPGMTnbXIDzORY10FEl1w="
},
{
"pname": "Testably.Abstractions.FileSystem.Interface",
"version": "10.0.0-pre.1",
"hash": "sha256-UO/Ly7Qd7AqYOIP52pS1YYoaQgOzzZ5745naHMqULZs="
"version": "10.2.0",
"hash": "sha256-4gUlDhO39+eBA/5xbraFpMztu4fcr0SzB+N4amLemQ4="
},
{
"pname": "Testably.Abstractions.Interface",
"version": "10.0.0-pre.1",
"hash": "sha256-Te2+jj1jSleYGEJHlrmj9GYTht62mY14E5WCKDHx4pQ="
"version": "10.2.0",
"hash": "sha256-dNazu3BDDWJp/4O7+Rx2MTPDGypQa8p7LJ3fTAWaP7M="
},
{
"pname": "TimeSpanParserUtil",
@@ -1341,8 +1331,8 @@
},
{
"pname": "WebMarkupMin.Core",
"version": "2.20.1",
"hash": "sha256-6ze4MOSfIKdvMJsroQRtESB8KG5XogO3xk4qOSkHpXQ="
"version": "2.21.0",
"hash": "sha256-k51tTFcdL9Bwsg3gA51ZswGxDtdBFb22BAj9wbyZu1E="
},
{
"pname": "Winista.MimeDetect",
@@ -1351,7 +1341,7 @@
},
{
"pname": "YamlDotNet",
"version": "16.3.0",
"hash": "sha256-4Gi8wSQ8Rsi/3+LyegJr//A83nxn2fN8LN1wvSSp39Q="
"version": "17.1.0",
"hash": "sha256-Zdlw62rVud2U94BQKqrp5OFQiDcQ9rRrKeaVnNxREjY="
}
]
+3 -3
View File
@@ -9,13 +9,13 @@
buildDotnetModule rec {
pname = "ersatztv";
version = "26.3.0";
version = "26.5.1";
src = fetchFromGitHub {
owner = "ErsatzTV";
repo = "ErsatzTV";
repo = "legacy";
rev = "v${version}";
sha256 = "sha256-yFGMkTI+IQs3WTOQzxhqj3ownENsIzLqrDr3nWurzfA=";
sha256 = "sha256-2w+4xppj3E8H6WXea/iuNfloUmBsFQKDBpTnUn3RWvE=";
};
postPatch = ''
# Remove config of development tools that don't end up in
+1 -1
View File
@@ -3,7 +3,7 @@
set -euo pipefail
latestVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/ersatztv/ersatztv/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')"
latestVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/ersatztv/legacy/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')"
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; ersatztv.version or (lib.getVersion ersatztv)" | tr -d '"')
if [[ "$currentVersion" == "$latestVersion" ]]; then
+10 -1
View File
@@ -2,12 +2,14 @@
stdenv,
lib,
fetchFromGitHub,
buildPackages,
coreutils,
darwin,
glibcLocales,
gnused,
gnugrep,
gawk,
fish,
man-db,
ninja,
getent,
@@ -281,12 +283,19 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config
rustc
rustPlatform.cargoSetupHook
(python3.withPackages (ps: [
(buildPackages.python3.withPackages (ps: [
ps.pexpect
ps.sphinx
]))
# Avoid warnings when building the manpages about HOME not being writable
writableTmpDirAsHomeHook
]
++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
# Building the docs ends up wanting to run fish_indent at build
# time, which obviously can't use a cross compiled fish_indent
# from this derivation. Pull in the build platform's fish to
# provide it.
fish
];
buildInputs = [
+2 -2
View File
@@ -16,13 +16,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "flow";
version = "0.312.0";
version = "0.313.0";
src = fetchFromGitHub {
owner = "facebook";
repo = "flow";
tag = "v${finalAttrs.version}";
hash = "sha256-dZJ/WjCmwNIbo/kgFTuaSBOtK/fOg69L5D5PFdvSn/w=";
hash = "sha256-U2TC9IV414X71zhrRb47kCvQkVqOSxzeNnfuoBSeJQE=";
};
patches = [
+4 -4
View File
@@ -1,8 +1,8 @@
import ./generic.nix {
version = "15.0.1";
hash = "sha256-40hyQ6MPskyty/LsMVczuDpbu2q3Syoj3c00HUS+pVE=";
npmDepsHash = "sha256-xWbnSX11RkLjtJ62qG6rD+xQAOnUuI99r9uEHakkZPY=";
vendorHash = "sha256-JUBAcRYgflrvoAK0OvaU/Xr6/BakgaUtYwtvBF9vyk0=";
version = "15.0.2";
hash = "sha256-ba5jog6eXY4TTmBblhfVa2LSLPGE1/HPfslIb30b3kk=";
npmDepsHash = "sha256-70w39jbMWpuAsbzBC9oFHaUMwshtFDeTSEOXDgFNPmE=";
vendorHash = "sha256-I6bGvXBP2K3+Xx9E9DS/AyG6Ilqf/s8VjfBnCmLUHsk=";
lts = true;
nixUpdateExtraArgs = [
"--override-filename"
+19 -3
View File
@@ -5,6 +5,7 @@
fetchFromGitHub,
libusb1,
nix-update-script,
perl,
pkg-config,
rustPlatform,
versionCheckHook,
@@ -12,18 +13,25 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "foundry";
version = "1.5.1";
version = "1.7.0";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "foundry-rs";
repo = "foundry";
tag = "v${finalAttrs.version}";
hash = "sha256-dMYuv5noIn86WuUJkUixnoNGLgByacung/TBU+EYhUw=";
hash = "sha256-UCaBo4hMStmh79UiyYu7vEO7UtrvwJshe4PTMkqZV0w=";
};
cargoHash = "sha256-+5RLCkAQR8UepdUIsq1FnQmjKMg7YNC1Sxu0CVpWcnc=";
cargoHash = "sha256-iAWUEVgOgn2Zw9fINxyH9Bynh+flzCY40YFGoVLgG8k=";
strictDeps = true;
nativeBuildInputs = [
# `sha3-asm`'s build script runs cryptogams perl scripts to generate
# Keccak assembly, so perl must be available at build time.
perl
pkg-config
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ];
@@ -43,6 +51,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
passthru.updateScript = nix-update-script { };
env = {
# The build script in `crates/common/build.rs` uses vergen to embed
# `git describe` / SHA output, but the GitHub source tarball has no `.git`
# directory. Pre-set the values so vergen reuses them instead of shelling
# out to git.
VERGEN_GIT_SHA = finalAttrs.src.rev;
VERGEN_GIT_DESCRIBE = "v${finalAttrs.version}";
SVM_RELEASES_LIST_JSON =
if stdenv.hostPlatform.isDarwin then
# Confusingly, these are universal binaries, not amd64.
@@ -64,6 +79,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
beeb
mitchmindtree
msanft
samooyo
];
platforms = lib.platforms.unix;
};
+8 -2
View File
@@ -8,13 +8,14 @@
geos,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
nodejs,
postgresql,
postgresqlTestHook,
playwright-driver,
}:
let
pnpm = pnpm_10;
python = python3Packages.python.override {
packageOverrides = self: super: {
@@ -120,7 +121,12 @@ python.pkgs.buildPythonApplication rec {
];
pnpmDeps = fetchPnpmDeps {
inherit pname version src;
inherit
pname
version
src
pnpm
;
fetcherVersion = 3;
hash = "sha256-NbfCVD+gmtoxuYUCumTKj9P72utK787VdlnuU4lMMGc=";
};
+2 -2
View File
@@ -9,7 +9,7 @@
buildGoModule (finalAttrs: {
pname = "git-ls";
version = "6.0.0";
version = "6.1.0";
__structuredAttrs = true;
strictDeps = true;
@@ -18,7 +18,7 @@ buildGoModule (finalAttrs: {
owner = "llimllib";
repo = "git-ls";
tag = "v${finalAttrs.version}";
hash = "sha256-Is1bt1XLrzatxhMTrzClBeIWkTdepzDaDla1Ng+wrJ0=";
hash = "sha256-RSSddZRgYYQcHQA7ZVGLx/iZFx0crFiSY/EF2luWVjA=";
};
vendorHash = "sha256-Bk6IBG+BrqY4FNVIlbSSSnqqAeL+8SJUtRXuIp4e8f8=";
+5 -2
View File
@@ -19,7 +19,7 @@
pkg-config,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
rust,
rustPlatform,
turbo,
@@ -27,7 +27,9 @@
wrapGAppsHook4,
dart-sass,
}:
let
pnpm = pnpm_10;
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "gitbutler";
version = "0.19.7";
@@ -58,6 +60,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-eRiFA5lXpPHQwlyFmKMx1zmHH2zLCHB+3s708g6srg4=";
};
+4 -1
View File
@@ -13,19 +13,22 @@
openssh,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
stdenv,
sqliteSupport ? true,
nixosTests,
}:
let
pnpm = pnpm_10;
frontend = stdenv.mkDerivation (finalAttrs: {
pname = "gitea-frontend";
inherit (gitea) src version;
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-dewYYPO2wmNyYiQadoEKWJ10cghm6Lv7UE1iVlyNiEY=";
};
+4 -1
View File
@@ -6,12 +6,14 @@
makeWrapper,
net-tools,
nodejs,
pnpm,
pnpm_10,
pnpmConfigHook,
stdenvNoCC,
}:
let
pnpm = pnpm_10;
version = "0.63.15";
src = fetchFromGitHub {
@@ -27,6 +29,7 @@ let
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
sourceRoot = "${finalAttrs.src.name}/client";
fetcherVersion = 3;
hash = "sha256-GM86Os1OQaagD61BEIIsqhWJNVPFA9Z5RiYWyHlQlwY=";
+1
View File
@@ -80,6 +80,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
hash = pnpmDepsHash;
fetcherVersion = 3;
};
+2 -2
View File
@@ -8,11 +8,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "iina";
version = "1.4.1";
version = "1.4.2";
src = fetchurl {
url = "https://github.com/iina/iina/releases/download/v${finalAttrs.version}/IINA.v${finalAttrs.version}.dmg";
hash = "sha256-F3rUaeoSm+2VqCrFm1+1jQoGw1NC/KejfbohSogh+Eg=";
hash = "sha256-Lg/Yn7uhySpsEVFx5bUZBIg7tJf75ROmlh0ID7qwj/Y=";
};
nativeBuildInputs = [ undmg ];
+5 -3
View File
@@ -4,6 +4,7 @@
fetchFromGitHub,
autoreconfHook,
pkg-config,
wrapGAppsHook3,
gtk3,
librsvg,
libusb1,
@@ -11,18 +12,19 @@
stdenv.mkDerivation {
pname = "inklingreader";
version = "unstable-2017-09-07";
version = "0.8-unstable-2026-05-06";
src = fetchFromGitHub {
owner = "roelj";
repo = "inklingreader";
rev = "90f9d0d7f5353657f4d25fd75635e29c10c08d2e";
sha256 = "sha256-852m8g61r+NQhCYz9ghSbCG0sjao2E8B9GS06NG4GyY=";
rev = "44026d82e494b8068ebd8be377516053487cc2c6";
hash = "sha256-NfjLzgFxo3h3gpPeQ+un5f8n1kIxUBQLLRV2CptuxzA=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
wrapGAppsHook3
];
buildInputs = [
gtk3
+3 -1
View File
@@ -28,7 +28,9 @@ rustPlatform.buildRustPackage (finalAttrs: {
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
updateScript = nix-update-script {
extraArgs = [ "--version-regex=^v(\\d+\\.\\d+\\.\\d+)$" ];
};
tests.simple =
runCommand "jaq-test"
{
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "k6";
version = "1.7.1";
version = "2.0.0";
src = fetchFromGitHub {
owner = "grafana";
repo = "k6";
rev = "v${finalAttrs.version}";
hash = "sha256-vULff8EVWns2N7QRK/dt90Jq10W3UFGXcIe3IXqJ+yA=";
hash = "sha256-dtP2G0rk8f3TEPTf5fu/1BEH4nLzboTyE/vveVhlcqo=";
};
subPackages = [ "./" ];
+5 -1
View File
@@ -8,7 +8,7 @@
nodejs,
writableTmpDirAsHomeHook,
pnpmConfigHook,
pnpm,
pnpm_10,
unzip,
patchelf,
autoPatchelfHook,
@@ -16,6 +16,9 @@
versionCheckHook,
nix-update-script,
}:
let
pnpm = pnpm_10;
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "kilocode-cli";
version = "0.25.1";
@@ -29,6 +32,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-Q/LamZwVaIQVILtXRi1RQrYtpxYJWEKPAt3knwm47S0=";
};
+6
View File
@@ -92,6 +92,12 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/mailutils/-/raw/87c3614083260f52dd1222e872a1836f0ff9abe1/fix-build.patch";
hash = "sha256-RN62l5mYqtViEjXpAlQKWhFez1TPynRMj/1nvZkq5Gs=";
})
# Fix for non-portable assumptions causing test failures on musl
(fetchpatch {
name = "portability.patch";
url = "https://cgit.git.savannah.gnu.org/cgit/mailutils.git/patch/?id=6e038f04d575731cf90a44cf0114e485a9827a26";
hash = "sha256-kamIiQty+/PEB9gC4tPsEMzz1GMGuZAe+DXqjdTeg70=";
})
];
enableParallelBuilding = true;
+17
View File
@@ -0,0 +1,17 @@
{
maxima,
ecl,
lisp-compiler ? ecl,
...
}@args:
maxima.override (
{
inherit lisp-compiler;
}
// removeAttrs args [
"maxima"
"ecl"
"lisp-compiler"
]
)
@@ -8,10 +8,11 @@
python3,
makeWrapper,
autoreconfHook,
sbcl,
rlwrap ? null,
tk ? null,
gnuplot ? null,
lisp-compiler,
lisp-compiler ? sbcl,
}:
let
+5 -2
View File
@@ -5,12 +5,14 @@
nodejs,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
npmHooks,
versionCheckHook,
nix-update-script,
}:
let
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "mcporter";
version = "0.10.2";
@@ -24,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-TZfEoUSjba8cRz6L9uY2PGskYsR7S/xAahiKLd8dhFM=";
};
+3 -3
View File
@@ -29,13 +29,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "melonds";
version = "1.1-unstable-2026-04-30";
version = "1.1-unstable-2026-05-11";
src = fetchFromGitHub {
owner = "melonDS-emu";
repo = "melonDS";
rev = "a4d41faae34da170a19aad859e748af0aafa2e6d";
hash = "sha256-dqtjgOMwDp90p4HytNYDTvCIWr2vrPWNqZBX3M9Wc4o=";
rev = "889e26e9490c828b039387e8a2ef04079b86801d";
hash = "sha256-mMeBDsZcljG4FAhkpYlQwfUjA0HMZKNlIx6ndkhn4C0=";
};
nativeBuildInputs = [
+4 -1
View File
@@ -7,9 +7,11 @@
lib,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
}:
let
pnpm = pnpm_10;
version = "0.25.3";
src = fetchFromGitHub {
owner = "usememos";
@@ -23,6 +25,7 @@ let
inherit version src;
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
sourceRoot = "${finalAttrs.src.name}/web";
fetcherVersion = 3;
hash = "sha256-xEOnxCgBD4uLypcZzCO+31S4r0sSfz8PpgEmZASeRZ4=";
+5 -1
View File
@@ -1,15 +1,18 @@
{
lib,
pnpm_10,
stdenv,
fetchFromGitHub,
nodejs,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
npmHooks,
nix-update-script,
}:
let
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "mgrep";
version = "0.1.10";
@@ -23,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-T1mbRDBLU4SjZSgqyKgusZe5UV9hI+/bAmBYoAWcWtQ=";
};
+2 -2
View File
@@ -170,11 +170,11 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "microsoft-edge";
version = "147.0.3912.98";
version = "148.0.3967.54";
src = fetchurl {
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-GD5bXeEWVQHr+u+B3SUjoNCJIp9hwyCW6sYMDbGUBls=";
hash = "sha256-ccMYxwaQ70p+za3LoM0vT+lXiRIlYmoldVDqsHT7I9o=";
};
# With strictDeps on, some shebangs were not being patched correctly
+5 -1
View File
@@ -1,7 +1,7 @@
{
lib,
stdenv,
pnpm,
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
nodejs,
@@ -12,6 +12,9 @@
discord-canary,
discord-development,
}:
let
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "moonlight";
version = "2026.5.0";
@@ -31,6 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-veZx/b+cvpcRh1xXO8Y34dJtY2cgncqVSYYywb85Geo=";
};
+2 -2
View File
@@ -11,11 +11,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "msedgedriver";
version = "147.0.3912.98";
version = "148.0.3967.54";
src = fetchzip {
url = "https://msedgedriver.microsoft.com/${finalAttrs.version}/edgedriver_linux64.zip";
hash = "sha256-w9ekySBlqy0ev3OE/G05UJ6tz8EGC2Pc3fMNpmvmKMU=";
hash = "sha256-woGkky1i9so+1D61irtJYjDQ0xoHUeGQsJi/eQ4VGhU=";
stripRoot = false;
};
+3 -3
View File
@@ -10,7 +10,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mycelium";
version = "0.7.6";
version = "0.7.7";
sourceRoot = "${finalAttrs.src.name}/myceliumd";
@@ -18,10 +18,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "threefoldtech";
repo = "mycelium";
rev = "v${finalAttrs.version}";
hash = "sha256-6A93ySGmnkqu+TrPsIZJNl4iw26yrUW89TkkfouArn0=";
hash = "sha256-amw0DkPT7As7L9Zhts+s4g3N67uu/BDZmbJXapr89XQ=";
};
cargoHash = "sha256-Firp6R8JZXTzJhV2Psve0kmxP6bT74xHjNq8/q0/pOc=";
cargoHash = "sha256-Shi7AbyuvWwWOm9RuUYYLS/wEqZ7/YiOo+8m2XDFAnM=";
nativeBuildInputs = [ versionCheckHook ];
+3 -3
View File
@@ -26,20 +26,20 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "n8n";
version = "2.19.5";
version = "2.20.6";
src = fetchFromGitHub {
owner = "n8n-io";
repo = "n8n";
tag = "n8n@${finalAttrs.version}";
hash = "sha256-BOxSiSDDMC1OX4Otbn6DiSG4ThIsiRssKwfXh9y9JSM=";
hash = "sha256-c0O6tC+QDhHN3nmzXqNwhAM4+NoFYVO1mtO3V348hDs=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 3;
hash = "sha256-gDlTNwsLT4hW1+3agSS/eBAW/804c7ElXCEfs58gP8U=";
hash = "sha256-ft7n3J7L+u2hwEiR32Jw2k0ZsHCfI5yIB+IfmtB8xMY=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -9,11 +9,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "nedit";
version = "5.7";
version = "5.8";
src = fetchurl {
url = "mirror://sourceforge/nedit/nedit-source/nedit-${finalAttrs.version}-src.tar.gz";
sha256 = "0ym1zhjx9976rf2z5nr7dj4mjkxcicimhs686snjhdcpzxwsrndd";
sha256 = "sha256-WFGqclLa2VIIRSkXNkAjJWLexKfEQCCfGW1T1KWoB00=";
};
hardeningDisable = [ "format" ];
+3 -3
View File
@@ -7,15 +7,15 @@
buildGoModule (finalAttrs: {
pname = "nexttrace";
version = "1.6.4";
version = "1.6.5";
src = fetchFromGitHub {
owner = "nxtrace";
repo = "NTrace-core";
rev = "v${finalAttrs.version}";
sha256 = "sha256-atouv41R49HVJui60ivh1OPIDFwtILdu4BU+x0cLVQ4=";
sha256 = "sha256-PpCWTak14Y2zZBYOtCHEjNtvrXo6JOAo/ddYrJZMou8=";
};
vendorHash = "sha256-U0OXsZ9eME2paV8+DuPGYuNdaPnfmc4AdaT6cri3Nlw=";
vendorHash = "sha256-8evslWY5EgZT5ah63t6UmREUgkuY8aYwdsox4xxyKiA=";
buildInputs = [ libpcap ];
+5 -1
View File
@@ -5,11 +5,14 @@
nodejs,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
npmHooks,
versionCheckHook,
nix-update-script,
}:
let
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "ni";
version = "30.1.0";
@@ -23,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-I/jf6nlsKQFrYLO15f+CWdPPdEpVDDMBQodLsbG4sqw=";
};
+1
View File
@@ -101,6 +101,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
installShellCompletion --cmd $pname \
--bash <($out/bin/niri completions bash) \
--fish <($out/bin/niri completions fish) \
--nushell <($out/bin/niri completions nushell) \
--zsh <($out/bin/niri completions zsh)
'';
+4 -2
View File
@@ -21,6 +21,7 @@
liburing,
numactl,
taskflow,
tomlplusplus,
ucx,
# passthru
@@ -35,7 +36,7 @@ let
in
effectiveStdenv.mkDerivation (finalAttrs: {
pname = "nixl";
version = "1.0.1";
version = "1.1.0";
__structuredAttrs = true;
strictDeps = true;
@@ -44,7 +45,7 @@ effectiveStdenv.mkDerivation (finalAttrs: {
owner = "ai-dynamo";
repo = "nixl";
tag = "v${finalAttrs.version}";
hash = "sha256-mDpDqwUwI0baIDDpt9/wgIP3saBWY8yWKgwzHgrzJiU=";
hash = "sha256-lzR+haBtRPUJ9VE1AcPndp3CPtW7KCI3nNPeVIGyR0U=";
};
postPatch =
@@ -103,6 +104,7 @@ effectiveStdenv.mkDerivation (finalAttrs: {
liburing
numactl
taskflow
tomlplusplus
ucx
python3Packages.python
+2 -2
View File
@@ -25,13 +25,13 @@ let
in
buildGoModule (finalAttrs: {
pname = "nixos-facter";
version = "0.4.3";
version = "0.4.4";
src = fetchFromGitHub {
owner = "numtide";
repo = "nixos-facter";
tag = "v${finalAttrs.version}";
hash = "sha256-bbF16siqAqokXOHwLmBL61p/C7YiDGqBJhhJiF08pHk=";
hash = "sha256-w4tFIouJQLf/JeY7wvvSLbxQv73Bbs11a8EAu6iXwKU=";
};
vendorHash = "sha256-5duwAxAgbPZIbbgzZE2m574TF/0+jF/TvTKI4YBH6jM=";
+3 -2
View File
@@ -21,14 +21,14 @@ let
in
python3Packages.buildPythonApplication (finalAttrs: {
pname = "nominatim";
version = "5.2.0";
version = "5.3.2";
pyproject = true;
src = fetchFromGitHub {
owner = "osm-search";
repo = "Nominatim";
tag = "v${finalAttrs.version}";
hash = "sha256-ao4oEPz5rtRQtPC2UcIHH1M+o914JraASf+hcB2SDKA=";
hash = "sha256-jP/OkEuFdVdvA8Uztv/49FXm9dsExVDjw2l2gyMOSsg=";
};
postPatch = ''
@@ -57,6 +57,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
pyicu
python-dotenv
pyyaml
mwparserfromhell
];
propagatedBuildInputs = [
+5 -2
View File
@@ -5,11 +5,13 @@
nodejs,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
makeBinaryWrapper,
nix-update-script,
}:
let
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "nrm";
version = "2.1.0";
@@ -30,6 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-DvhUXkh9Ijuik9uWzPOtM1idSNSaJxDiRHWpUMepf3U=";
};
+113 -7
View File
@@ -2,14 +2,20 @@
lib,
python3Packages,
fetchFromGitHub,
fetchurl,
frida-tools,
apktool,
aapt,
apksigner,
android-tools,
androidenv,
makeWrapper,
buildNpmPackage,
stdenv,
}:
python3Packages.buildPythonApplication rec {
pname = "objection";
let
androidComposition = androidenv.composeAndroidPackages { };
version = "1.12.4";
pyproject = true;
src = fetchFromGitHub {
owner = "sensepost";
repo = "objection";
@@ -17,16 +23,98 @@ python3Packages.buildPythonApplication rec {
hash = "sha256-sXMhLwTsksLRFBGEsKSmDaD0+uDugz2U3yn50rHFbnQ=";
};
fridaVersion = "17.5.1";
supportedPlatforms = {
x86_64-linux = {
fridaArch = "linux-x64";
fridaHash = "sha256-g7uZs/fUwraIu6SZaU9kGGVuzD/nyqmXHVp0zL3jhdY=";
};
aarch64-linux = {
fridaArch = "linux-arm64";
fridaHash = "sha256-BsCgpHS3IFMPciu9hsdu9vWwKu+pon+EtqF10NO1EAc=";
};
armv7l-linux = {
fridaArch = "linux-armv7l";
fridaHash = "sha256-mNl+kP+9a4AC2Tf1SM7mYL5b+j4pPz+E9R88JjLgifE=";
};
i686-linux = {
fridaArch = "linux-ia32";
fridaHash = "sha256-vLwf+EwWNDLznda8J+xVqp8XmuivdZ0VKgISR9YoQR0=";
};
x86_64-darwin = {
fridaArch = "darwin-x64";
fridaHash = "sha256-raODa/EHRpMYNwFK9gxTXWrxnx1G1IbKTKV1343MTm8=";
};
aarch64-darwin = {
fridaArch = "darwin-arm64";
fridaHash = "sha256-mR6HM9rmRmXhWqXA0GC4Xkdj9KVSthhtvMAzijE+j5c=";
};
x86_64-freebsd = {
fridaArch = "freebsd-x64";
fridaHash = "sha256-ddvUtdZJdVH9O7np04ayB/Nebxq4Raw0eAQJpFAFl6Q=";
};
};
currentPlatform =
supportedPlatforms.${stdenv.hostPlatform.system}
or (throw "frida Node.js binding: unsupported system ${stdenv.hostPlatform.system}");
fridaNodeBinding = fetchurl {
url = "https://github.com/frida/frida/releases/download/${fridaVersion}/frida-v${fridaVersion}-napi-v8-${currentPlatform.fridaArch}.tar.gz";
hash = currentPlatform.fridaHash;
};
runtimeTools = [
apktool
aapt
apksigner
android-tools
];
agent = buildNpmPackage {
pname = "objection-agent";
inherit version src;
sourceRoot = "source/agent";
npmDepsHash = "sha256-oG0uMhy6Gv2lc1SNJwqnvYRdhhqWwPMY0MCDMt2hPf0=";
npmRebuildFlags = [ "--ignore-scripts" ];
postPatch = ''
substituteInPlace package.json \
--replace-fail '"frida-compile src/index.ts -o ../objection/agent.js -T none"' \
'"frida-compile src/index.ts -o ./agent.js -T none"'
'';
preBuild = ''
mkdir -p node_modules/frida
tar -xzf ${fridaNodeBinding} -C node_modules/frida
'';
installPhase = ''
runHook preInstall
install -Dm644 agent.js $out/agent.js
runHook postInstall
'';
};
in
python3Packages.buildPythonApplication {
pname = "objection";
inherit version src;
pyproject = true;
build-system = with python3Packages; [
setuptools
];
buildInputs = [
frida-tools
nativeBuildInputs = [
makeWrapper
];
dependencies = with python3Packages; [
frida-python
frida-tools
prompt-toolkit
click
tabulate
@@ -48,6 +136,23 @@ python3Packages.buildPythonApplication rec {
pythonRuntimeDepsCheck = true;
postUnpack = ''
cp ${agent}/agent.js $sourceRoot/objection/
'';
postFixup = ''
mkdir -p "$out/bin-wrapped"
ln -s "${aapt}/bin/aapt2" "$out/bin-wrapped/aapt"
BUILD_TOOLS_PATH="${androidComposition.androidsdk}/libexec/android-sdk/build-tools"
if [ -d "$BUILD_TOOLS_PATH" ]; then
LATEST_BUILD_TOOLS=$(ls -d "$BUILD_TOOLS_PATH"/* 2>/dev/null | sort -V | tail -1)
[ -n "$LATEST_BUILD_TOOLS" ] && ln -s "$LATEST_BUILD_TOOLS/zipalign" "$out/bin-wrapped/zipalign" 2>/dev/null || true
fi
wrapProgram $out/bin/objection \
--prefix PATH : "$out/bin-wrapped:${lib.makeBinPath runtimeTools}"
'';
meta = {
description = "Runtime mobile exploration toolkit, powered by Frida";
longDescription = ''
@@ -60,5 +165,6 @@ python3Packages.buildPythonApplication rec {
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ nullstring1 ];
mainProgram = "objection";
platforms = builtins.attrNames supportedPlatforms;
};
}
+3 -3
View File
@@ -9,13 +9,13 @@
}:
let
pname = "open-webui";
version = "0.9.4";
version = "0.9.5";
src = fetchFromGitHub {
owner = "open-webui";
repo = "open-webui";
tag = "v${version}";
hash = "sha256-J0B/N4Bb7lRK4/BiILliy/Gw7FayM3liG+4NiskOq9U=";
hash = "sha256-RVmFRThK6dNJyqxKepk9WfxzXIwkRoYijZjR1HEhDm8=";
};
frontend = buildNpmPackage rec {
@@ -32,7 +32,7 @@ let
url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2";
};
npmDepsHash = "sha256-jPGSJ+f5xuhnB4E9/FlgQkC37W6Yw2aGh8O8f8ajVC4=";
npmDepsHash = "sha256-kAUbFAFNo5RHMGqO7sPHSxSEZw9Ky6Pxp/vddDyw90E=";
# See https://github.com/open-webui/open-webui/issues/15880
npmFlags = [
+73 -37
View File
@@ -1,12 +1,15 @@
{
autoPatchelfHook,
bun,
copyDesktopItems,
electron_41,
lib,
makeBinaryWrapper,
makeDesktopItem,
models-dev,
nodejs,
opencode,
stdenv,
stdenvNoCC,
writableTmpDirAsHomeHook,
@@ -30,9 +33,20 @@ stdenvNoCC.mkDerivation (finalAttrs: {
nodejs # for patchShebangs node_modules
makeBinaryWrapper
writableTmpDirAsHomeHook
]
++ lib.optionals stdenvNoCC.hostPlatform.isLinux [
autoPatchelfHook
copyDesktopItems
];
buildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [
(lib.getLib stdenv.cc.cc)
];
# The musl prebuilts ship libc.musl-*.so.1 SONAMEs that autoPatchelfHook can't
# resolve on glibc systems. They aren't loaded at runtime on the host libc anyway.
autoPatchelfIgnoreMissingDeps = [ "libc.musl-*.so.*" ];
strictDeps = true;
env = {
@@ -42,6 +56,13 @@ stdenvNoCC.mkDerivation (finalAttrs: {
OPENCODE_DISABLE_MODELS_FETCH = true;
};
postPatch = ''
# The auto-updater would try to download and run an upstream binary that
# isn't patched for Nix. Disable it at source.
substituteInPlace packages/desktop/src/main/constants.ts \
--replace-fail 'app.isPackaged && CHANNEL !== "dev"' 'false'
'';
configurePhase = ''
runHook preConfigure
@@ -69,10 +90,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
# Build with electron-vite
node_modules/.bin/electron-vite build
# Copy opencode CLI as sidecar
sidecar_name="opencode-cli"
install -D ${lib.getExe opencode} "resources/$sidecar_name"
# Package with electron-builder (unpacked directory mode)
cp -r "${electron.dist}" $HOME/.electron-dist
chmod -R u+w $HOME/.electron-dist
@@ -80,53 +97,72 @@ stdenvNoCC.mkDerivation (finalAttrs: {
node_modules/.bin/electron-builder --dir \
--config=electron-builder.config.ts \
--config.electronDist="$HOME/.electron-dist" \
--config.electronVersion=${electron.version}
--config.electronVersion=${electron.version} \
--config.asarUnpack='**/*.node'
cd ../..
runHook postBuild
'';
installPhase = ''
runHook preInstall
''
+ lib.optionalString stdenvNoCC.hostPlatform.isDarwin ''
mkdir -p $out/Applications
mv packages/desktop/dist/mac-*/OpenCode.app "$out/Applications/OpenCode.app"
''
+ lib.optionalString stdenvNoCC.hostPlatform.isLinux ''
mkdir -p $out/opt/opencode-desktop
${
if stdenvNoCC.hostPlatform.isAarch64 then
''
appDir="packages/desktop/dist/linux-arm64-unpacked"
''
else
''
appDir="packages/desktop/dist/linux-unpacked"
''
}
[ -d "$appDir" ] || { echo "no electron-builder output dir found: $appDir"; exit 1; }
cp -r "$appDir/resources" $out/opt/opencode-desktop/
desktopItems = lib.optional stdenvNoCC.hostPlatform.isLinux (makeDesktopItem {
name = "opencode-desktop";
desktopName = "OpenCode";
exec = "opencode-desktop %U";
icon = "opencode-desktop";
startupWMClass = "OpenCode";
categories = [ "Development" ];
mimeTypes = [ "x-scheme-handler/opencode" ];
});
install -Dm644 packages/desktop/resources/icons/icon.png $out/share/icons/opencode-desktop.png
installPhase =
let
appDir = if stdenvNoCC.hostPlatform.isAarch64 then "linux-arm64-unpacked" else "linux-unpacked";
in
lib.concatLines [
''
runHook preInstall
''
(lib.optionalString stdenvNoCC.hostPlatform.isDarwin ''
mkdir -p $out/Applications $out/bin
mv packages/desktop/dist/mac-*/OpenCode.app "$out/Applications/OpenCode.app"
ln -s "$out/Applications/OpenCode.app/Contents/MacOS/OpenCode" $out/bin/OpenCode
'')
(lib.optionalString stdenvNoCC.hostPlatform.isLinux ''
mkdir -p $out/opt/opencode-desktop
appDir="packages/desktop/dist/${appDir}"
[ -d "$appDir" ] || { echo "no electron-builder output dir found: $appDir"; exit 1; }
cp -r "$appDir/resources" $out/opt/opencode-desktop/
makeWrapper ${lib.getExe electron} $out/bin/opencode-desktop \
--inherit-argv0 \
--add-flags $out/opt/opencode-desktop/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \
--add-flags ${lib.escapeShellArg commandLineArgs}
''
+ ''
runHook postInstall
'';
for size in 32 64 128; do
install -Dm644 \
packages/desktop/resources/icons/''${size}x''${size}.png \
$out/share/icons/hicolor/''${size}x''${size}/apps/opencode-desktop.png
done
for size in 30 44 71 89 107 142 150 284 310; do
install -Dm644 \
packages/desktop/resources/icons/Square''${size}x''${size}Logo.png \
$out/share/icons/hicolor/''${size}x''${size}/apps/opencode-desktop.png
done
makeWrapper ${lib.getExe electron} $out/bin/opencode-desktop \
--inherit-argv0 \
--set ELECTRON_FORCE_IS_PACKAGED 1 \
--add-flags $out/opt/opencode-desktop/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \
--add-flags ${lib.escapeShellArg commandLineArgs}
'')
''
runHook postInstall
''
];
meta = {
description = "AI coding agent desktop client";
homepage = "https://opencode.ai";
inherit (opencode.meta) platforms;
license = lib.licenses.mit;
mainProgram = "OpenCode";
mainProgram = if stdenvNoCC.hostPlatform.isDarwin then "OpenCode" else "opencode-desktop";
maintainers = with lib.maintainers; [ xiaoxiangmoe ];
};
})
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "openscad-lsp";
version = "2.0.1";
version = "2.0.2";
src = fetchFromGitHub {
owner = "Leathong";
repo = "openscad-LSP";
tag = "v${finalAttrs.version}";
hash = "sha256-ACxsXGeVYmB13x/n+molCoScSOe6Zh2PYiaGGHnd4DQ=";
hash = "sha256-vzlwt1lTaZIqHS/+6bVPHjd+Ex3G/YDVNW0JKZ0arnk=";
};
cargoHash = "sha256-Q4NrRVSic7M1CFq24ffUv3d835PmaHus4Z0lLnUQ7Ts=";
cargoHash = "sha256-BU3gabsC/5lH59NSSBn2Zr5/egxcHAt7iCAftrOh1ak=";
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
+4 -2
View File
@@ -1,4 +1,5 @@
{
lib,
fetchFromGitHub,
openttd,
zstd,
@@ -6,13 +7,13 @@
openttd.overrideAttrs (oldAttrs: rec {
pname = "openttd-jgrpp";
version = "0.69.2";
version = "0.72.2";
src = fetchFromGitHub {
owner = "JGRennison";
repo = "OpenTTD-patches";
rev = "jgrpp-${version}";
hash = "sha256-D9Oh05Isf7Atsih6tZBA8xS04aCuE8VS5Ghf0FvrU5A=";
hash = "sha256-Ql3W+Xr5zXDW/IBY23X+RMSXieCqn35hYY3jfYGahgs=";
};
patches = [ ];
@@ -22,6 +23,7 @@ openttd.overrideAttrs (oldAttrs: rec {
homepage = "https://github.com/JGRennison/OpenTTD-patches";
changelog = "https://github.com/JGRennison/OpenTTD-patches/blob/jgrpp-${version}/jgrpp-changelog.md";
mainProgram = "openttd";
maintainers = with lib.maintainers; [ artifycz ];
};
})
+3 -1
View File
@@ -18,7 +18,7 @@
tesseract5,
fetchPnpmDeps,
pnpmConfigHook,
pnpm,
pnpm_10,
poppler-utils,
liberation_ttf,
xcbuild,
@@ -29,6 +29,8 @@
lndir,
}:
let
pnpm = pnpm_10;
version = "2.20.15";
src = fetchFromGitHub {
+4 -4
View File
@@ -27,13 +27,13 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "pawn-appetit";
version = "0.11.0";
version = "0.12.0";
src = fetchFromGitHub {
owner = "Pawn-Appetit";
repo = "pawn-appetit";
tag = "v${finalAttrs.version}";
hash = "sha256-WJ/tFOizESDqdLy4maMKUZ79mgyyxqLuwCxWZ0+NVX4=";
hash = "sha256-9D8zeo62+xb5EsVQ39nPcwCx1w/47oY0NNFQyrSpFGQ=";
};
pnpmDeps = fetchPnpmDeps {
@@ -44,7 +44,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-amXrz/ZzvjvNYlqxzTtQXiZw/NnUVJ7PhqG8oHsEe88=";
hash = "sha256-c4ckvmzosWrB5eXG/xpOH8mYgNNMgqBZ9q8yU7Pjve4=";
};
postPatch = ''
@@ -53,7 +53,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoRoot = "src-tauri";
cargoHash = "sha256-UKaW+NiNA398nyGs9+SjY+tUvLjCPrSxX6bZLSl7/EQ=";
cargoHash = "sha256-bglNpRsHUZoHE7/KGAc9UHWI6Dtg7foA7/8NZ7qtfqw=";
buildAndTestSubdir = finalAttrs.cargoRoot;
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "pdftoipe";
version = "7.2.29.1";
version = "7.2.29.2";
src = fetchFromGitHub {
owner = "otfried";
repo = "ipe-tools";
rev = "v${version}";
hash = "sha256-6FI0ZLRrDmNFAKyht7hB94MsCy+TasD6Mb/rx6sdCdg=";
hash = "sha256-BLZKOq7/3QSuwR0yjrDiiIh9N93qk8ihbEPIQ2h+Ffc=";
};
sourceRoot = "${src.name}/pdftoipe";
+5 -2
View File
@@ -3,7 +3,7 @@
stdenv,
fetchFromGitHub,
nodejs_22,
pnpm,
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
electron_40,
@@ -13,7 +13,9 @@
writableTmpDirAsHomeHook,
nix-update-script,
}:
let
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "picgo";
version = "2.5.3";
@@ -27,6 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) version src;
inherit pnpm;
pname = "picgo";
hash = "sha256-tILvWDoHAN5XT1F/cJYgfeMzowuO/fhiughI+0FvHzc=";
fetcherVersion = 3; # lockfileVersion 9.0 corresponds to fetcherVersion 3
@@ -0,0 +1,34 @@
{
buildNpmPackage,
lib,
nodejs,
pnpm,
tests,
}:
buildNpmPackage {
pname = "pnpm-fixup-state-db";
version = "1.0.0";
src = ./src;
inherit nodejs;
npmDepsHash = "sha256-um6a4pEtPtdxHBRq9g5ZW20wIQAMjWJ3qF96XuxJg8o=";
postInstall = ''
makeWrapper ${lib.getExe nodejs} $out/bin/pnpm-fixup-state-db \
--add-flags "$out/lib/node_modules/pnpm-fixup-state-db"
'';
passthru.tests = {
inherit (tests) pnpm;
};
__structuredAttrs = true;
meta = {
license = lib.licenses.mit;
mainProgram = "pnpm-fixup-state-db";
inherit (pnpm.meta) maintainers;
};
}
@@ -0,0 +1,2 @@
node_modules
*.js
@@ -0,0 +1,61 @@
#!/usr/bin/env node
import { packForStorage, StoreIndex } from '@pnpm/store.index';
interface FileMetadata {
checkedAt: number;
}
interface Metadata {
files: Map<string, FileMetadata>;
}
function validateMetadata(data: unknown): data is Metadata {
return (data as Metadata).files instanceof Map;
}
// from https://github.com/pnpm/pnpm/blob/52ee08aad4fcc0dfb92bc35cc5aaf3d07f8f3246/worker/src/start.ts#L235
function packToShared (data: unknown): Uint8Array {
const packed = packForStorage(data)
const shared = new SharedArrayBuffer(packed.byteLength)
const view = new Uint8Array(shared)
view.set(packed)
return view
}
const main = () => {
const storePath = process.argv[2];
const index = new StoreIndex(storePath);
const newEntries = [] as Parameters<StoreIndex["setRawMany"]>[0]
for (const [key, data] of index.entries()) {
console.debug(`Mapping ${key}...`);
if (!validateMetadata(data)) {
console.debug(`Data of ${key}:`, data);
throw new Error(`Failed to read data for ${key}`);
}
const newFiles = new Map<string, FileMetadata>();
for (const [path, metadata] of data.files.entries()) {
newFiles.set(path, {
...metadata,
checkedAt: 0,
});
}
newEntries.push({
key,
buffer: packToShared({
...data,
files: newFiles,
} as Metadata)
});
}
// As pnpm is highly parallelized, the order of the data in the database is random. Therefore, we need to sort our changed data and replace all data in the database
const sortedEntries = newEntries.sort((a, b) => a.key > b.key ? 1 : -1);
// Delete all entries and add them in a deterministic order
index.deleteMany(sortedEntries.map(m => m.key));
index.setRawMany(sortedEntries);
};
main();
+200
View File
@@ -0,0 +1,200 @@
{
"name": "pnpm-fixup-state-db",
"version": "0.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "pnpm-fixup-state-db",
"version": "0.0.0",
"license": "MIT",
"dependencies": {
"@pnpm/store.index": "^1100.0.0"
},
"devDependencies": {
"@types/node": "^25.6.0",
"typescript": "^6.0.3"
}
},
"node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz",
"integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz",
"integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz",
"integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==",
"cpu": [
"arm"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz",
"integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz",
"integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz",
"integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
]
},
"node_modules/@pnpm/store.index": {
"version": "1100.0.0",
"resolved": "https://registry.npmjs.org/@pnpm/store.index/-/store.index-1100.0.0.tgz",
"integrity": "sha512-eVd5DHiD6hyr2hrkIlh3z07SOiVqoGvFnPAb+rL6piXd9889trSyUjDXBlkJj7gyipAQoo8xMHHixoPp/sHnFA==",
"license": "MIT",
"dependencies": {
"msgpackr": "1.11.8"
},
"engines": {
"node": ">=22.13"
},
"funding": {
"url": "https://opencollective.com/pnpm"
}
},
"node_modules/@types/node": {
"version": "25.6.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz",
"integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~7.19.0"
}
},
"node_modules/detect-libc": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
"integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
"license": "Apache-2.0",
"optional": true,
"engines": {
"node": ">=8"
}
},
"node_modules/msgpackr": {
"version": "1.11.8",
"resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.8.tgz",
"integrity": "sha512-bC4UGzHhVvgDNS7kn9tV8fAucIYUBuGojcaLiz7v+P63Lmtm0Xeji8B/8tYKddALXxJLpwIeBmUN3u64C4YkRA==",
"license": "MIT",
"optionalDependencies": {
"msgpackr-extract": "^3.0.2"
}
},
"node_modules/msgpackr-extract": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz",
"integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==",
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"dependencies": {
"node-gyp-build-optional-packages": "5.2.2"
},
"bin": {
"download-msgpackr-prebuilds": "bin/download-prebuilds.js"
},
"optionalDependencies": {
"@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",
"@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",
"@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",
"@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
"@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
"@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
}
},
"node_modules/node-gyp-build-optional-packages": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz",
"integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==",
"license": "MIT",
"optional": true,
"dependencies": {
"detect-libc": "^2.0.1"
},
"bin": {
"node-gyp-build-optional-packages": "bin.js",
"node-gyp-build-optional-packages-optional": "optional.js",
"node-gyp-build-optional-packages-test": "build-test.js"
}
},
"node_modules/typescript": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
"integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/undici-types": {
"version": "7.19.2",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz",
"integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==",
"dev": true,
"license": "MIT"
}
}
}
@@ -0,0 +1,19 @@
{
"name": "pnpm-fixup-state-db",
"version": "0.0.0",
"description": "Fixup pnpm v11-store index.db to remove impurities",
"license": "MIT",
"author": "Sefa Eyeoglu <contact@scrumplex.net>",
"type": "module",
"main": "index.js",
"dependencies": {
"@pnpm/store.index": "^1100.0.0"
},
"devDependencies": {
"@types/node": "^25.6.0",
"typescript": "^6.0.3"
},
"scripts": {
"build": "tsc"
}
}
@@ -0,0 +1,10 @@
{
"compilerOptions": {
"module": "nodenext",
"target": "esnext",
"lib": ["esnext"],
"types": ["node"],
"strict": true
},
"include": ["index.ts"]
}

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