Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2026-08-24 00:12:01 +00:00
committed by GitHub
54 changed files with 970 additions and 156 deletions

View File

@@ -3694,13 +3694,6 @@
githubId = 185443;
name = "Alexey Lebedeff";
};
binary-eater = {
email = "sergeantsagara@protonmail.com";
github = "Binary-Eater";
githubId = 10691440;
name = "Rahul Rameshbabu";
keys = [ { fingerprint = "678A 8DF1 D9F2 B51B 7110 BE53 FF24 7B3E 5411 387B"; } ];
};
binarycat = {
email = "binarycat@envs.net";
github = "lolbinarycat";

View File

@@ -106,6 +106,8 @@
- [kvrocks_exporter](https://github.com/RocksLabs/kvrocks_exporter), a Prometheus exporter for Kvrocks metrics. Available as [services.prometheus.exporters.kvrocks](#opt-services.prometheus.exporters.kvrocks.enable).
- [Umbriel](https://docs.noctalia.dev/umbriel/), a Wayland compositor built on wlroots and SceneFX. Available as [programs.umbriel](#opt-programs.umbriel.enable).
## Backward Incompatibilities {#sec-release-26.11-incompatibilities}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

View File

@@ -1809,15 +1809,16 @@ class NspawnMachine(BaseMachine):
# 1. Wait for the directory to actually be created by the container
self.log(f"Waiting for journal at {journal_path}...")
max_attempts = 10
warn_after = 10
attempts = 0
while not journal_path.exists() and attempts < max_attempts:
while not journal_path.exists():
if proc.poll() is not None:
self.log(f"Error: Journal directory {journal_path} never appeared.")
return
time.sleep(1)
attempts += 1
if not journal_path.exists():
self.log(f"Error: Journal directory {journal_path} never appeared.")
return
if attempts == warn_after:
self.log(f"Still waiting for journal at {journal_path}...")
# 2. Start the journalctl process
# Using a loop here handles cases where journalctl might exit unexpectedly

View File

@@ -35,8 +35,7 @@ let
options = {
devnet = mkOption {
type = types.bool;
default =
builtins.length (lib.attrNames containers) > 0 && builtins.length (lib.attrNames nodes) > 0;
default = containers != { } && nodes != { };
defaultText = lib.literalMD "`true` if both VMs and containers are present.";
description = ''
This heuristic setting that assumes that the majority of tests requires VMs and containers
@@ -52,14 +51,14 @@ let
};
uid-range = mkOption {
type = types.bool;
default = builtins.length (lib.attrNames containers) > 0;
default = containers != { };
defaultText = lib.literalMD "`true` if containers are present.";
description = "Containers use systemd-nspawn, which requires pid 0 inside of the sandbox. `uid-range` enables that.";
};
kvm = mkOption {
type = types.bool;
default = isLinux;
defaultText = lib.literalMD "`true` if built to run on Linux.";
default = isLinux && nodes != { };
defaultText = lib.literalMD "`true` if built to run on Linux and any virtual machines are specified.";
description = "Whether Linux KVM virtualization is required when running this test. Can be disabled to allow emulated execution.";
};
apple-virt = mkOption {

View File

@@ -372,6 +372,7 @@
./programs/wayland/pinnacle.nix
./programs/wayland/river.nix
./programs/wayland/sway.nix
./programs/wayland/umbriel.nix
./programs/wayland/uwsm.nix
./programs/wayland/waybar.nix
./programs/wayland/wayfire.nix

View File

@@ -0,0 +1,48 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.programs.umbriel;
in
{
options.programs.umbriel = {
enable = lib.mkEnableOption "Umbriel, a Wayland compositor built on wlroots and SceneFX";
package = lib.mkPackageOption pkgs "umbriel" { };
portalPackage = lib.mkPackageOption pkgs "xdg-desktop-portal-umbriel" { };
};
config = lib.mkIf cfg.enable (
lib.mkMerge [
{
environment.systemPackages = [ cfg.package ];
services.displayManager.sessionPackages = [ cfg.package ];
systemd.packages = [ cfg.package ];
systemd.user.services.umbriel = {
restartIfChanged = false;
enableDefaultPath = false;
};
xdg.portal = {
enable = lib.mkDefault true;
extraPortals = [ cfg.portalPackage ];
configPackages = [ cfg.portalPackage ];
};
}
(import ./wayland-session.nix {
inherit lib pkgs;
enableXWayland = false;
enableWlrPortal = false;
})
]
);
meta.maintainers = with lib.maintainers; [
samiser
pyrox0
];
}

View File

@@ -20,8 +20,7 @@ let
settings =
if (cfg.settings != null) then
cfg.settings
// (
lib.recursiveUpdate cfg.settings (
if cfg.settings.schema_version < 23 then
{
bind_host = cfg.host;
@@ -192,8 +191,9 @@ in
# Note: --check-config has the side effect of modifying the file at rest!
${lib.getExe cfg.package} -c "$STATE_DIRECTORY/AdGuardHome.yaml" --check-config
# Writing directly to AdGuardHome.yaml results in empty file
${lib.getExe pkgs.yaml-merge} "$STATE_DIRECTORY/AdGuardHome.yaml" "${configFile}" > "$STATE_DIRECTORY/AdGuardHome.yaml.tmp"
# sed operation needed to fix protection_disabled_until value changed by yaml-merge
${lib.getExe pkgs.yaml-merge} "$STATE_DIRECTORY/AdGuardHome.yaml" "${configFile}" \
| sed -E "s/(protection_disabled_until: [0-9]{4}-[0-9]{2}-[0-9]{2}) /\1T/" > "$STATE_DIRECTORY/AdGuardHome.yaml.tmp"
mv "$STATE_DIRECTORY/AdGuardHome.yaml.tmp" "$STATE_DIRECTORY/AdGuardHome.yaml"
else
${installFresh}

View File

@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "claude-dev";
publisher = "saoudrizwan";
version = "4.1.8";
hash = "sha256-bhLnEsoifDQGHKCECTZ/BkAjuFQ9O9tODxzO2WMdybo=";
version = "4.1.12";
hash = "sha256-Wfo7CoFLcIE8yWSsfEtJ93VmIJ0TGlm1ZWF9BfK+38I=";
};
meta = {

View File

@@ -9,11 +9,11 @@
"vendorHash": "sha256-RTfj2Omiqe92Ad0swEY/aGIMvcXb39bdQoObYKiekiw="
},
"a10networks_thunder": {
"hash": "sha256-mqCXiBtVHzEOdLW0KudPWJO6kGi0SiGawN/NQvjAJdg=",
"hash": "sha256-jwk2DKNYlYB6VJ9Y73SbLOcRzELqJTKbD0KOsrTqT3I=",
"homepage": "https://registry.terraform.io/providers/a10networks/thunder",
"owner": "a10networks",
"repo": "terraform-provider-thunder",
"rev": "v1.6.0",
"rev": "v1.6.1",
"spdx": "BSD-2-Clause",
"vendorHash": null
},
@@ -73,13 +73,13 @@
"vendorHash": "sha256-L9IGENsL8Kibq5O/JOgCxLRUxgS7q9G/NovC/Q7tw48="
},
"auth0_auth0": {
"hash": "sha256-lqlQglt3zbNkoE4ORBWIq85r7/SYucIOPgIzJ7NrYaQ=",
"hash": "sha256-SpGTMAFEiJVGpXYAIigJQditDvs8sU2Bz57ohanccAM=",
"homepage": "https://registry.terraform.io/providers/auth0/auth0",
"owner": "auth0",
"repo": "terraform-provider-auth0",
"rev": "v1.54.1",
"rev": "v1.55.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-gQHnTp3reX/1fmwQqjpqtjlb2z3wYk8E8vRf73jh48E="
"vendorHash": "sha256-ajl7q+9oA+NA5eqAXA5yjej03qdI5nimRNQW6GoGOq4="
},
"aviatrixsystems_aviatrix": {
"hash": "sha256-46djOfAj/5kfeoKLQHbeKefzdGbmlBATR+uN/IaAn8I=",

View File

@@ -2,7 +2,7 @@
lib,
actual-server,
copyDesktopItems,
electron_41,
electron_42,
imagemagick,
jq,
makeDesktopItem,
@@ -11,7 +11,7 @@
stdenv,
}:
let
electron = electron_41;
electron = electron_42;
in
stdenv.mkDerivation (finalAttrs: {
pname = "actual-client";
@@ -45,12 +45,14 @@ stdenv.mkDerivation (finalAttrs: {
buildPhase = ''
runHook preBuild
# TODO: uncomment once actual updates their electron version to v42+
# https://github.com/actualbudget/actual/issues/8767
# verify electron version
upstreamElectronMajor=$(${lib.getExe jq} -r '.devDependencies.electron | match("[0-9]+").string' packages/desktop-electron/package.json)
if [[ "$upstreamElectronMajor" != "${lib.versions.major electron.version}" ]]; then
echo "Electron major version mismatch: Actual expects $upstreamElectronMajor, nixpkgs provides ${electron.version}" >&2
exit 1
fi
# upstreamElectronMajor=$(${lib.getExe jq} -r '.devDependencies.electron | match("[0-9]+").string' packages/desktop-electron/package.json)
# if [[ "$upstreamElectronMajor" != "${lib.versions.major electron.version}" ]]; then
# echo "Electron major version mismatch: Actual expects $upstreamElectronMajor, nixpkgs provides ${electron.version}" >&2
# exit 1
# fi
export HOME=$(mktemp -d)

View File

@@ -161,6 +161,7 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.mit;
platforms = with lib.platforms; linux ++ darwin;
maintainers = [
lib.maintainers.PerchunPak
lib.maintainers.oddlama
lib.maintainers.patrickdag
lib.maintainers.yash-garg

View File

@@ -7,16 +7,16 @@
}:
buildGoModule (finalAttrs: {
pname = "cloudflare-dynamic-dns";
version = "4.5.3";
version = "4.5.5";
src = fetchFromGitHub {
owner = "zebradil";
repo = "cloudflare-dynamic-dns";
tag = finalAttrs.version;
hash = "sha256-sKfQJXWrL6x9EPz94dGdvXZPy7cPgce+w8UvPEletJE=";
hash = "sha256-+mFApn2ClRXAPY7pSLm9SDw3gibxH5471Y/whn/cQg8=";
};
vendorHash = "sha256-JV8BWSH7d0TCMbCnMOsWBpCltDdiejy9oQhXgWiVvaQ=";
vendorHash = "sha256-7yqvpl6BvDiBMHu4cpoK66t9a5gwtK0PEfkjIHe6fJQ=";
subPackages = ".";

View File

@@ -71,11 +71,11 @@ in
python3Packages.buildPythonApplication rec {
pname = "copyparty${nameSuffix}";
version = "1.20.20";
version = "1.20.21";
src = fetchurl {
url = "https://github.com/9001/copyparty/releases/download/v${version}/copyparty-${version}.tar.gz";
hash = "sha256-ox+eSkPlZgh2XhCDUxQHhNUBgcN+cF6c6O2fOJn1ffo=";
hash = "sha256-ZU70dVW7QC4n2JBckAyZ9Ut/HW24dKdJ7/35qyPPQiM=";
};
pyproject = true;

View File

@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "croaring";
version = "5.0.0";
version = "5.1.0";
src = fetchFromGitHub {
owner = "RoaringBitmap";
repo = "CRoaring";
tag = "v${finalAttrs.version}";
hash = "sha256-DLVIEFXQCmfSkFIRd6s9VbpdsypuyYgaI+ZwmV55YVs=";
hash = "sha256-CyjXE4cDPp8pmVqjgJFzLiVgR1I0lv2PEusS659KKP4=";
};
# roaring.pc.in cannot handle absolute CMAKE_INSTALL_*DIRs, nor

View File

@@ -17,16 +17,16 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dashy-ui";
version = "4.5.10";
version = "4.6.0";
src = fetchFromGitHub {
owner = "lissy93";
repo = "dashy";
tag = finalAttrs.version;
hash = "sha256-oHTe2vilrtvApLQ7x8L+upTgkhz2TsXsbA8KcvsZg64=";
hash = "sha256-fU8sbxaHs+j2Z/+xvE6w8qBF2cxKtRx+ARQlpfJ2n5Y=";
};
yarnOfflineCache = fetchYarnDeps {
yarnLock = finalAttrs.src + "/yarn.lock";
hash = "sha256-43z3gn58eb7Dh9QXLDoeAJAViCQX+8IeSN4xx+hYfPI=";
hash = "sha256-EBtJW3atTgLeLn+PLxePmrnEG9Xl0R+9LIlTh+Vgw5g=";
};
passthru = {

View File

@@ -23,20 +23,20 @@
let
pname = "github-copilot-app";
version = "1.1.11";
version = "1.1.12";
sources = {
x86_64-linux = fetchurl {
url = "https://github.com/github/app/releases/download/v${version}/GitHub-Copilot-linux-x64.deb";
hash = "sha256-BmHuJg4fIsPp52LZ9F+9esvSNsAd9bjF4GEtfzgG7Dg=";
hash = "sha256-gT8CzKaoyNhykDtNGXQDqYc0yBRvNotjwETxI9VnPoA=";
};
aarch64-linux = fetchurl {
url = "https://github.com/github/app/releases/download/v${version}/GitHub-Copilot-linux-arm64.deb";
hash = "sha256-AHUvg7aur4/eCo1Ewne7QWpEFsoZG7FcHPcxtbcOnyY=";
hash = "sha256-bC5Z3ZAhF/YqWWj+YHEYQBki8eOUv35rXH7C+DnGSlg=";
};
aarch64-darwin = fetchurl {
url = "https://github.com/github/app/releases/download/v${version}/GitHub-Copilot-darwin-arm64.dmg";
hash = "sha256-gXJp65Kf/D4m+G3BSUDJwPkdM1dx8C+vTveCUtWkUX8=";
hash = "sha256-8cNMYDqgOyMIyMqtZvKOzxWYHQ6+tKmxlaim1Zqn33c=";
};
};

View File

@@ -18,16 +18,16 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "gitoxide";
version = "0.56.0";
version = "0.57.0";
src = fetchFromGitHub {
owner = "GitoxideLabs";
repo = "gitoxide";
tag = "v${finalAttrs.version}";
hash = "sha256-2zNXe+niwH8oDZEx6It7APggOtL7vrnRGKO4OoteTIw=";
hash = "sha256-A7vXxDM/YZZryRFPE7mqM2ewFBJxgCrq167HHNdIU/M=";
};
cargoHash = "sha256-u9O4y6W0TuwdedNaQ127Bz4d3Olw9RzV/+AzxAstJQE=";
cargoHash = "sha256-+No7sU9mWmnZcLyAbK0QI/oHQL4eiuBlEYlGA/mjp58=";
nativeBuildInputs = [
cmake

View File

@@ -58,7 +58,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
homepage = "https://github.com/${finalAttrs.src.owner}/${finalAttrs.src.repo}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
binary-eater
booxter
m1dugh
];

View File

@@ -14,19 +14,19 @@
}:
buildGoModule (finalAttrs: {
pname = "hister";
version = "0.17.0";
version = "0.18.0";
src = fetchFromGitHub {
owner = "asciimoo";
repo = "hister";
tag = "v${finalAttrs.version}";
hash = "sha256-UIKQVs2hbzalDeRL1ILUgfMQnues5IFrzWn9Eg5sm30=";
hash = "sha256-yX/MGhGyQxE5cSe1Q4T9EEBwRS5mxUBtpkn/RnGN4lU=";
};
__structuredAttrs = true;
strictDeps = true;
vendorHash = "sha256-ozTULKnUrzBy+tK/eSq7exPVjXp43mSzg4EOWG+r1No=";
vendorHash = "sha256-UR384CLSa44MqPVzzgzGZC/ROdG2iWtJ5L8AX/tfg0k=";
proxyVendor = true;
nativeBuildInputs = [
@@ -65,7 +65,7 @@ buildGoModule (finalAttrs: {
npmWorkspace = "webui/app";
npmDepsFetcherVersion = 2;
npmDepsHash = "sha256-ueGtZYMrmQeYsJXmA5RRV5GHCEH5Ui+6PDiQ/Nd1quM=";
npmDepsHash = "sha256-iCr+5HMxb4GLkkY2Ql6v+AXAb5U6Q/Yp+N83soJGbGI=";
# vite 8's rolldown pipeline does a dns.lookup('localhost') during `vite build`
# which fails in darwin's relaxed sandbox without loopback access

View File

@@ -10,7 +10,7 @@
let
pname = "jetbrains-toolbox";
version = "3.6.4.86641";
version = "3.7.2.87231";
updateScript = ./update.sh;
@@ -57,9 +57,9 @@ let
aarch64 = "-arm64";
};
hash = selectSystem {
x86_64-linux = "sha256-UqEhoaH8vB6tcy+GcxUy+VupJPbv//q3wEQ8CwMUdic=";
aarch64-linux = "sha256-UQwFDdZNPxjtG/kK5imupGZ0xE4oyThCTLFxb0i2fTw=";
aarch64-darwin = "sha256-jPlYLiKabVew1kxd+TJ0W0WuT82R0p+yIAPxuIVEYRA=";
x86_64-linux = "sha256-zAFofzeVP8VCCk7sZzSa0Jc8YGa4ksgwhY0UNxMUP9E=";
aarch64-linux = "sha256-tpOC62foC/0wTGglulJuM+2XQizpfh/nGLaNx2wY3bQ=";
aarch64-darwin = "sha256-y/BPXhe67IP21hcIOeiBpn3D0wIX3AeZLsFeRAWomuQ=";
};
in
selectKernel {

View File

@@ -0,0 +1,106 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
buildNpmPackage,
copyDesktopItems,
makeDesktopItem,
makeWrapper,
electron_43,
}:
let
electron = electron_43;
stdenv = stdenvNoCC;
in
buildNpmPackage (finalAttrs: {
pname = "knockoutcitylauncher";
version = "2.4.6";
src = fetchFromGitHub {
owner = "kocxyz";
repo = "Launcher";
tag = "v${finalAttrs.version}";
hash = "sha256-INwJ6j1KNm9ABETN0bwUijFS4stM2LQdjDMSMprwQTQ=";
};
nativeBuildInputs = [
makeWrapper
copyDesktopItems
];
npmDepsHash = "sha256-nM0Oyifz+JKjnyd2Vpq2q7yF7OrTpBSi4alMlLWTrcI=";
forceGitDeps = true;
makeCacheWritable = true;
__structuredAttrs = true;
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
patches = [
./updatecheck-and-devconsole.patch
];
buildPhase = ''
runHook preBuild
npm exec electron-vite -- build
# create the electron archive to be used by electron-packager
cp -r ${electron.dist} electron-dist
chmod -R u+w electron-dist
npm exec electron-builder -- \
--dir \
--linux \
-c.electronDist=electron-dist \
-c.electronVersion=${electron.version} \
-p never
rm -r electron-dist
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm444 "resources/icon.png" "$out/share/icons/hicolor/scalable/apps/knockoutcitylauncher.png"
mkdir -p "$out/share/knockoutcitylauncher"
rm -f "$out/share/knockoutcitylauncher/resources/default_app.asar"
mkdir -p "$out/share/knockoutcitylauncher"
cp -r dist/*-unpacked/resources{,.pak} "$out/share/knockoutcitylauncher"
makeWrapper ${lib.getExe electron} "$out/bin/knockoutcitylauncher" \
--add-flag $out/share/knockoutcitylauncher/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
--inherit-argv0
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = "Knockout City Launcher";
exec = finalAttrs.meta.mainProgram;
icon = finalAttrs.meta.mainProgram;
desktopName = "Knockout City Launcher";
genericName = "Game Launcher";
categories = [
"Network"
"Game"
];
startupWMClass = "knockoutcitylauncher";
})
];
meta = {
description = "Unofficial Knockout City Launcher";
homepage = "https://kocity.xyz/";
downloadPage = "https://github.com/kocxyz/Launcher/releases";
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.liamthexpl0rer ];
platforms = lib.platforms.linux;
mainProgram = "knockoutcitylauncher";
};
})

View File

@@ -0,0 +1,121 @@
diff --git a/src/main/index.ts b/src/main/index.ts
index a727e2d..e9c0753 100644
--- a/src/main/index.ts
+++ b/src/main/index.ts
@@ -134,11 +134,6 @@ function createWindow(): void {
return { action: 'deny' }
})
- if (!app.isPackaged)
- win.webContents.openDevTools({
- mode: 'detach'
- })
-
async function updateServerList(): Promise<void> {
try {
serverList = [
@@ -813,103 +808,7 @@ if (gotTheLock) {
}
app.quit()
}
-
- axios
- .get('https://cdn.ipmake.dev/kocity/version', {
- timeout: 5000
- })
- .then(async (res) => {
- console.log('Checking for update')
- // get the version of the app from electron
- const version = app.getVersion().trim()
- console.log(`${version} => ${res.data}`)
-
- if (res.data === undefined || res.data === null || String(res.data).trim().length >= 10) {
- console.log('No update available')
- createWindow()
- return
- }
-
- if (`${res.data}`.trim() == `${version}`.trim()) {
- createWindow()
- } else {
- if (!(os.platform() === 'win32')) {
- dialog.showErrorBox(
- 'Update Available',
- 'There is an update available but auto updating is currently only supported on Windows. Please download the latest version from https://kocity.xyz'
- )
- createWindow()
- return
- }
- const { response } = await dialog.showMessageBox({
- type: 'info',
- title: 'Update Available',
- message: `An update is available for the Knockout City Launcher! Would you like to download it?`,
- buttons: ['Yes', 'No']
- })
- if (response === 0) {
- // open a small update window
- const updateWindow = new BrowserWindow({
- width: 500,
- height: 250,
- frame: false,
- transparent: true,
- alwaysOnTop: true,
- skipTaskbar: true,
- titleBarStyle: 'hidden',
- movable: false,
- resizable: false,
- icon: './www/logo.png',
- webPreferences: {
- nodeIntegration: true
- }
- })
- console.log('Update window opened!')
-
- if (is.dev && process.env['ELECTRON_RENDERER_URL']) {
- updateWindow.loadFile(
- path.join(process.env['ELECTRON_RENDERER_URL'], '../../resources/update.html')
- )
- } else {
- updateWindow.loadFile(path.join(__dirname, '../../resources/update.html'))
- }
-
- // download the exe file using axios
- console.log('Downloading update...')
- axios
- .get(
- `https://github.com/kocxyz/Launcher/releases/download/v${String(res.data).trim()}/Knockoutcitylauncher-Setup.exe`,
- {
- responseType: 'arraybuffer'
- }
- )
- .then(async (res) => {
- console.log('Update complete!')
-
- // write it to the download folder
- fs.writeFileSync(`${os.tmpdir()}/kocity-update.exe`, res.data)
-
- // open the file
- spawn(`${os.tmpdir()}/kocity-update.exe`, { detached: true, stdio: 'ignore' })
-
- setTimeout(() => {
- app.quit()
- process.exit(0)
- }, 1000)
- })
- } else {
- createWindow()
- }
- }
- })
- .catch((err) => {
- console.error('Error checking for update:', err)
- dialog.showErrorBox(
- 'Update Check Failed',
- 'Failed to check for updates. Please try again later.'
- )
- createWindow()
- })
+ createWindow()
})
} else {
app.quit()

View File

@@ -11,17 +11,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mago";
version = "1.47.1";
version = "1.47.3";
src = fetchFromGitHub {
owner = "carthage-software";
repo = "mago";
tag = finalAttrs.version;
hash = "sha256-retxjVwNholuQK/kMoPVk8dXqJo01DYf8io0DLttqtA=";
hash = "sha256-XHEwkE732i2Is9hl7hzOrdn2AmlqYVccx4DT5F+EYAI=";
forceFetchGit = true; # Does not download all files otherwise
};
cargoHash = "sha256-GF2wTEfJk5KM6h2Ef5a6JuQe5bYCUO23NtIzRWj76GE=";
cargoHash = "sha256-ibZ/YFKwwW1j7ZQonw0tizEFmFItuIDeKqgKOm3KZmc=";
env = {
# Get openssl-sys to use pkg-config

View File

@@ -11,7 +11,7 @@
wrapGAppsHook3,
zip,
electron_41,
electron_43,
html-tidy,
# Command line arguments which are always set e.g "--password-store=kwallet6"
@@ -30,9 +30,10 @@ let
patches = [
./remove-rpm-deb-and-macos-package-generation.patch
./update-electron-from-41.7.2-43.4.1.patch
];
electron = electron_41;
electron = electron_43;
mailspring-sync = callPackage ./mailsync.nix { inherit src version; };
@@ -40,7 +41,7 @@ let
pname = "mailspring-app";
inherit version src patches;
postPatch = "cd app"; # we don't use sourceRoot so that we don't have to make the patch relative to it
npmDepsHash = "sha256-JkjtC4WT3cBsVlmrfO5WAxU1Xe3vXbxuNBDs2Q7fEck=";
npmDepsHash = "sha256-FnbSnkMcOEoWTIy42JccdP+GqHWkoQKEZqVxzsw2cwc=";
dontNpmBuild = true;
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
@@ -66,7 +67,7 @@ buildNpmPackage (finalAttrs: {
pname = "mailspring";
inherit version src patches;
npmDepsHash = "sha256-0cg/DT0MUbfzTq5hejH7auSk77M9Md7FWzidov8iyA4=";
npmDepsHash = "sha256-jDuCLreiQvOUhSWw+E2zJXy39/6ITB7FEmrXBUiWYDU=";
nativeBuildInputs = [
makeBinaryWrapper

View File

@@ -0,0 +1,194 @@
From fba74f7d69198202057f08b2cb77aac7d8e17a06 Mon Sep 17 00:00:00 2001
From: wrench-exile-legacy <user@wrench-exile-legacy.site>
Date: Sun, 23 Aug 2026 11:57:14 +0100
Subject: [PATCH] Update electron from 41.7.2 -> 43.4.1
- Updates node-abi to allow node-gyp to recognise the electron version.
- Updates better-sqlite3 to match the newer javascript engine in electron 43.
---
app/package-lock.json | 15 ++++++++-------
app/package.json | 2 +-
package-lock.json | 44 +++++++++++++++++++++----------------------
package.json | 2 +-
4 files changed, 32 insertions(+), 31 deletions(-)
diff --git a/app/package-lock.json b/app/package-lock.json
index 52e9a74f4..951491cd4 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -568,9 +568,9 @@
]
},
"node_modules/better-sqlite3": {
- "version": "12.8.0",
- "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.8.0.tgz",
- "integrity": "sha512-RxD2Vd96sQDjQr20kdP+F+dK/1OUNiVOl200vKBZY8u0vTwysfolF6Hq+3ZK2+h8My9YvZhHsF+RSGZW2VYrPQ==",
+ "version": "12.11.1",
+ "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.11.1.tgz",
+ "integrity": "sha512-dq9AtApgg5PGFtBzPFSBl3HZQjHok5gaQCM6zh2Yk0aSmDCs1CbnVI8/HgASQkNKsWFpseIO9beg5xxpYhbIfA==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
@@ -578,7 +578,7 @@
"prebuild-install": "^7.1.1"
},
"engines": {
- "node": "20.x || 22.x || 23.x || 24.x || 25.x"
+ "node": "20.x || 22.x || 23.x || 24.x || 25.x || 26.x"
}
},
"node_modules/bindings": {
@@ -3492,9 +3492,10 @@
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
},
"node_modules/node-abi": {
- "version": "3.87.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.87.0.tgz",
- "integrity": "sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==",
+ "version": "3.94.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.94.0.tgz",
+ "integrity": "sha512-W5ZNO5KRPB5TkYmGVD9F6YqhsglXJzE6etpbmT+f6EQElhiX/UTG551cnsRGvLG3fyZEg9HwaDmNmj5nwJ4z9g==",
+ "license": "MIT",
"dependencies": {
"semver": "^7.3.5"
},
diff --git a/app/package.json b/app/package.json
index c53086e15..56e40feb9 100644
--- a/app/package.json
+++ b/app/package.json
@@ -74,7 +74,7 @@
"xml2js": "^0.6.2"
},
"resolutions": {
- "electron": "41.7.2",
+ "electron": "43.4.1",
"@types/react": "^17.0.0",
"@types/react-dom": "^17.0.0"
},
diff --git a/package-lock.json b/package-lock.json
index 4622a1e15..004cf4f8f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -42,7 +42,7 @@
"better-sqlite3": "^12.8.0",
"chalk": "1.x.x",
"devtron": "^1.4.0",
- "electron": "41.7.2",
+ "electron": "43.4.1",
"electron-playwright-helpers": "^2.1.0",
"electron-winstaller": "5.4.0",
"eslint": "^8.0.0",
@@ -1615,9 +1615,9 @@
]
},
"node_modules/better-sqlite3": {
- "version": "12.9.0",
- "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.9.0.tgz",
- "integrity": "sha512-wqUv4Gm3toFpHDQmaKD4QhZm3g1DjUBI0yzS4UBl6lElUmXFYdTQmmEDpAFa5o8FiFiymURypEnfVHzILKaxqQ==",
+ "version": "12.11.1",
+ "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.11.1.tgz",
+ "integrity": "sha512-dq9AtApgg5PGFtBzPFSBl3HZQjHok5gaQCM6zh2Yk0aSmDCs1CbnVI8/HgASQkNKsWFpseIO9beg5xxpYhbIfA==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
@@ -1625,7 +1625,7 @@
"prebuild-install": "^7.1.1"
},
"engines": {
- "node": "20.x || 22.x || 23.x || 24.x || 25.x"
+ "node": "20.x || 22.x || 23.x || 24.x || 25.x || 26.x"
}
},
"node_modules/bindings": {
@@ -2120,10 +2120,9 @@
}
},
"node_modules/electron": {
- "version": "41.7.2",
- "resolved": "https://registry.npmjs.org/electron/-/electron-41.7.2.tgz",
- "integrity": "sha512-oYbZNimoMlAy6Fp/o5x2vTggptuPsIbnPKCb6jGf1PJStXH7Gkw0MUQrBliHmDqKLW7yeE+SPsvFNILVN0ORMQ==",
- "hasInstallScript": true,
+ "version": "43.4.1",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-43.4.1.tgz",
+ "integrity": "sha512-5b+EuiwkgG5iRcsEL34rimgRpkYp15SsfZOa0pC5kXs0Tb82TH4n95rpQzTZa7yRCbA7tm0WoEbuBL6NaAhAcA==",
"license": "MIT",
"dependencies": {
"@electron-internal/extract-zip": "^1.0.1",
@@ -2131,7 +2130,8 @@
"@types/node": "^24.9.0"
},
"bin": {
- "electron": "cli.js"
+ "electron": "cli.js",
+ "install-electron": "install.js"
},
"engines": {
"node": ">= 22.12.0"
@@ -4637,9 +4637,9 @@
}
},
"node_modules/node-abi": {
- "version": "3.91.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.91.0.tgz",
- "integrity": "sha512-B+S7X/GS3Un6wMICtnsNjQD7oSpVBQrZftHE6GZ1Fe9/k3XOOoqbM5DZZ0GO4x3YiSCQfrM28yj1ppplwgIsfg==",
+ "version": "3.94.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.94.0.tgz",
+ "integrity": "sha512-W5ZNO5KRPB5TkYmGVD9F6YqhsglXJzE6etpbmT+f6EQElhiX/UTG551cnsRGvLG3fyZEg9HwaDmNmj5nwJ4z9g==",
"license": "MIT",
"dependencies": {
"semver": "^7.3.5"
@@ -7636,9 +7636,9 @@
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
},
"better-sqlite3": {
- "version": "12.9.0",
- "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.9.0.tgz",
- "integrity": "sha512-wqUv4Gm3toFpHDQmaKD4QhZm3g1DjUBI0yzS4UBl6lElUmXFYdTQmmEDpAFa5o8FiFiymURypEnfVHzILKaxqQ==",
+ "version": "12.11.1",
+ "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.11.1.tgz",
+ "integrity": "sha512-dq9AtApgg5PGFtBzPFSBl3HZQjHok5gaQCM6zh2Yk0aSmDCs1CbnVI8/HgASQkNKsWFpseIO9beg5xxpYhbIfA==",
"requires": {
"bindings": "^1.5.0",
"prebuild-install": "^7.1.1"
@@ -7974,9 +7974,9 @@
}
},
"electron": {
- "version": "41.7.2",
- "resolved": "https://registry.npmjs.org/electron/-/electron-41.7.2.tgz",
- "integrity": "sha512-oYbZNimoMlAy6Fp/o5x2vTggptuPsIbnPKCb6jGf1PJStXH7Gkw0MUQrBliHmDqKLW7yeE+SPsvFNILVN0ORMQ==",
+ "version": "43.4.1",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-43.4.1.tgz",
+ "integrity": "sha512-5b+EuiwkgG5iRcsEL34rimgRpkYp15SsfZOa0pC5kXs0Tb82TH4n95rpQzTZa7yRCbA7tm0WoEbuBL6NaAhAcA==",
"requires": {
"@electron-internal/extract-zip": "^1.0.1",
"@electron/get": "^5.0.0",
@@ -9653,9 +9653,9 @@
"integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="
},
"node-abi": {
- "version": "3.91.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.91.0.tgz",
- "integrity": "sha512-B+S7X/GS3Un6wMICtnsNjQD7oSpVBQrZftHE6GZ1Fe9/k3XOOoqbM5DZZ0GO4x3YiSCQfrM28yj1ppplwgIsfg==",
+ "version": "3.94.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.94.0.tgz",
+ "integrity": "sha512-W5ZNO5KRPB5TkYmGVD9F6YqhsglXJzE6etpbmT+f6EQElhiX/UTG551cnsRGvLG3fyZEg9HwaDmNmj5nwJ4z9g==",
"requires": {
"semver": "^7.3.5"
}
diff --git a/package.json b/package.json
index abf9b55dc..77cdd0414 100644
--- a/package.json
+++ b/package.json
@@ -49,7 +49,7 @@
"better-sqlite3": "^12.8.0",
"chalk": "1.x.x",
"devtron": "^1.4.0",
- "electron": "41.7.2",
+ "electron": "43.4.1",
"electron-playwright-helpers": "^2.1.0",
"electron-winstaller": "5.4.0",
"eslint": "^8.0.0",
--
2.55.0

View File

@@ -31,13 +31,13 @@ in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "modrinth-app-unwrapped";
version = "0.17.5";
version = "0.18.2";
src = fetchFromGitHub {
owner = "modrinth";
repo = "code";
tag = "v${finalAttrs.version}";
hash = "sha256-HNy+3Pmq3TzyC+APMjbRnkHNGkLmAo9gwlhA98rEoTI=";
hash = "sha256-epBnuViu9wJR7BkbjhatJhgDUrAFPkj2MyvfSRMw84E=";
};
patches = [
@@ -67,7 +67,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail '1.0.0-local' '${finalAttrs.version}'
'';
cargoHash = "sha256-xxENtlRwBvizNAlyKk+DdyqZN5YMJmm4CTGv8G6SXA8=";
cargoHash = "sha256-7Kl3sQe+A/68yjzX5F9o60x2JehETn7blMScKIr/f9U=";
mitmCache = gradle.fetchDeps {
inherit (finalAttrs) pname;
@@ -78,7 +78,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 3;
hash = "sha256-N4bNjls36V9H5gq4vEBFrjhanMXTGGiTl2Z04YTEUx4=";
hash = "sha256-jggr8RPEdBS0s5mNF4rGk+G0jeOWhLU0O7+SUIuNRrA=";
};
nativeBuildInputs = [

View File

@@ -1,13 +0,0 @@
diff --git a/packages/cli-repl/src/cli-repl.ts b/packages/cli-repl/src/cli-repl.ts
index b00c52e1..7a096d6d 100644
--- a/packages/cli-repl/src/cli-repl.ts
+++ b/packages/cli-repl/src/cli-repl.ts
@@ -159,7 +159,7 @@ export class CliRepl implements MongoshIOProvider {
this.config = {
userId: id,
telemetryAnonymousId: id,
- enableTelemetry: true,
+ enableTelemetry: false,
};
this.getCryptLibraryPaths = options.getCryptLibraryPaths;

View File

@@ -2,25 +2,26 @@
lib,
buildNpmPackage,
fetchFromGitHub,
nodejs_24,
}:
buildNpmPackage.override { nodejs = nodejs_24; } (finalAttrs: {
buildNpmPackage (finalAttrs: {
pname = "mongosh";
version = "2.9.2";
version = "2.10.0";
src = fetchFromGitHub {
owner = "mongodb-js";
repo = "mongosh";
tag = "v${finalAttrs.version}";
hash = "sha256-mwc9Mv8BJgI/7DzUH6QwHsWzgAquB8ehmnElM5+mYuI=";
hash = "sha256-SJkDBo/rtbh3rh5oPjjS5zXG6eye+PCY3pI1FN281Ps=";
};
npmDepsHash = "sha256-xI+6a0sMuZmij46N5aqsprLLiVaSZifGW8tMq189fww=";
npmDepsHash = "sha256-xmjlvncUVVp7Y+qCBpJNiuvc5n2IBKqXk715EOmWo/U=";
patches = [
./disable-telemetry.patch
];
postPatch = ''
# Disable telemetry by default; users can still opt in via enableTelemetry().
substituteInPlace packages/cli-repl/src/cli-repl.ts \
--replace-fail "enableTelemetry: true" "enableTelemetry: false"
'';
npmFlags = [
"--omit=optional"
@@ -30,9 +31,11 @@ buildNpmPackage.override { nodejs = nodejs_24; } (finalAttrs: {
dontNpmInstall = true;
installPhase = ''
runHook preInstall
npmWorkspace=packages/mongosh npmInstallHook
cp -r packages configs $out/lib/node_modules/mongosh/
rm $out/lib/node_modules/mongosh/node_modules/@mongosh/docker-build-scripts # dangling symlink
runHook postInstall
'';

View File

@@ -21,7 +21,7 @@
}:
let
version = "1.4.5";
version = "1.5.0";
in
python3Packages.buildPythonApplication {
pname = "newelle";
@@ -32,7 +32,7 @@ python3Packages.buildPythonApplication {
owner = "qwersyk";
repo = "Newelle";
tag = version;
hash = "sha256-GcNAwrk5y6F0BgRy69nRePkX4WoYviWsB+8X/+N5QwE=";
hash = "sha256-P+bwcqrF9BTKFb47vVBO1GzFaqb6zMpaeYlI2g9rhX4=";
};
postPatch = ''

View File

@@ -13,7 +13,7 @@
python3Packages.buildPythonApplication {
pname = "nirimod";
version = "0-unstable-2026-07-27";
version = "0-unstable-2026-08-02";
pyproject = true;
__structuredAttrs = true;
@@ -21,8 +21,8 @@ python3Packages.buildPythonApplication {
src = fetchFromGitHub {
owner = "srinivasr";
repo = "nirimod";
rev = "fb62bb30a060cb37868231846810c98bc1eb22d4";
hash = "sha256-h4p5Nn7xFTJ+aHw2FALwMygDM5l0GXakvEwRxadx87k=";
rev = "7a449c8451bd171d3c1d4281afc61f9d9f3ed86d";
hash = "sha256-taHvAqDjemBHzFYCXjAVD2xZbIdsQxcXXlPq6Ebbio4=";
};
build-system = [ python3Packages.hatchling ];

View File

@@ -0,0 +1,105 @@
{
lib,
stdenv,
fetchFromGitHub,
nodejs,
srcOnly,
node-gyp,
pnpm_11,
fetchPnpmDeps,
pnpmConfigHook,
makeWrapper,
python3,
cctools,
versionCheckHook,
}:
let
nodeSources = srcOnly nodejs;
pnpm = pnpm_11;
in
stdenv.mkDerivation (finalAttrs: {
pname = "obsidian-headless";
version = "0.0.14";
strictDeps = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "obsidianmd";
repo = "obsidian-headless";
tag = finalAttrs.version;
hash = "sha256-ue2M9maFyvabGH9qTDOpAJS4OPwCikpAMYm/M/XRGKo=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs)
pname
version
src
;
inherit pnpm;
fetcherVersion = 4;
hash = "sha256-xkQHk86msMBs7FXqJNoKdSzB0IxyqfFf6rBnPom4YxU=";
};
nativeBuildInputs = [
nodejs
node-gyp
pnpmConfigHook
pnpm
makeWrapper
python3
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
cctools.libtool
];
buildPhase = ''
runHook preBuild
pushd node_modules/better-sqlite3
npm run build-release --offline "--nodedir=${nodeSources}"
mv build/Release/better_sqlite3.node .
rm -rf build
mkdir -p build/Release
mv better_sqlite3.node build/Release/
rm -rf deps src # build-only dependencies
popd
rm -rf btime/win32-* # never needed
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/lib/obsidian-headless
cp -r cli.js btime node_modules package.json $out/lib/obsidian-headless/
mkdir -p $out/bin
makeWrapper ${lib.getExe nodejs} $out/bin/ob \
--add-flags $out/lib/obsidian-headless/cli.js
runHook postInstall
'';
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
meta = {
description = "Headless client for Obsidian Sync and Obsidian Publish";
homepage = "https://github.com/obsidianmd/obsidian-headless";
changelog = "https://github.com/obsidianmd/obsidian-headless/releases/tag/${finalAttrs.version}";
license = lib.licenses.obsidian;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
maintainers = with lib.maintainers; [
nadir-ishiguro
];
mainProgram = "ob";
};
})

View File

@@ -111,12 +111,12 @@ let
# vendored in-tree. Pre-stage the pin (tracks upstream's
# `LLAMA_CPP_VERSION` file) so the FetchContent step uses our copy
# instead of trying to clone over the network in the sandbox.
llamaCppVersion = "b10434";
llamaCppVersion = "b10488";
llamaCppSrc = fetchFromGitHub {
owner = "ggml-org";
repo = "llama.cpp";
tag = llamaCppVersion;
hash = "sha256-Sz0kW1q91YzdrKbZUqMbFJ0DLZrzARSGheUrtCKcoQo=";
hash = "sha256-5noPIcSD9Ki1D3J7b6JofeXiPO1RdL/Q8z+E0ZCwceY=";
};
wrapperOptions = [
@@ -152,13 +152,13 @@ let
in
goBuild (finalAttrs: {
pname = "ollama";
version = "0.32.14";
version = "0.32.15";
src = fetchFromGitHub {
owner = "ollama";
repo = "ollama";
tag = "v${finalAttrs.version}";
hash = "sha256-wvEG7L61gYI63pfHZ9UnTVQh8QMG3wHMfxEBeshtIKQ=";
hash = "sha256-BpN3y1unf6Yd1RBura2S4O5jLSkImzi1Guo6GWbNZI8=";
};
vendorHash = "sha256-HMwoaFBMbpoy8f0I+O+i7kIa9BslLu3FcVWeaIOkpvs=";
@@ -204,8 +204,8 @@ goBuild (finalAttrs: {
++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_15 ]
++ lib.optionals enableVulkan vulkanLibs;
# replace inaccurate version number with actual release version
postPatch = ''
# replace inaccurate version number with actual release version
substituteInPlace version/version.go \
--replace-fail 0.0.0 '${finalAttrs.version}'
@@ -344,6 +344,8 @@ goBuild (finalAttrs: {
"-X=github.com/ollama/ollama/server.mode=release"
];
subPackages = [ "." ];
__darwinAllowLocalNetworking = true;
# required for github.com/ollama/ollama/detect's tests

View File

@@ -7,6 +7,12 @@
writeText,
qt6,
libusb1,
libva,
nix-update-script,
udev,
pkg-config,
ffmpeg,
}:
let
# Based on upstream instructions: https://github.com/TechxArtisanStudio/Openterface_QT#for-linux-users
@@ -22,29 +28,39 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "openterface-qt";
version = "0.3.18";
version = "0.5.28";
src = fetchFromGitHub {
owner = "TechxArtisanStudio";
repo = "Openterface_QT";
rev = "${finalAttrs.version}";
hash = "sha256-yD71UOi6iRd9N3NeASUzqoeHMcTYIqkysAfxRm7GkOA=";
tag = "${finalAttrs.version}";
hash = "sha256-MHmTG/9b/BZFPcIBtCrZrQe4uFQ/tttbQMZUpDCwRuc=";
};
nativeBuildInputs = [
pkg-config
copyDesktopItems
qt6.wrapQtAppsHook
qt6.qmake
qt6.qttools
];
buildInputs = [
libusb1
qt6.qtbase
qt6.qtmultimedia
qt6.qtserialport
qt6.qtsvg
qt6.qthttpserver
udev
ffmpeg
libva
];
preBuild = ''
lrelease openterfaceQT.pro
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
@@ -69,6 +85,9 @@ stdenv.mkDerivation (finalAttrs: {
})
];
# use a github releases for autoupdate
passthru.updateScript = nix-update-script { extraArgs = [ "--use-github-releases" ]; };
meta = {
description = "Openterface mini-KVM host application for linux";
homepage = "https://github.com/TechxArtisanStudio/Openterface_QT";

View File

@@ -7,13 +7,13 @@
buildGoModule (finalAttrs: {
pname = "postfix-tlspol";
version = "1.12.2";
version = "1.13.0";
src = fetchFromGitHub {
owner = "Zuplu";
repo = "postfix-tlspol";
tag = "v${finalAttrs.version}";
hash = "sha256-1NIk3KXsUgf+CsbPRErNCJEP4RVuOUKnDq0akUfNKuE=";
hash = "sha256-wSE2Z5iZeE8YcDqeS5efUz7HKyuJkqtisj/YVfk/AXo=";
};
vendorHash = null;

View File

@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "tailscale-exporter";
version = "0.6.0";
version = "0.6.1";
src = fetchFromGitHub {
owner = "adinhodovic";
repo = "tailscale-exporter";
tag = finalAttrs.version;
hash = "sha256-uxCcJCmjGiWAzl/vOaynTnIwwuEROXhGJ7MAZMM1I6c=";
hash = "sha256-Ly+c60lNxsxugVQRJYPeP1BSKo6nHPGwP5ALg7/utWw=";
};
vendorHash = "sha256-gNGQsJjf5CTxZnkIlteLaRKfQlvOE0GtDyWojzffOH4=";
vendorHash = "sha256-y8O3a498/5Ca3KzBrgZaGHgTukuwet0rujlvEZbG6yo=";
subPackages = [
"cmd/tailscale-exporter"

View File

@@ -257,6 +257,7 @@ stdenv.mkDerivation (finalAttrs: {
dontUseNinjaCheck = true;
dontUseNinjaInstall = true;
dontAddStaticConfigureFlags = true;
enableParallelBuilding = true;
outputs = [ "out" ] ++ lib.optional enableDocs "doc" ++ lib.optional guestAgentSupport "ga";
separateDebugInfo = true;

View File

@@ -9,13 +9,13 @@
buildGoModule (finalAttrs: {
pname = "revive";
version = "1.15.0";
version = "1.16.0";
src = fetchFromGitHub {
owner = "mgechev";
repo = "revive";
tag = "v${finalAttrs.version}";
hash = "sha256-FA3IP8TNY911CasYI+m+qpNCvFgMcJ0jUeT1Gk8frAw=";
hash = "sha256-7uYNDIhl7iyI2cko+KqGBgL24b8mjNnjt2tZP77nNmg=";
postFetch = ''
# The repository currently has a 'v1' and 'V1' directory.
@@ -24,7 +24,7 @@ buildGoModule (finalAttrs: {
'';
};
vendorHash = "sha256-KxDWd+fd30eOttNEB6kQDxc2Lnf5Rj2zTCohjyfjMnU=";
vendorHash = "sha256-2JYqTgJy97qUgwLxhtluapWArH28wd+XnJsl9iFtddk=";
# Only build the revive package at the root.
subPackages = [ "." ];

View File

@@ -16,7 +16,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ruff";
version = "0.16.3";
version = "0.16.4";
__structuredAttrs = true;
@@ -24,12 +24,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "astral-sh";
repo = "ruff";
tag = finalAttrs.version;
hash = "sha256-BTCsdcZA1XTQbisx1fE9VGwgDNX2ltMzP0yGHocvitA=";
hash = "sha256-x6fIeDT8J0RVFzNEMm5QfOxcnGImJsJCMUMC+5mDPBI=";
};
cargoBuildFlags = [ "--package=ruff" ];
cargoHash = "sha256-2IclEFpxoWq1eSyKSsANuSOqnRDHx8UPNXhCPhsJKM8=";
cargoHash = "sha256-kwnSLBK4H/RPUY+Nb08quRe3q9Ke5Sgmdf588b2QfUs=";
nativeBuildInputs = [ installShellFiles ];

View File

@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "smfh";
version = "1.7";
version = "1.7.1";
src = fetchFromGitHub {
owner = "feel-co";
repo = "smfh";
tag = finalAttrs.version;
hash = "sha256-vKJWHujoGfTV61gjDglzu4ZMJ1phsUGNKELLEeF3QMg=";
hash = "sha256-uxC6yeXBMd6PtnZer0qBT9BnMf6hqFRp6rt5Row8yPM=";
};
cargoHash = "sha256-CvXZtq0o+cYrXP7FSBJLi23wtU9dsUOAOWDsht5cK+k=";
cargoHash = "sha256-LN6z7YFo6rn5IibYU/MPjTBBszrUDJ7CKh/eV8obA3c=";
meta = {
description = "Sleek Manifest File Handler";

View File

@@ -12,11 +12,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "strace";
version = "7.1";
version = "7.2";
src = fetchurl {
url = "https://strace.io/files/${finalAttrs.version}/strace-${finalAttrs.version}.tar.xz";
hash = "sha256-gXQ+zypbRBhrL1A4r9yL7aflxwrtFbT7+8xuns4kSQ8=";
hash = "sha256-S95iRpJokNzugk9uasQqBnUvR9d+UJfYbjwNbUtwn+U=";
};
separateDebugInfo = true;

View File

@@ -24,7 +24,7 @@
buildGoModule (finalAttrs: {
pname = "tailscale";
version = "1.102.2";
version = "1.102.3";
outputs = [
"out"
@@ -35,7 +35,7 @@ buildGoModule (finalAttrs: {
owner = "tailscale";
repo = "tailscale";
tag = "v${finalAttrs.version}";
hash = "sha256-vqNShvER4jT+8WJCcaSVboXPEP6S3QacmkC39tJkR4g=";
hash = "sha256-NzWuMhLCqewkH/vwyfRND8yEubRmUSXe/TYA2ldhFl8=";
};
vendorHash = "sha256-amKkUPszyhG4N5ZtrB01swBACYq76raSS+SQRneLmwc=";

View File

@@ -24,14 +24,14 @@
stdenv.mkDerivation rec {
pname = "tev";
version = "2.13.1";
version = "2.14.0";
src = fetchFromGitHub {
owner = "Tom94";
repo = "tev";
tag = "v${version}";
fetchSubmodules = true;
hash = "sha256-+11GpyUCtVvIeSTEJx6WTvN6aUcvuF/lDlA/+6IduKQ=";
hash = "sha256-WfpanCZ3U/2jGNrOM+1euzfGCqcoODBLYuRtcPcCc4Y=";
};
postPatch = lib.optionalString stdenv.hostPlatform.isLinux (

View File

@@ -17,7 +17,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ty";
version = "0.0.73";
version = "0.0.74";
__structuredAttrs = true;
src = fetchFromGitHub {
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
repo = "ty";
tag = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-LCXrMKyHYeLliEHejdYTSfDKmuw6/KgMhbp+YW1aHD8=";
hash = "sha256-6obXsyfHHgPPON7rZj2cYtMdg20sv33LR05gey/w56A=";
};
# For Darwin platforms, remove the integration test for file notifications,
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoBuildFlags = [ "--package=ty" ];
cargoHash = "sha256-20rjLLi7uo0rgDhcI8KdVRwWvwpweLCU5GmzmCzbLw8=";
cargoHash = "sha256-kwnSLBK4H/RPUY+Nb08quRe3q9Ke5Sgmdf588b2QfUs=";
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ rust-jemalloc-sys ];

View File

@@ -0,0 +1,116 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
pkg-config,
wayland-scanner,
wayland,
wayland-protocols,
wlroots_0_20,
libxkbcommon,
libinput,
pixman,
cairo,
pango,
libGL,
libdrm,
libgbm,
libxcb,
libxcb-wm,
lcms2,
jemalloc,
tomlplusplus,
nlohmann_json,
xwayland-satellite,
makeBinaryWrapper,
versionCheckHook,
unstableGitUpdater,
}:
stdenv.mkDerivation {
pname = "umbriel";
version = "0-unstable-2026-08-23";
strictDeps = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "noctalia-dev";
repo = "umbriel";
# No tagged releases yet
rev = "8650637f6fdb3cb78022a4560f5f34861439dbad";
fetchSubmodules = true;
hash = "sha256-WSTWPuF6KkSaO+zudERJCuga4BQzIH/RJdpvpkLVH4Q=";
};
nativeBuildInputs = [
makeBinaryWrapper
meson
ninja
pkg-config
wayland-scanner
];
buildInputs = [
wayland
wayland-protocols
wayland-scanner
wlroots_0_20
libxkbcommon
libinput
pixman
tomlplusplus
libGL
nlohmann_json
libdrm
libgbm
libxcb
libxcb-wm
lcms2
jemalloc
cairo
pango
];
mesonBuildType = "release";
mesonInstallFlags = [ "--skip-subprojects" ];
postInstall = ''
if [ -f "$out/share/wayland-sessions/umbriel.desktop" ]; then
substituteInPlace "$out/share/wayland-sessions/umbriel.desktop" \
--replace-fail 'Exec=start-umbriel' "Exec=$out/bin/start-umbriel"
fi
wrapProgram $out/bin/umbriel \
--prefix PATH : ${lib.makeBinPath [ xwayland-satellite ]}
'';
doCheck = true;
# Set up to version check below, but currently it's untagged so the version doesn't match.
# On first release, set this to true make the version check run.
doInstallCheck = false;
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
passthru = {
providedSessions = [ "umbriel" ];
updateScript = unstableGitUpdater { };
};
meta = {
description = "Wayland compositor built on wlroots and SceneFX";
homepage = "https://docs.noctalia.dev/umbriel/";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
mainProgram = "umbriel";
maintainers = with lib.maintainers; [
pyrox0
samiser
];
};
}

View File

@@ -0,0 +1,72 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
pkg-config,
wayland-scanner,
wayland,
wayland-protocols,
sdbus-cpp_2,
systemd,
pipewire,
libdrm,
libgbm,
cairo,
tomlplusplus,
nlohmann_json,
gtk4,
unstableGitUpdater,
}:
stdenv.mkDerivation {
pname = "xdg-desktop-portal-umbriel";
version = "0-unstable-2026-08-23";
strictDeps = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "noctalia-dev";
repo = "xdg-desktop-portal-umbriel";
# No tagged releases yet
rev = "c8a9a223d48e6c62652f3f3cfaaa0f50aca39146";
hash = "sha256-jQFZRDnoaa0EvB9b55J1eYyfwCfD9LO2bwT1NVNbUME=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
wayland-scanner
];
buildInputs = [
wayland
wayland-protocols
sdbus-cpp_2
systemd
pipewire
libdrm
libgbm
cairo
tomlplusplus
nlohmann_json
gtk4
];
mesonBuildType = "release";
passthru.updateScript = unstableGitUpdater { };
meta = {
homepage = "https://github.com/noctalia-dev/xdg-desktop-portal-umbriel";
description = "xdg-desktop-portal backend for the Umbriel compositor";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
pyrox0
samiser
];
};
}

View File

@@ -21,13 +21,13 @@
buildTopkgPackage rec {
pname = "bytesrw";
version = "0.3.0";
version = "0.4.0";
minimalOCamlVersion = "4.14.0";
src = fetchzip {
url = "https://erratique.ch/software/bytesrw/releases/bytesrw-${version}.tbz";
hash = "sha256-EFdHKBH4VrWvOqs+I6tiRW9D2s6lY8Pol4YyuB7fqh8=";
hash = "sha256-3ApJ0JSJulGUIA9FN/Q7gkRI5h/tC5g/l+w/J0lsLG8=";
};
buildInputs =

View File

@@ -3,7 +3,7 @@
ocaml,
version ?
if lib.versionAtLeast ocaml.version "5.2" then
"1.4"
"1.5"
else if lib.versionAtLeast ocaml.version "5.1" then
"1.2"
else
@@ -36,9 +36,9 @@ let
minimalOCamlVersion = "5.1";
hash = "sha256-N5LpEr2NSUuy449zCBgl5NISsZcM8sHxspZsqp/WvEA=";
};
"1.4" = {
"1.5" = {
minimalOCamlVersion = "5.2";
hash = "sha256-uhGtSG9JITDbtIbys73EkFZD8QAWgG3fhumjTkNGqqU=";
hash = "sha256-fXDR9fsrcZC/GrKP/+snLaUf/m1snHyU4Ehfq987P9o=";
};
}
."${version}";

View File

@@ -118,6 +118,8 @@ buildPythonPackage (finalAttrs: {
dataDir = pkgs.callPackage ./data-dir.nix { };
};
__darwinAllowLocalNetworking = true;
meta = {
changelog = "https://github.com/nltk/nltk/blob/${finalAttrs.src.tag}/ChangeLog";
description = "Natural Language Processing ToolKit";

View File

@@ -36,14 +36,14 @@ let
in
buildPythonPackage rec {
pname = "pypdfium2";
version = "5.7.0";
version = "5.11.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pypdfium2-team";
repo = "pypdfium2";
tag = version;
hash = "sha256-zc/83Ypmxul8fB3q0lUSgC9yfcdg7tJuZff+0LE0w30=";
hash = "sha256-b15g/FlB7lHiu19KotHXMvY1j+m0TZ4xVAy84wBXcbA=";
};
build-system = [
@@ -84,6 +84,11 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTestPaths = [
# does not work on ZFS with normalization
"tests/test_opener.py::test_open_garbled_filename"
];
pythonImportsCheck = [
"pypdfium2"
];

View File

@@ -16,14 +16,14 @@
buildPythonPackage (finalAttrs: {
pname = "recipe-scrapers";
version = "15.11.0";
version = "15.12.0";
pyproject = true;
src = fetchFromGitHub {
owner = "hhursev";
repo = "recipe-scrapers";
tag = finalAttrs.version;
hash = "sha256-S0/RPVeEr/lAPJZSUwCippuXyirYnmaAuesWGYwg6kE=";
hash = "sha256-ME5/I2qnuTalgsiI34hQ45AyFqfol6dfLnc/S9vJ6tc=";
};
build-system = [ setuptools ];

View File

@@ -0,0 +1,33 @@
{
lib,
buildPythonPackage,
fetchPypi,
pytestCheckHook,
setuptools,
}:
buildPythonPackage (finalAttrs: {
pname = "simp-sexp";
version = "0.3.1";
pyproject = true;
src = fetchPypi {
pname = "simp_sexp";
inherit (finalAttrs) version;
hash = "sha256-/oX60pEHmrW8oYHCKCguJbwN9wdBwN7lk6Qha4eYC1o=";
};
build-system = [ setuptools ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "simp_sexp" ];
meta = {
description = "Simple S-expression parser";
homepage = "https://github.com/devbisme/simp_sexp";
changelog = "https://github.com/devbisme/simp_sexp/blob/v${finalAttrs.version}/HISTORY.md";
license = lib.licenses.mit;
maintainers = [ ];
};
})

View File

@@ -2,11 +2,11 @@
lib,
buildPythonPackage,
fetchFromGitHub,
future,
kinparse,
pyspice,
graphviz,
sexpdata,
simp-sexp,
}:
buildPythonPackage rec {
pname = "skidl";
@@ -21,16 +21,15 @@ buildPythonPackage rec {
};
propagatedBuildInputs = [
future
kinparse
pyspice
graphviz
sexpdata
simp-sexp
];
# Checks require availability of the kicad symbol libraries.
doCheck = false;
pythonImportsCheck = [ "skidl" ];
meta = {
description = "SKiDL is a module that extends Python with the ability to design electronic circuits";

View File

@@ -5,38 +5,38 @@
"lts": false
},
"6.1": {
"version": "6.1.183",
"hash": "sha256:1qn0zw987amv77h7pj9rkc852haw783fxvqscp71bi1q97z0fb9n",
"version": "6.1.184",
"hash": "sha256:1facdyxlvcmfkiman0jzq6nvjs81h51arzmyl1pqam30bc47c2cn",
"lts": true
},
"5.15": {
"version": "5.15.216",
"hash": "sha256:1v854sl38sxsl9zwm9sy6l3hgq24356angizxi7g98xf0lhgpbq9",
"version": "5.15.217",
"hash": "sha256:1rd5ffv9j3d5g2iygapjgkmqpsqfq69xyig3jifmmr5x9wsgs873",
"lts": true
},
"5.10": {
"version": "5.10.265",
"hash": "sha256:0i96z6iq218bcqyy4hllz9jnaj0j012ix82lf5gkvnj9kqbbj36i",
"version": "5.10.266",
"hash": "sha256:1zisyafmky3s4byxh98gg8q4gw702gkcp2krf1q6z94hjfza63ll",
"lts": true
},
"6.6": {
"version": "6.6.152",
"hash": "sha256:1mkhvln2x9npklg1b9b2gkavxcjmj9826sq0fh5rv16scf60b2vp",
"version": "6.6.153",
"hash": "sha256:0mwmr68vz1a296gkizwywvrjr8i86wg3crk777p0sli3i437gg1r",
"lts": true
},
"6.12": {
"version": "6.12.104",
"hash": "sha256:16drg5rvgbg4s24byj3wkq4ib5l6azmlxd5aqpq0rgb329m1d7cl",
"version": "6.12.105",
"hash": "sha256:0ggni16ill7acfxsmwr96q2zfcia1v19sif32csv2acm24g80dpb",
"lts": true
},
"6.18": {
"version": "6.18.45",
"hash": "sha256:0cxbvrb43mqxjmxyz2i7n5xghrk4gx7n24js2an199lwaxb4myih",
"version": "6.18.46",
"hash": "sha256:186c850qncfvwqnvmllzkiqj6xfrh6h4nh65d4lwq0lbh29lpm7m",
"lts": true
},
"7.1": {
"version": "7.1.9",
"hash": "sha256:1c3jq2y2isas3hi8dla4qs0wl6z6p9shjaqgk1987cwp72pa8w9j",
"version": "7.1.10",
"hash": "sha256:16crmblk96nwjzpbb22fpcj0r4ky63f1njvliv4vxwq2g9lz9lk7",
"lts": false
},
"7.2": {

View File

@@ -18956,6 +18956,8 @@ self: super: with self; {
simber = callPackage ../development/python-modules/simber { };
simp-sexp = callPackage ../development/python-modules/simp-sexp { };
simpful = callPackage ../development/python-modules/simpful { };
simple-dftd3 = callPackage ../development/libraries/science/chemistry/simple-dftd3/python.nix {