Merge 8cf9f7fff1 into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2026-06-17 00:58:42 +00:00
committed by GitHub
447 changed files with 5381 additions and 3632 deletions

View File

@@ -74,8 +74,6 @@
/pkgs/build-support/bintools-wrapper @Ericson2314
/pkgs/build-support/setup-hooks @Ericson2314
/pkgs/build-support/setup-hooks/arrayUtilities @ConnorBaker
/pkgs/build-support/setup-hooks/auto-patchelf.sh @layus
/pkgs/by-name/au/auto-patchelf @layus
## Format generators/serializers
/pkgs/pkgs-lib @Stunkymonkey @h7x4

View File

@@ -162,6 +162,14 @@ the package `luarocks-packages-updater`:
nix-shell -p luarocks-packages-updater --run luarocks-packages-updater
```
To add a new package without updating all packages, run
```sh
nix-shell -p luarocks-packages-updater
luarocks-packages-updater add <package-name>
```
[luarocks2nix](https://github.com/nix-community/luarocks) is a tool capable of generating nix derivations from both rockspec and src.rock (and favors the src.rock).
The automation only goes so far though and some packages need to be customized.
These customizations go in [pkgs/development/lua-modules/overrides.nix](https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/lua-modules/overrides.nix).

View File

@@ -174,6 +174,59 @@ To make sure that your package does not add extra manual effort when upgrading M
</plugin>
```
## Maven 4 {#maven-4}
Alongside the default `maven` package (the latest Maven 3 release), nixpkgs ships `maven_4`, which packages the [Maven 4](https://maven.apache.org/whatsnewinmaven4.html) release line.
`maven_4` is a standalone derivation and can be used as a drop-in replacement wherever `maven` is used, for example to build a project with the latest Maven 4:
```nix
{
lib,
fetchFromGitHub,
jre,
makeWrapper,
maven_4,
}:
maven_4.buildMavenPackage (finalAttrs: {
pname = "jd-cli";
version = "1.2.1";
src = fetchFromGitHub {
owner = "intoolswetrust";
repo = "jd-cli";
tag = "jd-cli-${finalAttrs.version}";
hash = "sha256-rRttA5H0A0c44loBzbKH7Waoted3IsOgxGCD2VM0U/Q=";
};
mvnHash = "";
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/jd-cli
install -Dm644 jd-cli/target/jd-cli.jar $out/share/jd-cli
makeWrapper ${jre}/bin/java $out/bin/jd-cli \
--add-flags "-jar $out/share/jd-cli/jd-cli.jar"
runHook postInstall
'';
meta = {
description = "Simple command line wrapper around JD Core Java Decompiler project";
homepage = "https://github.com/intoolswetrust/jd-cli";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ majiir ];
};
})
```
`maven_4` exposes the same `buildMavenPackage` helper as `maven` (see [](#maven-buildmavenpackage)), so all of the patterns documented above apply equally. Note that the Maven dependencies resolved by Maven 4 differ from those resolved by Maven 3, so `mvnHash` must be recomputed when switching between the two.
## Manually using `mvn2nix` {#maven-mvn2nix}
::: {.warning}
This way is no longer recommended; see [](#maven-buildmavenpackage) for the simpler and preferred way.

View File

@@ -151,6 +151,8 @@ For instance:
```
To update these packages, you should use the lua updater rather than vim's.
To add a lua package to the `vimPlugins` set, add it to the `luarocksPackageNames` list in [luaPackagePlugins.nix](https://github.com/nixos/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/luaPackagePlugins.nix).
## Treesitter {#neovim-plugin-treesitter}
[Treesitter](https://tree-sitter.github.io/) provides syntax parsing for Neovim, enabling features like:

View File

@@ -885,8 +885,7 @@ general. A number of other parameters can be overridden:
empty, or `"forbid"` (no cap) when `lints` is set. Because `rustc`
only honours the first `--cap-lints` it receives, this cannot be
changed via `extraRustcOpts`; use this attribute instead. Useful
when overriding the `rust` attribute to point at `clippy-driver`,
since clippy lints are also capped by this flag:
with `useClippy`, since clippy lints are also capped by this flag:
```nix
(hello { }).override { capLints = "warn"; }
@@ -912,6 +911,34 @@ general. A number of other parameters can be overridden:
}
```
- Whether to compile the crate with `clippy-driver` instead of `rustc`.
Build scripts (`build.rs`) keep plain `rustc`. The default `capLints`
of `"allow"` suppresses all lints including clippy's, so this is
usually paired with `capLints` and lint flags via `extraRustcOpts`:
```nix
(hello { }).override {
useClippy = true;
capLints = "warn";
extraRustcOpts = [
"-Dwarnings"
"-Wclippy::all"
];
}
```
When using a Rust toolchain that bundles its own `clippy-driver`
(rust-overlay, Fenix), pass it via `clippy` so the sysroot matches:
```nix
(hello { }).override {
rust = myToolchain;
clippy = myToolchain;
useClippy = true;
capLints = "warn";
}
```
- Phases, just like in any other derivation, can be specified using
the following attributes: `preUnpack`, `postUnpack`, `prePatch`,
`patches`, `postPatch`, `preConfigure` (in the case of a Rust crate,

View File

@@ -3972,6 +3972,9 @@
"maven": [
"index.html#maven"
],
"maven-4": [
"index.html#maven-4"
],
"maven-buildmavenpackage": [
"index.html#maven-buildmavenpackage"
],

View File

@@ -53,6 +53,8 @@
[pnpm `fetcherVersion` section](#javascript-pnpm-fetcherVersion) of the manual
for details.
- `rebuilderd` has been updated to 0.27.0 introducing breaking changes. See upstream changelog for details: [0.26.0](https://github.com/kpcyrd/rebuilderd/releases/tag/v0.26.0), [0.27.0](https://github.com/kpcyrd/rebuilderd/releases/tag/v0.27.0)
## Other Notable Changes {#sec-nixpkgs-release-26.11-notable-changes}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

View File

@@ -23,6 +23,7 @@ let
platforms = import ./platforms.nix { inherit lib; };
examples = import ./examples.nix { inherit lib; };
architectures = import ./architectures.nix { inherit lib; };
rustc-target-env = import ./rustc-target-env.nix;
/**
Elaborated systems contain functions, which means that they don't satisfy
@@ -449,6 +450,16 @@ let
else
final.parsed.cpu.name;
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_env
# Accomodate system definitions written before Nixpkgs learned about target_env.
env =
if rust ? platform.env then
rust.platform.env
else if rustc-target-env ? ${final.rust.rustcTargetSpec} then
rustc-target-env.${final.rust.rustcTargetSpec}
else
"";
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_os
os =
if rust ? platform then

View File

@@ -0,0 +1,160 @@
# As of rustc 1.96.0. Empty `target_env` values are omitted.
#
# Generation script:
# #!/bin/bash
# rustc --print target-list | while read -r target ; do
# env=$(rustc --print cfg --target "$target" | grep '^target_env=' | sed 's/# ^target_env="//;s/"$//')
# [[ -z "$env" ]] && continue
# printf ' %s = "%s";\n' "$target" "$env"
# done
{
aarch64-apple-ios-macabi = "macabi";
aarch64-apple-ios-sim = "sim";
aarch64-apple-tvos-sim = "sim";
aarch64-apple-visionos-sim = "sim";
aarch64-apple-watchos-sim = "sim";
aarch64-pc-windows-gnullvm = "gnu";
aarch64-pc-windows-msvc = "msvc";
aarch64-unknown-linux-gnu = "gnu";
aarch64-unknown-linux-gnu_ilp32 = "gnu";
aarch64-unknown-linux-musl = "musl";
aarch64-unknown-linux-ohos = "ohos";
aarch64-unknown-managarm-mlibc = "mlibc";
aarch64-unknown-nto-qnx700 = "nto70";
aarch64-unknown-nto-qnx710 = "nto71";
aarch64-unknown-nto-qnx710_iosock = "nto71_iosock";
aarch64-unknown-nto-qnx800 = "nto80";
aarch64-unknown-redox = "relibc";
aarch64-uwp-windows-msvc = "msvc";
aarch64-wrs-vxworks = "gnu";
aarch64_be-unknown-linux-gnu = "gnu";
aarch64_be-unknown-linux-gnu_ilp32 = "gnu";
aarch64_be-unknown-linux-musl = "musl";
arm-unknown-linux-gnueabi = "gnu";
arm-unknown-linux-gnueabihf = "gnu";
arm-unknown-linux-musleabi = "musl";
arm-unknown-linux-musleabihf = "musl";
arm64ec-pc-windows-msvc = "msvc";
armeb-unknown-linux-gnueabi = "gnu";
armv4t-unknown-linux-gnueabi = "gnu";
armv5te-unknown-linux-gnueabi = "gnu";
armv5te-unknown-linux-musleabi = "musl";
armv5te-unknown-linux-uclibceabi = "uclibc";
armv6k-nintendo-3ds = "newlib";
armv7-rtems-eabihf = "newlib";
armv7-sony-vita-newlibeabihf = "newlib";
armv7-unknown-linux-gnueabi = "gnu";
armv7-unknown-linux-gnueabihf = "gnu";
armv7-unknown-linux-musleabi = "musl";
armv7-unknown-linux-musleabihf = "musl";
armv7-unknown-linux-ohos = "ohos";
armv7-unknown-linux-uclibceabi = "uclibc";
armv7-unknown-linux-uclibceabihf = "uclibc";
armv7-wrs-vxworks-eabihf = "gnu";
armv7a-vex-v5 = "v5";
csky-unknown-linux-gnuabiv2 = "gnu";
csky-unknown-linux-gnuabiv2hf = "gnu";
hexagon-unknown-linux-musl = "musl";
i386-apple-ios = "sim";
i586-unknown-linux-gnu = "gnu";
i586-unknown-linux-musl = "musl";
i586-unknown-redox = "relibc";
i686-pc-nto-qnx700 = "nto70";
i686-pc-windows-gnu = "gnu";
i686-pc-windows-gnullvm = "gnu";
i686-pc-windows-msvc = "msvc";
i686-unknown-hurd-gnu = "gnu";
i686-unknown-linux-gnu = "gnu";
i686-unknown-linux-musl = "musl";
i686-uwp-windows-gnu = "gnu";
i686-uwp-windows-msvc = "msvc";
i686-win7-windows-gnu = "gnu";
i686-win7-windows-msvc = "msvc";
i686-wrs-vxworks = "gnu";
loongarch64-unknown-linux-gnu = "gnu";
loongarch64-unknown-linux-musl = "musl";
loongarch64-unknown-linux-ohos = "ohos";
m68k-unknown-linux-gnu = "gnu";
mips-unknown-linux-gnu = "gnu";
mips-unknown-linux-musl = "musl";
mips-unknown-linux-uclibc = "uclibc";
mips64-openwrt-linux-musl = "musl";
mips64-unknown-linux-gnuabi64 = "gnu";
mips64-unknown-linux-muslabi64 = "musl";
mips64el-unknown-linux-gnuabi64 = "gnu";
mips64el-unknown-linux-muslabi64 = "musl";
mipsel-unknown-linux-gnu = "gnu";
mipsel-unknown-linux-musl = "musl";
mipsel-unknown-linux-uclibc = "uclibc";
mipsisa32r6-unknown-linux-gnu = "gnu";
mipsisa32r6el-unknown-linux-gnu = "gnu";
mipsisa64r6-unknown-linux-gnuabi64 = "gnu";
mipsisa64r6el-unknown-linux-gnuabi64 = "gnu";
powerpc-unknown-linux-gnu = "gnu";
powerpc-unknown-linux-gnuspe = "gnu";
powerpc-unknown-linux-musl = "musl";
powerpc-unknown-linux-muslspe = "musl";
powerpc-wrs-vxworks = "gnu";
powerpc-wrs-vxworks-spe = "gnu";
powerpc64-unknown-linux-gnu = "gnu";
powerpc64-unknown-linux-musl = "musl";
powerpc64-wrs-vxworks = "gnu";
powerpc64le-unknown-linux-gnu = "gnu";
powerpc64le-unknown-linux-musl = "musl";
riscv32-wrs-vxworks = "gnu";
riscv32gc-unknown-linux-gnu = "gnu";
riscv32gc-unknown-linux-musl = "musl";
riscv32imac-esp-espidf = "newlib";
riscv32imafc-esp-espidf = "newlib";
riscv32imc-esp-espidf = "newlib";
riscv64-wrs-vxworks = "gnu";
riscv64a23-unknown-linux-gnu = "gnu";
riscv64gc-unknown-linux-gnu = "gnu";
riscv64gc-unknown-linux-musl = "musl";
riscv64gc-unknown-managarm-mlibc = "mlibc";
riscv64gc-unknown-redox = "relibc";
s390x-unknown-linux-gnu = "gnu";
s390x-unknown-linux-musl = "musl";
sparc-unknown-linux-gnu = "gnu";
sparc64-unknown-linux-gnu = "gnu";
thumbv7a-pc-windows-msvc = "msvc";
thumbv7a-uwp-windows-msvc = "msvc";
thumbv7neon-unknown-linux-gnueabihf = "gnu";
thumbv7neon-unknown-linux-musleabihf = "musl";
wasm32-wali-linux-musl = "musl";
wasm32-wasip1 = "p1";
wasm32-wasip1-threads = "p1";
wasm32-wasip2 = "p2";
wasm32-wasip3 = "p3";
x86_64-apple-ios = "sim";
x86_64-apple-ios-macabi = "macabi";
x86_64-apple-tvos = "sim";
x86_64-apple-watchos-sim = "sim";
x86_64-fortanix-unknown-sgx = "sgx";
x86_64-pc-nto-qnx710 = "nto71";
x86_64-pc-nto-qnx710_iosock = "nto71_iosock";
x86_64-pc-nto-qnx800 = "nto80";
x86_64-pc-windows-gnu = "gnu";
x86_64-pc-windows-gnullvm = "gnu";
x86_64-pc-windows-msvc = "msvc";
x86_64-unikraft-linux-musl = "musl";
x86_64-unknown-hurd-gnu = "gnu";
x86_64-unknown-l4re-uclibc = "uclibc";
x86_64-unknown-linux-gnu = "gnu";
x86_64-unknown-linux-gnuasan = "gnu";
x86_64-unknown-linux-gnumsan = "gnu";
x86_64-unknown-linux-gnutsan = "gnu";
x86_64-unknown-linux-gnux32 = "gnu";
x86_64-unknown-linux-musl = "musl";
x86_64-unknown-linux-ohos = "ohos";
x86_64-unknown-managarm-mlibc = "mlibc";
x86_64-unknown-redox = "relibc";
x86_64-uwp-windows-gnu = "gnu";
x86_64-uwp-windows-msvc = "msvc";
x86_64-win7-windows-gnu = "gnu";
x86_64-win7-windows-msvc = "msvc";
x86_64-wrs-vxworks = "gnu";
xtensa-esp32-espidf = "newlib";
xtensa-esp32s2-espidf = "newlib";
xtensa-esp32s3-espidf = "newlib";
}

View File

@@ -128,7 +128,6 @@
"Pandapip1": 45835846,
"a-kenji": 65275785,
"drakon64": 6444703,
"michaelBelsanti": 62124625,
"thefossguy": 44400303
},
"name": "COSMIC"
@@ -847,6 +846,18 @@
},
"name": "Radicle"
},
"redis": {
"description": "Maintain Redis, related packages, module, and tests.",
"id": 17932473,
"maintainers": {
"Hythera": 87016780,
"MiniHarinn": 52773156,
"debtquity": 225436867,
"kybe236": 118068228
},
"members": {},
"name": "Redis"
},
"reproducible": {
"description": "Team that is interested in reproducible builds",
"id": 7625643,

View File

@@ -24262,6 +24262,7 @@
};
ryand56 = {
email = "git@ryand.ca";
matrix = "@ryan:ryand.ca";
github = "ryand56";
githubId = 22267679;
name = "Ryan Omasta";
@@ -27437,6 +27438,13 @@
github = "thattemperature";
githubId = 125476238;
};
thbemme = {
name = "Thomas Bemme";
email = "thomas.bemme@gmail.com";
matrix = "@riza:chaos.jetzt";
github = "thbemme";
githubId = 14074615;
};
thblt = {
name = "Thibault Polge";
email = "thibault@thb.lt";
@@ -28779,6 +28787,12 @@
githubId = 17836748;
name = "Mason Mackaman";
};
username-generic = {
name = "username-generic";
email = "username-generic@tuta.io";
github = "username-generic";
githubId = 202454830;
};
usertam = {
name = "Samuel Tam";
email = "code@usertam.dev";
@@ -30730,6 +30744,12 @@
githubId = 65394961;
name = "Yves Straten";
};
yvnth = {
email = "yashupress@gmail.com";
github = "yvnth";
githubId = 201552597;
name = "Yashwanth Prasannakumar";
};
yzx9 = {
email = "yuan.zx@outlook.com";
github = "yzx9";

View File

@@ -6,6 +6,8 @@ mkdir logs
nix-env -qaP -f . -A kdePackages --json --out-path | from json | values | par-each { |it|
echo $"Processing ($it.pname)..."
if "outputs" in $it {
nix-store --read-log $it.outputs.out | save -f $"logs/($it.pname).log"
try {
nix-store --read-log $it.outputs.out | save -f $"logs/($it.pname).log"
}
}
}

View File

@@ -37,6 +37,7 @@ PROJECTS_WITH_RUST = {
"akonadi-search",
"angelfish",
"kdepim-addons",
"kdeplasma-addons",
}
def to_sri(hash):

View File

@@ -35,6 +35,7 @@ haskell-tools.nvim,,,,,5.1,mrcjkb
http,,,,0.4-0,,vcunat
inspect,,,,,,
jsregexp,,,,0.0.7-2,,
kulala.nvim,,,,,,
ldbus,,,https://luarocks.org/dev,,,
ldoc,,,,,,
lgi,,,,,,
@@ -172,6 +173,7 @@ toml-edit,,,,,5.1,mrcjkb
tomlua,,,,,,birdee
tree-sitter-cli,,,,,,
tree-sitter-http,,,,0.0.33-1,,
tree-sitter-kulala_http,,,,,,
tree-sitter-norg,,,,,5.1,mrcjkb
tree-sitter-norg-meta,,,,,,
tree-sitter-orgmode,,,,,5.1,
1 name rockspec ref server version luaversion maintainers
35 http 0.4-0 vcunat
36 inspect
37 jsregexp 0.0.7-2
38 kulala.nvim
39 ldbus https://luarocks.org/dev
40 ldoc
41 lgi
173 tomlua birdee
174 tree-sitter-cli
175 tree-sitter-http 0.0.33-1
176 tree-sitter-kulala_http
177 tree-sitter-norg 5.1 mrcjkb
178 tree-sitter-norg-meta
179 tree-sitter-orgmode 5.1

View File

@@ -322,6 +322,14 @@ have a predefined type and string generator already declared under
The attribute `lib.type.atom` contains the used INI atom.
`pkgs.formats.configobj` { }
: A function taking an attribute set with values
It returns a set with [ConfigObj](https://pypi.org/project/configobj/)-specific attributes `type` and `generate` as specified [below](#pkgs-formats-result).
The type of the input is an attribute mapping supporting both atoms and nested attribute sets (sections/subsections), as supported by ConfigObj.
The renderer is based on Python's `configobj` module.
`pkgs.formats.iniWithGlobalSection` { *`listsAsDuplicateKeys`* ? false, *`listToValue`* ? null, \.\.\. }
: A function taking an attribute set with values

View File

@@ -21,7 +21,15 @@
defaultText = lib.literalExpression "pkgs.clash-verge-rev";
};
serviceMode = lib.mkEnableOption "Service Mode";
tunMode = lib.mkEnableOption "Setcap for TUN Mode. DNS settings won't work on this way";
tunMode = lib.mkEnableOption "" // {
description = ''
Whether to set the capabilities required for TUN mode.
Without these capabilities, Clash Verge's DNS settings will not work in TUN mode.
When enabled, reverse path filtering will be set to loose instead of strict.
'';
};
autoStart = lib.mkEnableOption "Clash Verge auto launch";
group = lib.mkOption {
type = lib.types.str;
@@ -59,6 +67,22 @@
source = "${lib.getExe cfg.package}";
};
assertions = [
{
assertion =
cfg.tunMode
->
config.networking.firewall.checkReversePath != true
&& config.networking.firewall.checkReversePath != "strict";
message = ''
{option}`programs.clash-verge.tunMode` requires {option}`networking.firewall.checkReversePath`
to be set to `false` or `"loose"`.
'';
}
];
networking.firewall.checkReversePath = lib.mkIf cfg.tunMode (lib.mkDefault "loose");
systemd.services.clash-verge = lib.mkIf cfg.serviceMode {
enable = true;
description = "Clash Verge Service Mode";

View File

@@ -37,6 +37,11 @@ let
;
}
) cfg.waylandCompositors;
sessionServices = [
"wayland-wm@"
"wayland-session-bindpid@"
];
in
{
options.programs.uwsm = {
@@ -136,6 +141,17 @@ in
# UWSM recommends dbus broker for better compatibility
services.dbus.implementation = "broker";
# Restarting these kills the graphical session, same treatment as the
# display-manager modules.
systemd.user.services = lib.genAttrs sessionServices (_: {
restartIfChanged = false;
# Defining the units here generates drop-ins; without this they
# would carry the NixOS default Environment="PATH=coreutils:…",
# clobbering the PATH that uwsm imported into the user manager
# and breaking spawn actions that rely on it.
enableDefaultPath = false;
});
}
(lib.mkIf (cfg.waylandCompositors != { }) {

View File

@@ -172,6 +172,9 @@ in
# touch keyboard
plasma-keyboard
qtvirtualkeyboard # used by plasma-keyboard KCM
# experimental(?) Union theme
union
]
++ lib.optional config.networking.networkmanager.enable qrca
++ lib.optionals config.hardware.sensor.iio.enable [

View File

@@ -39,6 +39,17 @@ in
options = {
enable = mkEnableOption "Wyoming faster-whisper server";
task = mkOption {
type = enum [
"transcribe"
"translate"
];
default = "transcribe";
description = ''
Whisper task to perform.
'';
};
zeroconf = {
enable = mkEnableOption "zeroconf discovery" // {
default = true;
@@ -349,6 +360,8 @@ in
options.uri
"--device"
options.device
"--whisper-task"
options.task
"--stt-library"
options.sttLibrary
"--model"

View File

@@ -76,6 +76,26 @@ in
];
};
};
extraConfig = lib.mkOption {
type = lib.types.lines;
default = "";
description = ''
Extra frp TOML configuration included at the end of the generated configuration file.
Especially useful for [port range mapping].
[port range mapping]: https://github.com/fatedier/frp#port-range-mapping
'';
example = ''
{{- range $_, $v := parseNumberRangePair "6000-6006,6007" "6000-6006,6007" }}
[[proxies]]
name = "tcp-{{ $v.First }}"
type = "tcp"
localPort = {{ $v.First }}
remotePort = {{ $v.Second }}
{{- end }}
'';
};
};
}
);
@@ -94,7 +114,18 @@ in
instance: options:
let
serviceName = "frp" + lib.optionalString (instance != "") ("-" + instance);
configFile = settingsFormat.generate "${serviceName}.toml" options.settings;
baseConfigFile = settingsFormat.generate "${serviceName}-base.toml" options.settings;
configFile =
if options.extraConfig == "" then
baseConfigFile
else
pkgs.writeText "${serviceName}.toml" ''
# Nixos Module settings
${builtins.readFile baseConfigFile}
# Nixos Module extraConfig
${options.extraConfig}
'';
isClient = (options.role == "client");
isServer = (options.role == "server");
serviceCapability = lib.optionals isServer [ "CAP_NET_BIND_SERVICE" ];
@@ -144,5 +175,8 @@ in
) enabledInstances;
};
meta.maintainers = with lib.maintainers; [ zaldnoay ];
meta.maintainers = with lib.maintainers; [
zaldnoay
epireyn
];
}

View File

@@ -149,6 +149,8 @@ in
EnvironmentFile = cfg.environmentFiles;
Restart = "on-failure";
StateDirectory = "rustical";
RuntimeDirectory = "rustical";
RuntimeDirectoryMode = "0750";
CapabilityBoundingSet = "";
DevicePolicy = "closed";
@@ -172,6 +174,7 @@ in
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_UNIX"
];
RestrictNamespaces = true;
RestrictRealtime = true;
@@ -181,7 +184,7 @@ in
"~@privileged @resources"
];
SystemCallErrorNumber = "EPERM";
UMask = "0077";
UMask = "0007";
};
};
};

View File

@@ -128,21 +128,23 @@ in
};
account = {
lower = mkOption {
type = types.int;
default = -200000;
example = 0;
description = ''
The credit limit for user accounts.
'';
};
boundary = {
lower = mkOption {
type = types.int;
default = -200000;
example = 0;
description = ''
The credit limit for user accounts.
'';
};
upper = mkOption {
type = types.ints.positive;
default = 200000;
description = ''
The maximum balance on a user account.
'';
upper = mkOption {
type = types.ints.positive;
default = 200000;
description = ''
The maximum balance on a user account.
'';
};
};
};
@@ -256,7 +258,7 @@ in
};
};
transaction = {
transactions = {
enabled = mkOption {
type = types.bool;
default = true;
@@ -476,20 +478,15 @@ in
inherit (cfg) environment;
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
User = "strichliste";
Group = "strichliste";
EnvironmentFile = cfg.environmentFiles;
ExecStart = map toString [
[
(lib.getExe cfg.packages.backend)
"cache:clear"
]
[
(lib.getExe cfg.packages.backend)
"doctrine:migrations:migrate"
"--allow-no-migration"
"--no-interaction"
]
ExecStart = toString [
(lib.getExe cfg.packages.backend)
"doctrine:migrations:migrate"
"--allow-no-migration"
"--no-interaction"
];
};
};
@@ -497,6 +494,11 @@ in
systemd.services.phpfpm-strichliste = {
inherit (cfg) environment;
serviceConfig.EnvironmentFile = cfg.environmentFiles;
restartTriggers = [ settingsFile ];
preStart = toString [
(lib.getExe cfg.packages.backend)
"cache:clear"
];
};
services.phpfpm.pools.strichliste = {

View File

@@ -54,27 +54,6 @@ let
${system} = hydraJob test;
}
);
}
// {
# for typechecking of the scripts and evaluation of
# the nodes, without running VMs.
allDrivers = import ./tests/all-tests.nix {
inherit system;
pkgs = import ./.. { inherit system; };
callTest =
config:
let
inherit (config) driver;
in
lib.optionalAttrs (builtins.elem system (getPlatforms driver)) (
if attrNamesOnly then
hydraJob driver
else
{
${system} = hydraJob driver;
}
);
};
};
allTests = foldAttrs recursiveUpdate { } (

View File

@@ -364,6 +364,7 @@ in
};
cloud-init = runTest ./cloud-init.nix;
cloud-init-hostname = runTest ./cloud-init-hostname.nix;
cloudcompare = import ./cloudcompare.nix { inherit pkgs runTest; };
cloudlog = runTest ./cloudlog.nix;
cntr = import ./cntr.nix {
inherit (pkgs) lib;
@@ -495,7 +496,7 @@ in
drupal = runTest ./drupal.nix;
dublin-traceroute = runTest ./dublin-traceroute.nix;
dwl = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./dwl.nix;
e57inspector = runTest ./e57inspector.nix;
e57inspector = import ./e57inspector.nix { inherit pkgs runTest; };
early-mount-options = runTest ./early-mount-options.nix;
earlyoom = runTestOn [ "x86_64-linux" ] ./earlyoom.nix;
easytier = runTest ./easytier.nix;

View File

@@ -0,0 +1,55 @@
{ pkgs, runTest }:
let
testFile = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/asmaloney/libE57Format-test-data/bbcacec05d60f923869545c5eab33d94c390d50e/self/ColouredCubeFloat.e57";
hash = "sha256-bb95crNYvX3Qhkx4k6Sqe2GjOf1u4nxxswMfdjyXfTM=";
};
vmTest = runTest {
name = "cloudcompare-vm";
meta.maintainers = with pkgs.lib.maintainers; [
nh2
];
enableOCR = true;
nodes.machine =
{ ... }:
{
imports = [
./common/x11.nix
];
services.xserver.enable = true;
environment.systemPackages = [
pkgs.cloudcompare
];
};
testScript = ''
start_all()
machine.wait_for_x()
machine.execute("CloudCompare ${testFile} >&2 &")
machine.wait_for_window("CloudCompare")
# Wait for the file to be loaded; CloudCompare shows "loaded successfully" in its log panel at the bottom.
machine.wait_for_text("loaded successfully")
machine.screenshot("screen.png")
'';
};
in
{
vm = vmTest;
screenshot-analysis = pkgs.callPackage ./vlm-screenshot-question.nix {
name = "cloudcompare-screenshot-analysis";
screenshot = "${vmTest}/screen.png";
question = ''
Look at this screenshot of a desktop application.
Answer: Does the application show a 3D point cloud viewer (CloudCompare) that has successfully loaded and is displaying a coloured point cloud?
Evidence of success: a 3D viewport with coloured points is visible AND there are no error dialogs or error messages.
'';
};
}

View File

@@ -1,38 +1,53 @@
{ pkgs, ... }:
{
name = "e57inspector";
meta.maintainers = with pkgs.lib.maintainers; [
nh2
chpatrick
];
{ pkgs, runTest }:
let
testFile = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/asmaloney/libE57Format-test-data/bbcacec05d60f923869545c5eab33d94c390d50e/self/ColouredCubeFloat.e57";
hash = "sha256-bb95crNYvX3Qhkx4k6Sqe2GjOf1u4nxxswMfdjyXfTM=";
};
nodes.machine =
{ ... }:
{
imports = [
./common/x11.nix
];
vmTest = runTest {
name = "e57inspector-vm";
meta.maintainers = with pkgs.lib.maintainers; [
nh2
chpatrick
];
services.xserver.enable = true;
environment.systemPackages = [
pkgs.e57inspector
pkgs.xdotool
];
};
nodes.machine =
{ ... }:
{
imports = [
./common/x11.nix
];
testScript =
let
testFile = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/asmaloney/libE57Format-test-data/bbcacec05d60f923869545c5eab33d94c390d50e/self/ColouredCubeFloat.e57";
hash = "sha256-bb95crNYvX3Qhkx4k6Sqe2GjOf1u4nxxswMfdjyXfTM=";
services.xserver.enable = true;
environment.systemPackages = [
pkgs.e57inspector
];
};
in
''
enableOCR = true;
testScript = ''
start_all()
machine.wait_for_x()
machine.execute("e57inspector ${testFile} >&2 &")
machine.wait_until_succeeds("xdotool search --pid $(pidof .e57inspector-wrapped)")
machine.screenshot("screen")
machine.wait_for_text("File") # menu visible
machine.screenshot("screen.png")
'';
};
in
{
vm = vmTest;
screenshot-analysis = pkgs.callPackage ./vlm-screenshot-question.nix {
name = "e57inspector-screenshot-analysis";
screenshot = "${vmTest}/screen.png";
question = ''
Look at this screenshot of a desktop application.
Answer: Does the application show that a file was loaded into it successfully?
For this, only scans matter, as there are no images in the file.
The inspector on the left should show child elements below 'Data 3D'.
'';
};
}

View File

@@ -9,10 +9,14 @@ let
name = "secrets";
text = "token=${token}";
};
portRange = 6003;
in
{
name = "frp";
meta.maintainers = with lib.maintainers; [ zaldnoay ];
meta.maintainers = with lib.maintainers; [
zaldnoay
epireyn
];
nodes = {
frps = {
networking = {
@@ -56,14 +60,25 @@ in
services.httpd = {
enable = true;
adminAddr = "admin@example.com";
virtualHosts."test-appication" =
virtualHosts =
let
testdir = pkgs.writeTextDir "web/index.php" "<?php phpinfo();";
in
{
documentRoot = "${testdir}/web";
locations."/" = {
index = "index.php index.html";
"test-appication" = {
documentRoot = "${testdir}/web";
locations."/" = {
index = "index.php index.html";
};
};
"test-range" = {
documentRoot = "${testdir}/web";
listen = [
{ port = portRange; }
];
locations."/" = {
index = "index.php index.html";
};
};
};
phpPackage = pkgs.php84;
@@ -87,6 +102,15 @@ in
}
];
};
extraConfig = ''
{{- range $_, $v := parseNumberRangePair "6000-6006,6007" "6000-6006,6007" }}
[[proxies]]
name = "tcp-{{ $v.First }}"
type = "tcp"
localPort = {{ $v.First }}
remotePort = {{ $v.Second }}
{{- end }}
'';
};
};
};
@@ -96,9 +120,17 @@ in
frps.wait_for_unit("frp-server.service")
frps.wait_for_open_port(80)
frpc.wait_for_unit("frp-client.service")
# Test config written in Nix
response = frpc.succeed("curl -fvvv -s http://127.0.0.1/")
assert "PHP Version ${pkgs.php84.version}" in response, "PHP version not detected"
response = frpc.succeed("curl -fvvv -s http://10.0.0.1/")
assert "PHP Version ${pkgs.php84.version}" in response, "PHP version not detected"
# Test `extraConfig` option with port range
response = frpc.succeed("curl -fvvv -s http://127.0.0.1:${toString portRange}/")
assert "PHP Version ${pkgs.php84.version}" in response, "PHP version not detected"
response = frpc.succeed("curl -fvvv -s http://10.0.0.1:${toString portRange}/")
assert "PHP Version ${pkgs.php84.version}" in response, "PHP version not detected"
'';
}

View File

@@ -0,0 +1,118 @@
# Reusable VLM screenshot analysis derivation.
#
# Similar to `wait_for_text()` in NixOS VM tests.
#
# Runs a VLM (Vision Language Model) on a screenshot and asserts that the
# model's answer to a yes/no question ends with "YES".
#
# This is useful to automatically test software that is otherwise
# hard to test, e.g. "does this 3D program render the bunny correctly?".
# It is especially useful to judge screenshots made in NixOS VM tests.
{
lib,
writers,
fetchurl,
llama-cpp,
runCommand,
# VLM defaults, chosen to pick a model smart enough to be useful
# for screenshot analysis, but small enough to not consume too much RAM
# or be too slow for CI.
model ? (
fetchurl {
url = "https://huggingface.co/unsloth/gemma-4-E2B-it-GGUF/resolve/90f9618340396838ee7ff5b0ba2da27da62953d3/gemma-4-E2B-it-Q4_0.gguf";
hash = "sha256-nEwdSKRi9/iDsomErE9C02bJxXNDTqtoVT4POL9+tQw=";
}
),
mmproj ? (
fetchurl {
url = "https://huggingface.co/unsloth/gemma-4-E2B-it-GGUF/resolve/90f9618340396838ee7ff5b0ba2da27da62953d3/mmproj-F16.gguf";
hash = "sha256-FAvo14SXQfiMUHV9UpuENz7o4nBSzCI2hVtTf0qCFfo=";
}
),
# User-provided arguments:
name,
screenshot,
question,
}:
let
analysisScript =
writers.writePython3 "${name}-script" { flakeIgnore = [ "E501" ]; } # allow long lines
''
import os
import re
import subprocess
import time
out = os.environ["out"]
screenshot = "${screenshot}"
# Using JSON here even permits preserving multi-line ASCII art questions and so on.
question = ${builtins.toJSON question}
# Build the full prompt with output markers for reliable extraction.
prompt = (
"Start your output with [output-start]."
f" {question}"
" Explain what you see, and your judgment."
" Then answer that question with exactly YES or NO, followed by [output-end]."
)
vlm_start = time.time()
result = subprocess.run(
[
"${lib.getExe llama-cpp}",
"--single-turn", "--no-display-prompt", "--log-verbosity", "0", "--jinja",
"--simple-io", # disables the spinner whose backspace chars would corrupt captured output
"--reasoning", "off", "--temp", "0",
"--threads", "1", # for determinism
"--n-gpu-layers", "0", # force CPU-only (results on GPUs might be different and nondeterministic, see https://github.com/ggml-org/llama.cpp/pull/16016#issuecomment-3293505238)
"--model", "${model}",
"--mmproj", "${mmproj}",
"--image", screenshot,
"-p", prompt,
],
capture_output=True,
text=True,
# `OMP_NUM_THREADS=1` prevents OpenMP from spawning extra threads in the BLAS backend
# (OpenBLAS), which causes nondeterminism with `--image`; without `--image`, `--threads 1`
# alone is already deterministic (BLAS is not used for short text prompts).
# Relevant code: https://github.com/ggml-org/llama.cpp/blob/80afa33aadcc4f71212b17e5e52904491c76b63e/ggml/src/ggml-blas/ggml-blas.cpp#L30-L148
# PR to fix it in OpenBLAS: https://github.com/OpenMathLib/OpenBLAS/pull/5808
env={**os.environ, "OMP_NUM_THREADS": "1"},
)
vlm_elapsed = time.time() - vlm_start
output = result.stdout
print(f"VLM inference took {vlm_elapsed:.1f}s")
print(f"VLM raw output: {repr(output)}")
if result.returncode != 0:
print(f"VLM stderr: {result.stderr}")
assert result.returncode == 0, f"llama-cli failed with exit code {result.returncode}"
print()
# Post-process: extract the answer between `[output-start]` and `[output-end]` markers.
# This is needed because llama-cli prints UI noise (banner,
# spinner, stats) to stdout alongside the model's response.
# TODO: Replace with `--quiet` once https://github.com/ggml-org/llama.cpp/pull/22848 is merged;
# then also remove the markers from the prompt and the extraction below.
matches = re.findall(r"\[output-start\](.*?)\[output-end\]", output, re.DOTALL)
assert matches, (
f"VLM output did not contain [output-start]...[output-end] markers."
f" Raw output: {repr(output)}"
)
answer = matches[-1].strip() # use last match (first may be prompt echo)
print("VLM answer:")
print(answer)
assert answer.upper().endswith("YES"), (
f"VLM did not confirm expected answer. Answer: {answer}"
)
os.makedirs(out, exist_ok=True)
with open(os.path.join(out, "vlm-answer.txt"), "w") as f:
f.write(answer + "\n")
os.symlink(screenshot, os.path.join(out, "screen.png"))
'';
in
runCommand name { } ''
${analysisScript}
''

View File

@@ -4,10 +4,6 @@
...
}:
let
port = "4000";
in
{
name = "rustical";
@@ -15,14 +11,21 @@ in
containers.machine =
{
config,
pkgs,
...
}:
{
services.rustical = {
services.rustical.enable = true;
services.nginx = {
enable = true;
settings.http.bind = "[::]:${port}";
virtualHosts."localhost" = {
locations."/" = {
proxyPass = "http://${config.services.rustical.settings.http.bind}";
};
};
};
systemd.services.nginx.serviceConfig.SupplementaryGroups = [ "rustical" ];
environment.systemPackages = with pkgs; [ calendar-cli ];
};
@@ -32,8 +35,6 @@ in
...
}:
let
url = "http://localhost:${toString port}";
createPrincipalScript = pkgs.writeScript "rustical-create-principal" ''
#!${lib.getExe pkgs.expect}
spawn rustical principals create alice --password
@@ -45,30 +46,31 @@ in
calendarCliConfig = (pkgs.formats.json { }).generate "rustical-test-calendar-cli.json" {
default = {
caldav_user = "alice";
caldav_url = "${url}/caldav/";
calendar_url = "${url}/caldav/principal/alice";
caldav_url = "http://localhost/caldav/";
calendar_url = "http://localhost/caldav/principal/alice";
};
testcal = {
inherits = "default";
calendar_url = "${url}/caldav/principal/alice/testcal";
calendar_url = "http://localhost/caldav/principal/alice/testcal";
};
};
in
# python
''
machine.wait_for_unit("rustical.service")
machine.wait_for_open_port(${port})
machine.wait_for_file("${lib.removePrefix "unix:" containers.machine.services.rustical.settings.http.bind}")
machine.wait_for_open_port(80)
with subtest("Smoketest"):
machine.succeed("curl --fail ${url}")
machine.succeed("curl --fail http://localhost")
with subtest("Create principal"):
machine.succeed("${createPrincipalScript}")
machine.succeed("rustical principals list | grep alice")
with subtest("Generate token for principal"):
machine.succeed("curl -f -c cookies.txt -d 'username=alice&password=foobar' ${url}/frontend/login")
machine.succeed("curl -f -b cookies.txt -d 'name=mytoken' ${url}/frontend/user/alice/app_token > token.txt")
machine.succeed("curl -f -c cookies.txt -d 'username=alice&password=foobar' http://localhost/frontend/login")
machine.succeed("curl -f -b cookies.txt -d 'name=mytoken' http://localhost/frontend/user/alice/app_token > token.txt")
with subtest("Interact with caldav"):
machine.succeed('calendar-cli --config-file ${calendarCliConfig} --caldav-pass "$(cat token.txt)" calendar create testcal')

View File

@@ -10,8 +10,8 @@
# - Open a browser or something that plays sound. Ex: chromium
name = "xrdp-with-audio-pulseaudio";
meta = with pkgs.lib.maintainers; {
maintainers = [ lucasew ];
meta = {
maintainers = [ ];
};
nodes = {

View File

@@ -1,57 +0,0 @@
{
"EncConv": {
"owner": "Alexey-T",
"rev": "2023.04.16",
"hash": "sha256-6KaYv4OO6Ctk+vgow67LKGkbEEd1+lFJ9B1wSk4m3pc="
},
"ATBinHex-Lazarus": {
"owner": "Alexey-T",
"rev": "2023.08.12",
"hash": "sha256-dEwz052aYcJtKpRcP8t7gE2RHuHPQ4T0zHFMv6zVZ6g="
},
"ATFlatControls": {
"owner": "Alexey-T",
"rev": "2023.10.30",
"hash": "sha256-fuTQnnuWjIsABx457y+n6luLxQf+b9TiZGLXYjNsUrw="
},
"ATSynEdit": {
"owner": "Alexey-T",
"rev": "2023.11.23",
"hash": "sha256-LGYGCxEPdZL4BU3TGiFxydu7AN8g5kqOdW+dcbiCf7E="
},
"ATSynEdit_Cmp": {
"owner": "Alexey-T",
"rev": "2023.05.31",
"hash": "sha256-QXu/p3o0RSwMyntFYrjIQBtOBGvL9rAsINaglG3fZvo="
},
"EControl": {
"owner": "Alexey-T",
"rev": "2023.11.16",
"hash": "sha256-FxUV+K9JRsdr0xqQzvg1UI4bBHyhqxiVoPN58h2+WVg="
},
"ATSynEdit_Ex": {
"owner": "Alexey-T",
"rev": "2023.11.23",
"hash": "sha256-RNXP8O3UF+hwA3TNzLorZqlt04Idnc4Z9LA87JJSsZE="
},
"Python-for-Lazarus": {
"owner": "Alexey-T",
"rev": "2023.06.30",
"hash": "sha256-mO8/RNJjy9KtFuDUmV2Y8Ff+Jjm9yRd7GSrI6mOONUc="
},
"Emmet-Pascal": {
"owner": "Alexey-T",
"rev": "2023.08.12",
"hash": "sha256-s9ZKrL+XIWIwejnLz+uuyDbbDuOZLJhiuiMChKB4Reg="
},
"CudaText-lexers": {
"owner": "Alexey-T",
"rev": "2021.07.09",
"hash": "sha256-OyC85mTMi9m5kbtx8TAK2V4voL1i+J+TFoLVwxlHiD4="
},
"bgrabitmap": {
"owner": "bgrabitmap",
"rev": "v11.5.6",
"hash": "sha256-7TuHCCaH8/RxiVQmDILPW4T6op/XW6djwA5iSh/Yb5w="
}
}

View File

@@ -55,7 +55,9 @@ mapAliases (
mind-nvim = throw "'vimPlugins.mind-nvim' has been removed: the upstream repository got deleted"; # Added 2026-05-03
minsnip-nvim = throw "'vimPlugins.minsnip-nvim' has been removed: the upstream repository got deleted"; # Added 2025-08-30
neuron-nvim = throw "'vimPlugins.neuron-nvim' has been removed: archived repository 2023-02-19"; # Added 2025-09-10
null-ls-nvim = throw "'vimPlugins.null-ls-nvim' has been removed: upstream deleted repository. Use none-ls-nvim instead."; # Added 2026-06-15
nvim-gps = throw "'vimPlugins.nvim-gps' has been archived since 2022. Use nvim-navic instead."; # Added 2025-12-18
nvim-lsp-ts-utils = throw "'vimPlugins.nvim-lsp-ts-utils' has been removed: upstream deleted repository"; # Added 2026-06-15
nvim-ts-rainbow = throw "'vimPlugins.nvim-ts-rainbow' has been deprecated: Use rainbow-delimiters-nvim"; # Added 2023-11-30
nvim-ts-rainbow2 = throw "'vimPlugins.nvim-ts-rainbow2' has been deprecated: Use rainbow-delimiters-nvim"; # Added 2023-11-30
peskcolor-vim = throw "'vimPlugins.peskcolor-vim' has been removed: abandoned by upstream"; # Added 2024-08-23
@@ -69,6 +71,7 @@ mapAliases (
sparkup = throw "'vimPlugins.sparkup' was removed: the upstream repository got deleted"; # Added 2025-08-06
syntax-tree-surfer = throw "'vimPlugins.syntax-tree-surfer' has been archived"; # Added 2025-12-18
todo-nvim = throw "'vimPlugins.todo-nvim' has been removed: abandoned by upstream"; # Added 2023-08-23
typescript-nvim = throw "'vimPlugins.typescript-nvim' has been removed: upstream deleted repository"; # Added 2026-06-15
vim-csharp = throw "'vimPlugins.vim-csharp' has been removed: repository deleted"; # Added 2026-05-12
vim-sourcetrail = throw "'vimPlugins.vim-sourcetrail' has been removed: abandoned by upstream"; # Added 2022-08-14
# keep-sorted end

View File

@@ -446,12 +446,12 @@ final: prev: {
SchemaStore-nvim = buildVimPlugin {
pname = "SchemaStore.nvim";
version = "0-unstable-2026-06-10";
version = "0-unstable-2026-06-14";
src = fetchFromGitHub {
owner = "b0o";
repo = "SchemaStore.nvim";
rev = "961c2a806abf56d4e100713ec9dc71d2c8d9d022";
hash = "sha256-p4YkQeJybRAbZ2zwK39rm/0Q5iSJqYlhJde7bXV6J/Y=";
rev = "3dca2d2153cfbc9aab937c1be0441e371101b0b8";
hash = "sha256-TBm3EG55pAQIR4cPHuiu4bK5/oRblnAxxzX7u07rpBE=";
};
meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -924,12 +924,12 @@ final: prev: {
amp-nvim = buildVimPlugin {
pname = "amp.nvim";
version = "0-unstable-2025-12-15";
version = "0-unstable-2026-06-12";
src = fetchFromGitHub {
owner = "ampcode";
repo = "amp.nvim";
rev = "3b9ad5ef0328de1b35cc9bfa723a37db5daf9434";
hash = "sha256-f/li32jpVigbZANnnbgSArnOH4nusj0DUz7952K+Znw=";
rev = "b851d97d8e8782e58343608d8de7d9eb3a88090f";
hash = "sha256-SdpKR1hfSyJ25tD7G1u4wYOHRNyeuTKbdMKG80iCUB4=";
};
meta.homepage = "https://github.com/ampcode/amp.nvim/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -1050,12 +1050,12 @@ final: prev: {
artio-nvim = buildVimPlugin {
pname = "artio.nvim";
version = "0-unstable-2026-05-04";
version = "0-unstable-2026-06-14";
src = fetchFromGitHub {
owner = "comfysage";
repo = "artio.nvim";
rev = "0b08d6862afe685fd78963808d022d7c15c89546";
hash = "sha256-SrYZPFBQVJgm0X/CzyOOTfDwgNBIrjH+jlW6K8aE2Ec=";
rev = "ff2b4351004f3b512525276d554dc6f0cd412a14";
hash = "sha256-6wEtjgF36RfaHBanNp49Nb/+WR/b9qElUpV7SNbpESU=";
};
meta.homepage = "https://github.com/comfysage/artio.nvim/";
meta.license = getLicenseFromSpdxId "EUPL-1.2";
@@ -1120,12 +1120,12 @@ final: prev: {
async-nvim = buildVimPlugin {
pname = "async.nvim";
version = "0-unstable-2026-06-10";
version = "0-unstable-2026-06-11";
src = fetchFromGitHub {
owner = "lewis6991";
repo = "async.nvim";
rev = "f72017409d703ecf25972a05c6f89acb31adb952";
hash = "sha256-E8ZS7m2QejmImzmQ+wrgSUlC2x4tkMHv7xGt+XDqcXQ=";
rev = "e2a813be9cd143ab1181de6d8a0720e0230cd86e";
hash = "sha256-b7jE3tY+6nlbIFTuOxKz4w6jDw7hlyvgBYy0Jg6McAc=";
};
meta.homepage = "https://github.com/lewis6991/async.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -2030,12 +2030,12 @@ final: prev: {
blink-indent = buildVimPlugin {
pname = "blink.indent";
version = "2.1.2";
version = "2.2.0";
src = fetchFromGitHub {
owner = "Saghen";
repo = "blink.indent";
tag = "v2.1.2";
hash = "sha256-SS66JZFCX8viYxYaObASlwtrG5h7yHbVvRBVXBNXkng=";
tag = "v2.2.0";
hash = "sha256-x4nILac79C60FVsMQiWqlU1FjM891W5U9UZWwGAjnk0=";
};
meta.homepage = "https://github.com/Saghen/blink.indent/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -2547,12 +2547,12 @@ final: prev: {
claudecode-nvim = buildVimPlugin {
pname = "claudecode.nvim";
version = "0.3.0-unstable-2026-06-09";
version = "0.3.0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "coder";
repo = "claudecode.nvim";
rev = "7b8b7090c16f4151401a281741a4bf37050ebd26";
hash = "sha256-NHhoAqCTa1+go+DYFj25eH0ZDmAqbA9tpHtj3IarCUU=";
rev = "2ee26319eb0c101fb2a6da1c9d6650dfa39363da";
hash = "sha256-wf+O0PxSoslPkpn1owN2jGUiH0zN7o7hWcKAb6Pd5ns=";
};
meta.homepage = "https://github.com/coder/claudecode.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -2631,12 +2631,12 @@ final: prev: {
cmake-tools-nvim = buildVimPlugin {
pname = "cmake-tools.nvim";
version = "0-unstable-2026-06-05";
version = "0-unstable-2026-06-14";
src = fetchFromGitHub {
owner = "Civitasv";
repo = "cmake-tools.nvim";
rev = "38f320fb9f0c4c9f1019f412f561c4d370a94d23";
hash = "sha256-U8lLK5FzeOiJVUI0Y3AQ7TM+21tegMnnRbn18c7yXfc=";
rev = "98cdc162572a7b77733030425d8d045d68f2a1fd";
hash = "sha256-juAaEd08WGmI3ipfKMUbeTmLDK6nCOx/omCbRopIMHE=";
};
meta.homepage = "https://github.com/Civitasv/cmake-tools.nvim/";
meta.license = getLicenseFromSpdxId "GPL-3.0-only";
@@ -3484,12 +3484,12 @@ final: prev: {
coc-nvim = buildVimPlugin {
pname = "coc.nvim";
version = "0.0.82-unstable-2026-06-08";
version = "0.0.82-unstable-2026-06-12";
src = fetchFromGitHub {
owner = "neoclide";
repo = "coc.nvim";
rev = "92ab906cab1e6b19ad03f754df4f3930f9eae22c";
hash = "sha256-c0ChbihCajCuEh1hu5XOFtomiFA6OzbCl7eNpzPfBXM=";
rev = "207dc0f4feb2fc5db54bf4f7b6fea9b21168c293";
hash = "sha256-3dGV25DHXSt40N/X2XyaCg5rzgP3cxjoGHJx/ZwRt0o=";
};
meta.homepage = "https://github.com/neoclide/coc.nvim/";
meta.license = unfree;
@@ -3568,12 +3568,12 @@ final: prev: {
codecompanion-nvim = buildVimPlugin {
pname = "codecompanion.nvim";
version = "19.15.0";
version = "19.16.0";
src = fetchFromGitHub {
owner = "olimorris";
repo = "codecompanion.nvim";
tag = "v19.15.0";
hash = "sha256-M/2pkFeL+sWwrXiCcE38WWmPb73kdCwC8AWg3ldScY0=";
tag = "v19.16.0";
hash = "sha256-EUzpQYHEtIP5pVdhsUNWF0Gv7PegMVd25j9WC3Knsq4=";
};
meta.homepage = "https://github.com/olimorris/codecompanion.nvim/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -3582,12 +3582,12 @@ final: prev: {
codecompanion-spinner-nvim = buildVimPlugin {
pname = "codecompanion-spinner.nvim";
version = "0.2.5";
version = "0.3.0";
src = fetchFromGitHub {
owner = "franco-ruggeri";
repo = "codecompanion-spinner.nvim";
tag = "v0.2.5";
hash = "sha256-QSkiyV70kFkArCnTXYRR+Dt4i5XSq072tYnOnHbKEBc=";
tag = "v0.3.0";
hash = "sha256-icFyR0q814mfLj+wT3ArSYwo50EWpn9BgI81qhbQDCQ=";
};
meta.homepage = "https://github.com/franco-ruggeri/codecompanion-spinner.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -4073,12 +4073,12 @@ final: prev: {
copilot-lua = buildVimPlugin {
pname = "copilot.lua";
version = "2.0.4";
version = "3.0.0";
src = fetchFromGitHub {
owner = "zbirenbaum";
repo = "copilot.lua";
tag = "v2.0.4";
hash = "sha256-+hQ4Og0ZZS/tvs4z5733qRu5+W4D24HgHHPIL5vd0Eo=";
tag = "v3.0.0";
hash = "sha256-xjdTysyt7BMb8a9c2HPQN85EujhQv9ZCQ87yWHjELls=";
};
meta.homepage = "https://github.com/zbirenbaum/copilot.lua/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -4171,12 +4171,12 @@ final: prev: {
coq_nvim = buildVimPlugin {
pname = "coq_nvim";
version = "0-unstable-2026-06-10";
version = "0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "ms-jpq";
repo = "coq_nvim";
rev = "5054268e58e9e45dbdae598c2d7cca232085d2ce";
hash = "sha256-SxffEztUDSXp1skO52Pi8XQCinWwFbw34Nn3cvC9GW8=";
rev = "7911f272700449891cbe79e3f87690c4ac638c91";
hash = "sha256-kP+LrA9Rs0Kfx8eTJ0Cpt5Yg/7RDZS8Ujkm7M8D2pHM=";
};
meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
meta.license = getLicenseFromSpdxId "GPL-3.0-only";
@@ -4591,12 +4591,12 @@ final: prev: {
ddc-source-lsp = buildVimPlugin {
pname = "ddc-source-lsp";
version = "1.2.0-unstable-2026-05-24";
version = "1.2.0-unstable-2026-06-12";
src = fetchFromGitHub {
owner = "Shougo";
repo = "ddc-source-lsp";
rev = "a8fef26851f3b648e064fa3aeb7c8c054684e846";
hash = "sha256-vB3sCEJw67kJLON+AXo6B/38jBAFq079EouVxaI9QlQ=";
rev = "7718b6d9539ebddc18e961f90ff1aca7975ffe5c";
hash = "sha256-2JVCuFXc6mtXUDEB1lVgWC2q38kvwr9tyjKO/Z4iY9k=";
};
meta.homepage = "https://github.com/Shougo/ddc-source-lsp/";
meta.license = unfree;
@@ -5181,12 +5181,12 @@ final: prev: {
diagram-nvim = buildVimPlugin {
pname = "diagram.nvim";
version = "0-unstable-2026-02-21";
version = "0-unstable-2026-06-12";
src = fetchFromGitHub {
owner = "3rd";
repo = "diagram.nvim";
rev = "89d8110ec15021ac9a03ff2317d27b900c45bf60";
hash = "sha256-0KgZ/3q26b7MxMPRXp4/mgfl7tIUD3PnC6TYgagDGP4=";
rev = "a221810b17cdda2d5fdddba9bab3eba6fab8fabc";
hash = "sha256-+K5o50CtBFqn37t6GnAnI1p2CfCyA1w4TIhMKpfZX4A=";
};
meta.homepage = "https://github.com/3rd/diagram.nvim/";
meta.license = unfree;
@@ -5209,12 +5209,12 @@ final: prev: {
diffs-nvim = buildVimPlugin {
pname = "diffs.nvim";
version = "0.3.3";
version = "0.4.0";
src = fetchFromGitHub {
owner = "barrettruth";
repo = "diffs.nvim";
tag = "v0.3.3";
hash = "sha256-g/kXdeNT2NLgQ+iPTI1GdlJyzvSHrcJoCLa0tPDj3gM=";
tag = "v0.4.0";
hash = "sha256-ZkdvFn5oIlHfXXbO68GxtLrVkF2vxYlG8Fglrkc3Byc=";
};
meta.homepage = "https://github.com/barrettruth/diffs.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -5237,12 +5237,12 @@ final: prev: {
diffview-plus-nvim = buildVimPlugin {
pname = "diffview-plus.nvim";
version = "0.34";
version = "0.35";
src = fetchFromGitHub {
owner = "dlyongemallo";
repo = "diffview-plus.nvim";
tag = "v0.34";
hash = "sha256-M3Hf4y9HGFquBOK/Stv5FIxoVYX4aoO4dbbYQNPhisk=";
tag = "v0.35";
hash = "sha256-yoxylfQjTRrN95w+pgkBWLquBdb4knB5Sjplk2rcKVs=";
};
meta.homepage = "https://github.com/dlyongemallo/diffview-plus.nvim/";
meta.license = unfree;
@@ -5419,12 +5419,12 @@ final: prev: {
easy-dotnet-nvim = buildVimPlugin {
pname = "easy-dotnet.nvim";
version = "0-unstable-2026-06-09";
version = "0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "GustavEikaas";
repo = "easy-dotnet.nvim";
rev = "5c9577f6fc086e211ccc7d93b763e9a5ace4e64b";
hash = "sha256-E+f0SHaTN8FI3gEs4t+6NuS5xn45kneK39kSam+Ya9M=";
rev = "70f29290cad01cdcbdb03941034a95e5ef9fc365";
hash = "sha256-4fqj9U24NizLuEWs5sL2MZXyGmznTTV0dmmZgZ0zdmA=";
};
meta.homepage = "https://github.com/GustavEikaas/easy-dotnet.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -6334,12 +6334,12 @@ final: prev: {
pname = "fyler.nvim";
version = "2.0.0-unstable-2025-11-23";
src = fetchFromGitHub {
owner = "A7Lavinraj";
owner = "FylerOrg";
repo = "fyler.nvim";
rev = "bb8b9f30c652c948d35211958b0deec3496bcc08";
hash = "sha256-Caf1dJiIATbs0PNjSANjA3QgHg7PdeMz9Pjoc0Ti7G4=";
};
meta.homepage = "https://github.com/A7Lavinraj/fyler.nvim/";
meta.homepage = "https://github.com/FylerOrg/fyler.nvim/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
meta.hydraPlatforms = [ ];
};
@@ -6388,12 +6388,12 @@ final: prev: {
fzf-vim = buildVimPlugin {
pname = "fzf.vim";
version = "0-unstable-2026-06-02";
version = "0-unstable-2026-06-12";
src = fetchFromGitHub {
owner = "junegunn";
repo = "fzf.vim";
rev = "356608e2ae5d9127e2c964885ea2b21ea7aea9ab";
hash = "sha256-3u6E8HgLVwAk75fOAWP1zrRb54N4YG6MbRDrKpn7bdw=";
rev = "d2a59a992a2455f609c0fde2ebd84427ea8f919a";
hash = "sha256-TQR+ivA4nnichGdCDSeL2WeT+dHfNeQM1BPdrXM0Cd8=";
};
meta.homepage = "https://github.com/junegunn/fzf.vim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -7073,12 +7073,12 @@ final: prev: {
guh-nvim = buildVimPlugin {
pname = "guh.nvim";
version = "0.0.1-unstable-2026-06-10";
version = "0.0.1-unstable-2026-06-14";
src = fetchFromGitHub {
owner = "justinmk";
repo = "guh.nvim";
rev = "89bca23616361fa316c72b1171bc7aa3401800be";
hash = "sha256-HEDQMSbWWg7UEru+hf0cT+7KbIMi1r1cU5YcgaBLq/E=";
rev = "92ffef63af03b7188b8d11e052eaa3822b59820c";
hash = "sha256-5vAyerfY08J0J4qQY5vPmNRRjDQGv2B+nUxIgs6I1DQ=";
};
meta.homepage = "https://github.com/justinmk/guh.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -8418,12 +8418,12 @@ final: prev: {
koda-nvim = buildVimPlugin {
pname = "koda.nvim";
version = "2.10.3";
version = "2.11.0";
src = fetchFromGitHub {
owner = "oskarnurm";
repo = "koda.nvim";
tag = "v2.10.3";
hash = "sha256-CU634QzBkPRVntJ/fKBu/V0WNQ7K9fzqOtMIUEb9/Vw=";
tag = "v2.11.0";
hash = "sha256-OiWW7c+cd/MioepNN40pFO3hTAm9ov80I1mVYmTW428=";
};
meta.homepage = "https://github.com/oskarnurm/koda.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -8458,21 +8458,6 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
kulala-nvim = buildVimPlugin {
pname = "kulala.nvim";
version = "6.9.2";
src = fetchFromGitHub {
owner = "mistweaverco";
repo = "kulala.nvim";
tag = "v6.9.2";
hash = "sha256-7q/lV939qxozpsE0SM272ztSdzqIDuAdrgXSITCDLko=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/mistweaverco/kulala.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
meta.hydraPlatforms = [ ];
};
lackluster-nvim = buildVimPlugin {
pname = "lackluster.nvim";
version = "0-unstable-2025-10-06";
@@ -9580,12 +9565,12 @@ final: prev: {
mason-lspconfig-nvim = buildVimPlugin {
pname = "mason-lspconfig.nvim";
version = "2.2.0";
version = "2.3.0";
src = fetchFromGitHub {
owner = "mason-org";
repo = "mason-lspconfig.nvim";
tag = "v2.2.0";
hash = "sha256-wWoRUg2nvmqaEWxjYEOk1q+jQyKupgJi2LubhewcVCw=";
tag = "v2.3.0";
hash = "sha256-yaR7P33ZQdJNAh0P3slN/TS0OL9p6ShMEIWGF4rFqxQ=";
};
meta.homepage = "https://github.com/mason-org/mason-lspconfig.nvim/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -9608,12 +9593,12 @@ final: prev: {
mason-nvim = buildVimPlugin {
pname = "mason.nvim";
version = "2.3.0";
version = "2.3.1";
src = fetchFromGitHub {
owner = "mason-org";
repo = "mason.nvim";
tag = "v2.3.0";
hash = "sha256-O+11o3c0iNZ4tMZV80QbzwuMV3mP2Ml4lXQKHz4uR54=";
tag = "v2.3.1";
hash = "sha256-zx45l5yZeWgnkzaQeY+V3GK84arritj7jfpJ64Go9rg=";
};
meta.homepage = "https://github.com/mason-org/mason.nvim/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -10014,12 +9999,12 @@ final: prev: {
mini-diff = buildVimPlugin {
pname = "mini.diff";
version = "0.17.0-unstable-2026-05-19";
version = "0.17.0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "nvim-mini";
repo = "mini.diff";
rev = "5af2b6be4a4beb673f3196a414f6fd932bbedd48";
hash = "sha256-DVvZOwUQCT/TGfkdy65BjH7gPPDIQ9ib2VCqOPzG5fs=";
rev = "05be51814a718e74244829754a2a900a430a8d8b";
hash = "sha256-B7Z7rYEnxWTl09oO2fXtRFKdGVYwRCY3B7hsgj5kNzE=";
};
meta.homepage = "https://github.com/nvim-mini/mini.diff/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -10126,12 +10111,12 @@ final: prev: {
mini-icons = buildVimPlugin {
pname = "mini.icons";
version = "0.17.0-unstable-2026-05-19";
version = "0.17.0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "nvim-mini";
repo = "mini.icons";
rev = "520995f1d75da0e4cc901ee95080b1ff2bc46b94";
hash = "sha256-Q61iFTDA2groQu3qMNJu0yuVnB6NtsGNihpGD5ppeuI=";
rev = "d48ad47359218d2b019034f95f601b3861180885";
hash = "sha256-sDW/9Y5MhzvklkiW7XmrDslCCGDcYliJ5awgj1Ko558=";
};
meta.homepage = "https://github.com/nvim-mini/mini.icons/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -10154,12 +10139,12 @@ final: prev: {
mini-input = buildVimPlugin {
pname = "mini.input";
version = "0-unstable-2026-06-07";
version = "0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "nvim-mini";
repo = "mini.input";
rev = "44477bc40a1d9556decab08cd0e13187f9d909e4";
hash = "sha256-ex0BKThn97+lnWm6EaI4JuCViQ7B6na+n5yCX9OJavU=";
rev = "d97776877c2dadbc7b5830d47eefa99e33e48cb1";
hash = "sha256-fOILbrCQciZtMTKtLzXtFKghc/ocR09szG7yyPaunFs=";
};
meta.homepage = "https://github.com/nvim-mini/mini.input/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -10224,12 +10209,12 @@ final: prev: {
mini-misc = buildVimPlugin {
pname = "mini.misc";
version = "0.17.0-unstable-2026-05-28";
version = "0.17.0-unstable-2026-06-11";
src = fetchFromGitHub {
owner = "nvim-mini";
repo = "mini.misc";
rev = "eb2246ede307fc863a12e9d9b0fa4b7ca9b88188";
hash = "sha256-gX1li7+jJq0/I0rT13aJsBIbFFrufJIFhz2bFGGy+mw=";
rev = "317e20ad3bdf0f4535f9a7efdae7fbe5c4439f29";
hash = "sha256-arVLHeI7ON1pMTNq1D17XqQdWZHRMrNKwnYXUb1PWNM=";
};
meta.homepage = "https://github.com/nvim-mini/mini.misc/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -10266,12 +10251,12 @@ final: prev: {
mini-nvim = buildVimPlugin {
pname = "mini.nvim";
version = "0.17.0-unstable-2026-06-07";
version = "0.17.0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "nvim-mini";
repo = "mini.nvim";
rev = "ff8b3580935818ef2f21bdd651f057a2ae071eab";
hash = "sha256-wVRhe2ufPG/2DRtJGyAAhoCOTX8CLB2zZ8TQOQz9TqQ=";
rev = "7ed410c73ebb910754c2938a6dae50c51c3a096a";
hash = "sha256-yyJ0BwKMOi+c2WODEUnlRB5iz+3i4u8G7zL4mtayRMQ=";
};
meta.homepage = "https://github.com/nvim-mini/mini.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -10308,12 +10293,12 @@ final: prev: {
mini-pick = buildVimPlugin {
pname = "mini.pick";
version = "0.17.0-unstable-2026-06-06";
version = "0.17.0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "nvim-mini";
repo = "mini.pick";
rev = "1ffba38c7221669d3da7792d4bbe1c9761075f4d";
hash = "sha256-N/RdA7mEno3E5D4c9gxm9ZIlzAz3f7CPAJbyGEiECBM=";
rev = "f8ea97c5e89cc923f466e0706046eaa3988f246c";
hash = "sha256-ZQcB/4D0xVAJswotuSFOspFFHs1BtrHvCF0uDv1yhr0=";
};
meta.homepage = "https://github.com/nvim-mini/mini.pick/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -10336,12 +10321,12 @@ final: prev: {
mini-snippets = buildVimPlugin {
pname = "mini.snippets";
version = "0.17.0-unstable-2026-05-19";
version = "0.17.0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "nvim-mini";
repo = "mini.snippets";
rev = "9a08aa14e02abb790c823a622d7d6c736cbbe65a";
hash = "sha256-1w8t2ANiBue7mNk5QYhi8aBHGGNvIbrKPQgGqGO0RqI=";
rev = "c59e203fef0de69b8cb67edb07b4fc10d455bb44";
hash = "sha256-5auuFMTQGO4gSUadW4iSwAZDZYyKBHZVAJCJjXDO1yI=";
};
meta.homepage = "https://github.com/nvim-mini/mini.snippets/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -11022,12 +11007,12 @@ final: prev: {
neoconf-nvim = buildVimPlugin {
pname = "neoconf.nvim";
version = "1.4.0-unstable-2026-06-10";
version = "1.4.0-unstable-2026-06-12";
src = fetchFromGitHub {
owner = "folke";
repo = "neoconf.nvim";
rev = "3a0a976a10cba0ff9d9406e4652755881321ecf9";
hash = "sha256-hPv22eaPTY0UKoCxOXq/D1eUGOomAc8D0CB5mRs1ueQ=";
rev = "0748437c07b5e7fd19af738ed0562479381424b1";
hash = "sha256-rCYdnx//W0m20ph62PEwdMcx8xd0ZIlATBxjlZARjJ4=";
};
meta.homepage = "https://github.com/folke/neoconf.nvim/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -11106,12 +11091,12 @@ final: prev: {
neogit = buildVimPlugin {
pname = "neogit";
version = "3.0.0-unstable-2026-05-13";
version = "3.0.0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "NeogitOrg";
repo = "neogit";
rev = "99326a1310fb2d616b455d2fd16d01bf00682f06";
hash = "sha256-ZKK4JbeuMGYvUjG1B6vLZTeSMeQTXQGFQAlIMqqN660=";
rev = "5d1b65d6215928e941e1a6a4e76e02fd45ada31f";
hash = "sha256-K7AtBKS2b77pjfdxb11A7U7ED+XTjn4W8ajk//8U7TA=";
};
meta.homepage = "https://github.com/NeogitOrg/neogit/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -11487,12 +11472,12 @@ final: prev: {
neotest-java = buildVimPlugin {
pname = "neotest-java";
version = "0.37.3";
version = "0.38.0";
src = fetchFromGitHub {
owner = "rcasia";
repo = "neotest-java";
tag = "v0.37.3";
hash = "sha256-ALVudtC49gAQOGwucOh7zvhbUyZX0lTGyizhn+QCPl4=";
tag = "v0.38.0";
hash = "sha256-R24mbFbYTH166gq8EZOuLDZ7dA2Yhjmrc77K2os5jtE=";
};
meta.homepage = "https://github.com/rcasia/neotest-java/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -12184,20 +12169,6 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
null-ls-nvim = buildVimPlugin {
pname = "null-ls.nvim";
version = "0-unstable-2023-08-12";
src = fetchFromGitHub {
owner = "jose-elias-alvarez";
repo = "null-ls.nvim";
rev = "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7";
hash = "sha256-cWA0rzkOp/ekVKaFee7iea1lhnqKtWUIU+fW5M950wI=";
};
meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
meta.license = unfree;
meta.hydraPlatforms = [ ];
};
numb-nvim = buildVimPlugin {
pname = "numb.nvim";
version = "1.1.0";
@@ -12521,11 +12492,11 @@ final: prev: {
nvim-dap-disasm = buildVimPlugin {
pname = "nvim-dap-disasm";
version = "0-unstable-2026-02-25";
version = "0-unstable-2026-06-14";
src = fetchgit {
url = "https://codeberg.org/Jorenar/nvim-dap-disasm";
rev = "1119f3f2b22e411adcd123cdcf6d0425b61a31a7";
hash = "sha256-lq0tbMksVXccf6GGD7OxWAuoD9w8tlt30dpJSMtN4g8=";
rev = "b86a1e3f03f268635f9b362ccc8ffa5f240dd25d";
hash = "sha256-hkoFEH8UoAzWOue1YTrHCQn7/N54fXsHpOZ5xAaSbIw=";
};
meta.homepage = "https://codeberg.org/Jorenar/nvim-dap-disasm";
meta.license = unfree;
@@ -12687,12 +12658,12 @@ final: prev: {
nvim-docs-view = buildVimPlugin {
pname = "nvim-docs-view";
version = "0-unstable-2026-05-08";
version = "0-unstable-2026-06-11";
src = fetchFromGitHub {
owner = "amrbashir";
repo = "nvim-docs-view";
rev = "9a262fa7e181e924d355e8725c68c48f076138b1";
hash = "sha256-zsrrsTIpjRqDS/NXQH7TA6CjZj3PK8kstD9EB4omSGw=";
rev = "a1696d058a4223d8c3615bb305abfa638c5689a9";
hash = "sha256-Ws/s3tgFTZczTVDjagBSY2bfso7oWRFB4oy/Y3DFdEA=";
};
meta.homepage = "https://github.com/amrbashir/nvim-docs-view/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -12757,12 +12728,12 @@ final: prev: {
nvim-gdb = buildVimPlugin {
pname = "nvim-gdb";
version = "0-unstable-2026-05-08";
version = "0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "sakhnik";
repo = "nvim-gdb";
rev = "3ea9e52a7be60373a127be9dcc94773bc1d6e25c";
hash = "sha256-y8dxr4xAOX7+PKCd2h3iMlmWZtmBr9Wp6ecjAYFtunc=";
rev = "67abac716b626ece57f3a7c72121542f0b3edfe9";
hash = "sha256-6MnwKYvOL3b0hKOnLTvdRYrZkZBYt4XAK2jlFw+DfTM=";
};
meta.homepage = "https://github.com/sakhnik/nvim-gdb/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -13116,20 +13087,6 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
nvim-lsp-ts-utils = buildVimPlugin {
pname = "nvim-lsp-ts-utils";
version = "0-unstable-2022-07-17";
src = fetchFromGitHub {
owner = "jose-elias-alvarez";
repo = "nvim-lsp-ts-utils";
rev = "0a6a16ef292c9b61eac6dad00d52666c7f84b0e7";
hash = "sha256-38YOgLDtku2BPCaNEmX0555x1QmHuuDSCZL274bBhcg=";
};
meta.homepage = "https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/";
meta.license = getLicenseFromSpdxId "Unlicense";
meta.hydraPlatforms = [ ];
};
nvim-lspconfig = buildVimPlugin {
pname = "nvim-lspconfig";
version = "2.10.0";
@@ -13706,12 +13663,12 @@ final: prev: {
nvim-tree-lua = buildVimPlugin {
pname = "nvim-tree.lua";
version = "1.17.0-unstable-2026-06-08";
version = "1.17.0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "nvim-tree";
repo = "nvim-tree.lua";
rev = "82f58063d67defc620e1ef8be606fc62a7b5dc1e";
hash = "sha256-JfOkJkTGVWPw7dhcbDNPsyeNbidrtIvzJhPYUQJ1NoY=";
rev = "fb343438d49fba8c35ecc4829d66fca7a1f0ed3d";
hash = "sha256-JhLDjrRqY/vWN+R6suVvMZLkZQkLq5IpSFwPojkYYqg=";
};
meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
meta.license = unfree;
@@ -14434,12 +14391,12 @@ final: prev: {
opencode-nvim = buildVimPlugin {
pname = "opencode.nvim";
version = "0.11.0";
version = "0.13.1";
src = fetchFromGitHub {
owner = "nickjvandyke";
repo = "opencode.nvim";
tag = "v0.11.0";
hash = "sha256-i6Ty/TXy9Ph6Ex39qumfgH7ArenH159EHy1UFvNBJfI=";
tag = "v0.13.1";
hash = "sha256-RusMzeU22v4Lnx1n7q3uucLI6AFVk1AUE+IvpDlvuLw=";
};
meta.homepage = "https://github.com/nickjvandyke/opencode.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -15500,12 +15457,12 @@ final: prev: {
refactoring-nvim = buildVimPlugin {
pname = "refactoring.nvim";
version = "0-unstable-2026-05-26";
version = "0-unstable-2026-06-12";
src = fetchFromGitHub {
owner = "theprimeagen";
repo = "refactoring.nvim";
rev = "624c01e8175901484eac74512baf35e9dfe269b8";
hash = "sha256-PPGSMbLVHLghqaVfRsViw7gYHrL4RtiH0Svw8H65TpE=";
rev = "7eaa150061ea18fdbe18fbb924d236e3ddccc57d";
hash = "sha256-CMnRH1M4/ha+QEGGCcuVXwRFSs69O6VycJlKMFYh6CI=";
};
meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -15906,12 +15863,12 @@ final: prev: {
scnvim = buildVimPlugin {
pname = "scnvim";
version = "0-unstable-2026-04-20";
version = "0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "davidgranstrom";
repo = "scnvim";
rev = "ec347b24168ac922de4dcddc181efd2fcdcfa0d0";
hash = "sha256-cqZF3b+DkOQUOSU502vGQx8RNzH4b97B9zqHO9v8IBI=";
rev = "b7d48851e98e6111ad62f94a3c3ddc9b037122e8";
hash = "sha256-k5a7d3exVXdjHuILfYIj6cinWoev8h6wYBlNXowuHsw=";
};
meta.homepage = "https://github.com/davidgranstrom/scnvim/";
meta.license = getLicenseFromSpdxId "GPL-3.0-only";
@@ -16004,12 +15961,12 @@ final: prev: {
searchbox-nvim = buildVimPlugin {
pname = "searchbox.nvim";
version = "0-unstable-2026-06-01";
version = "0-unstable-2026-06-13";
src = fetchFromGitHub {
owner = "VonHeikemen";
repo = "searchbox.nvim";
rev = "e66c850fbdebf493969da87e4f665acfb539b9c3";
hash = "sha256-3HFofdEzVK+kXENrll8rxq/Huyg8HhiDg8P7n0JFQXE=";
rev = "83a43dbc52d27755ab1a9f710a11c987f6a73813";
hash = "sha256-kUJZvXY1JbHvPUyq80nfP7aygi+ZtjcWGPCbsbvHLLQ=";
};
meta.homepage = "https://github.com/VonHeikemen/searchbox.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -16201,12 +16158,12 @@ final: prev: {
smart-splits-nvim = buildVimPlugin {
pname = "smart-splits.nvim";
version = "2.1.0-unstable-2026-06-05";
version = "2.1.0-unstable-2026-06-12";
src = fetchFromGitHub {
owner = "mrjones2014";
repo = "smart-splits.nvim";
rev = "6806149fd36d1c5e797debe3e18b2c07219b685a";
hash = "sha256-INxUHLtQBnnmbKBmQNgcdm4FxP5Amig2Q2s6pAub11U=";
rev = "501ea73e433246cbd53f0b14bbd205fa44831e4d";
hash = "sha256-P7XFoM3zZmlOrhRwiY3xJdJZuiIlJAgijLWukt6OHfI=";
};
meta.homepage = "https://github.com/mrjones2014/smart-splits.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -17085,12 +17042,12 @@ final: prev: {
tagbar = buildVimPlugin {
pname = "tagbar";
version = "3.1.1-unstable-2026-05-17";
version = "3.1.1-unstable-2026-06-14";
src = fetchFromGitHub {
owner = "preservim";
repo = "tagbar";
rev = "b37b05ff1925b0b3931f031ebf88690aa0974375";
hash = "sha256-Vqjq6ClXntfg2579MG37MQJWv6tN/4Y5/uuF4OqFMDQ=";
rev = "07cb8247487208124978daff8e13624667635457";
hash = "sha256-bezgPiUz5EKKjTLuP6SpWGRCEYo8VXGvoF96qhR0aF8=";
};
meta.homepage = "https://github.com/preservim/tagbar/";
meta.license = unfree;
@@ -18168,15 +18125,15 @@ final: prev: {
transparent-nvim = buildVimPlugin {
pname = "transparent.nvim";
version = "0-unstable-2025-06-22";
version = "0-unstable-2026-06-12";
src = fetchFromGitHub {
owner = "xiyaowong";
repo = "transparent.nvim";
rev = "8ac59883de84e9cd1850ea25cf087031c5ba7d54";
hash = "sha256-GlN7/+TmXld2UVPN2rDP7nKqbnswiezmGXn+uGK5I5c=";
rev = "e00ca1cf09caef575edf8da7e5a8b9193893b4c7";
hash = "sha256-VMWvh5QLV7y65SPEbKacrdL6WvHSF+z+LEaWugxqQOI=";
};
meta.homepage = "https://github.com/xiyaowong/transparent.nvim/";
meta.license = unfree;
meta.license = getLicenseFromSpdxId "MIT";
meta.hydraPlatforms = [ ];
};
@@ -18434,20 +18391,6 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
typescript-nvim = buildVimPlugin {
pname = "typescript.nvim";
version = "0-unstable-2023-08-12";
src = fetchFromGitHub {
owner = "jose-elias-alvarez";
repo = "typescript.nvim";
rev = "4de85ef699d7e6010528dcfbddc2ed4c2c421467";
hash = "sha256-tStomym4qd7IXj/ohYAc3akImNsOJdC7nQL+CkdMomc=";
};
meta.homepage = "https://github.com/jose-elias-alvarez/typescript.nvim/";
meta.license = getLicenseFromSpdxId "Unlicense";
meta.hydraPlatforms = [ ];
};
typescript-tools-nvim = buildVimPlugin {
pname = "typescript-tools.nvim";
version = "0-unstable-2025-11-18";
@@ -18758,12 +18701,12 @@ final: prev: {
vague-nvim = buildVimPlugin {
pname = "vague.nvim";
version = "2.1.2";
version = "2.1.3";
src = fetchFromGitHub {
owner = "vague-theme";
repo = "vague.nvim";
tag = "v2.1.2";
hash = "sha256-8y4Dc+AXx4+DmnOAYYD6Yyi0GDyI6fwdM4AKsmM5hZU=";
tag = "v2.1.3";
hash = "sha256-ULBLMmJQe93N3uOPx6h8wif+38g0OSC7haklfVJyZdA=";
};
meta.homepage = "https://github.com/vague-theme/vague.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -21882,12 +21825,12 @@ final: prev: {
vim-just = buildVimPlugin {
pname = "vim-just";
version = "0-unstable-2026-05-10";
version = "0-unstable-2026-06-12";
src = fetchFromGitHub {
owner = "NoahTheDuke";
repo = "vim-just";
rev = "6034ccf6a4682c91f90f38fae4c882068e6723fe";
hash = "sha256-3ytgSsTvtmq9jC2qyeBzKLK+x0UppyVODggcspDX7ZE=";
rev = "49f318424ed17fb8d49122daa39820fd6a2880f5";
hash = "sha256-r/YS0LFio0BNTCUh0nRrAndUfcJgYio+ADCoqq8NH8U=";
};
meta.homepage = "https://github.com/NoahTheDuke/vim-just/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -22190,12 +22133,12 @@ final: prev: {
vim-lsp-settings = buildVimPlugin {
pname = "vim-lsp-settings";
version = "0.0.1-unstable-2026-05-21";
version = "0.0.1-unstable-2026-06-11";
src = fetchFromGitHub {
owner = "mattn";
repo = "vim-lsp-settings";
rev = "1558bbaba4cbb593901e3dfc4d0f1a0cd212b09c";
hash = "sha256-wMF4y4eMz7UR50GpBvStDsQ0SpKUt48tll6rqEr6AHY=";
rev = "bffb50ffa688e651a3d4ad827c90b887d5c67200";
hash = "sha256-4AzLUvDTv8stTk2oKvjXetinK5YGx636TwP9yKdluZs=";
};
meta.homepage = "https://github.com/mattn/vim-lsp-settings/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -23940,11 +23883,11 @@ final: prev: {
vim-solarized8 = buildVimPlugin {
pname = "vim-solarized8";
version = "1.6.4-unstable-2026-03-11";
version = "1.6.4-unstable-2026-06-11";
src = fetchgit {
url = "https://codeberg.org/lifepillar/vim-solarized8/";
rev = "5dfbfb00be8237619c680302fc9250e391b1686a";
hash = "sha256-qJLlHsXKcLC+bpirfcuBj3igK9dDk8L9oVGPzWhtkEI=";
rev = "1cb22c68158a3e27cf5943052a4bd36c3dd4151c";
hash = "sha256-XPhiSwyV0A23e6NOEb8OejC68WtVVTL5A4YranlghZs=";
};
meta.homepage = "https://codeberg.org/lifepillar/vim-solarized8/";
meta.license = unfree;
@@ -25241,12 +25184,12 @@ final: prev: {
vimtex = buildVimPlugin {
pname = "vimtex";
version = "2.17-unstable-2026-05-26";
version = "2.17-unstable-2026-06-13";
src = fetchFromGitHub {
owner = "lervag";
repo = "vimtex";
rev = "24e229914182ff301496a3e2c4214b28c4928d3f";
hash = "sha256-y45zOpF68G51jVdCsa27iiDdw2YEmHZNgkIHDI62nAo=";
rev = "fedb7ffc1bebf254cc74e7419c3a5930b6719065";
hash = "sha256-h1GZnhQrm8c+e/vbecBwWbFj4QOX3TbagYp3Ea3tk/Q=";
};
meta.homepage = "https://github.com/lervag/vimtex/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -25535,12 +25478,12 @@ final: prev: {
wiki-vim = buildVimPlugin {
pname = "wiki.vim";
version = "0.11-unstable-2026-03-26";
version = "0.12";
src = fetchFromGitHub {
owner = "lervag";
repo = "wiki.vim";
rev = "44f266fc8ed6f8fbc6bae47ee1ca6ba32e5995f8";
hash = "sha256-wcoiv8lPBr/r4yMw4tO6SmNQ09f1SjFqWlNDat7oXDk=";
tag = "v0.12";
hash = "sha256-6562XAJFqmWUo/IzBI6Mmy2Jp1p9smwt4LV95X6Cf5w=";
};
meta.homepage = "https://github.com/lervag/wiki.vim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -25747,12 +25690,12 @@ final: prev: {
pname = "xeno.nvim";
version = "0-unstable-2025-10-23";
src = fetchFromGitHub {
owner = "kyzadev";
owner = "kyzabuilds";
repo = "xeno.nvim";
rev = "f70c22447c7d954973f35c10dd9e9942cd7fb2eb";
hash = "sha256-zTGclrlxThgqEvj8K3fQ87G98g3VDqvp/dCnZwSm4I8=";
};
meta.homepage = "https://github.com/kyzadev/xeno.nvim/";
meta.homepage = "https://github.com/kyzabuilds/xeno.nvim/";
meta.license = unfree;
meta.hydraPlatforms = [ ];
};

View File

@@ -15,6 +15,7 @@ let
"grug-far-nvim"
"haskell-tools-nvim"
"image-nvim"
"kulala-nvim"
"lsp-progress-nvim"
"lualine-nvim"
"luasnip"

View File

@@ -1656,7 +1656,8 @@ assertNoAdditions {
];
checkInputs = with self; [
luasnip
null-ls-nvim
none-ls-nvim
plenary-nvim
];
nvimSkipModules = [
"init"
@@ -2012,18 +2013,13 @@ assertNoAdditions {
let
kulala-http-grammar = neovimUtils.grammarToPlugin (
tree-sitter.buildGrammar {
inherit (old) version src meta;
language = "kulala_http";
location = "lua/tree-sitter";
inherit (luaPackages.tree-sitter-kulala_http) version src meta;
generate = false;
}
);
in
{
patches = (old.patches or [ ]) ++ [
./patches/kulala-nvim/use-packaged-tree-sitter-parser.patch
];
dependencies = [ kulala-http-grammar ];
postPatch = ''
@@ -2036,6 +2032,7 @@ assertNoAdditions {
"cli.kulala_cli"
# Upstream test harnesses are not require-safe modules
"minit"
"minit-userscript"
"minitest"
"test"
# Legacy parser module; active parsing is handled by kulala-core
@@ -2481,7 +2478,8 @@ assertNoAdditions {
mason-null-ls-nvim = super.mason-null-ls-nvim.overrideAttrs {
dependencies = with self; [
mason-nvim
null-ls-nvim
none-ls-nvim
plenary-nvim
];
};
@@ -3094,13 +3092,6 @@ assertNoAdditions {
dependencies = [ self.aniseed ];
};
null-ls-nvim = super.null-ls-nvim.overrideAttrs (old: {
dependencies = [ self.plenary-nvim ];
meta = old.meta // {
license = lib.licenses.unlicense;
};
});
nvchad = super.nvchad.overrideAttrs {
# You've signed up for a distro, providing dependencies.
dependencies = with self; [
@@ -4632,17 +4623,6 @@ assertNoAdditions {
runtimeDeps = [ television ];
};
typescript-nvim = super.typescript-nvim.overrideAttrs {
checkInputs = [
# Optional null-ls integration
self.none-ls-nvim
];
dependencies = with self; [
nvim-lspconfig
plenary-nvim
];
};
typescript-tools-nvim = super.typescript-tools-nvim.overrideAttrs {
dependencies = with self; [
nvim-lspconfig

View File

@@ -1,15 +0,0 @@
diff --git a/lua/kulala/config/init.lua b/lua/kulala/config/init.lua
index 7298f95..d781a12 100644
--- a/lua/kulala/config/init.lua
+++ b/lua/kulala/config/init.lua
@@ -122,6 +122,10 @@ local function setup_treesitter_master()
end
local function set_kulala_parser()
+ assert(vim.treesitter.language.add("kulala_http"))
+ vim.treesitter.language.register("kulala_http", { "http", "rest" })
+ do return end
+
local parsers = vim.F.npcall(require, "nvim-treesitter.parsers")
if not parsers then

View File

@@ -1,29 +0,0 @@
diff --git a/lua/kulala/config/parser.lua b/lua/kulala/config/parser.lua
index 5f37046..c60c474 100644
--- a/lua/kulala/config/parser.lua
+++ b/lua/kulala/config/parser.lua
@@ -37,7 +37,6 @@ local function sync_queries()
end
local function load_parser()
- if not Fs.file_exists(parser_target_path) then return false end
return vim.treesitter.language.add(parser_name) == true
end
@@ -48,7 +47,6 @@ M.register_parser = function()
-- queries/kulala_http/*.scm live under lua/tree-sitter/queries/
vim.opt.rtp:prepend(parser_source_path)
ensure_site_rtp()
- sync_queries()
vim.treesitter.language.register(parser_name, filetypes)
vim.treesitter.language.register("markdown", "kulala_ui")
local backend = require("kulala.backend")
@@ -94,7 +92,7 @@ local function has_kulala_parser()
end
M.is_up_to_date = function()
- return has_kulala_parser() and is_parser_ver_current()
+ return load_parser()
end
M.setup = function()

View File

@@ -450,7 +450,7 @@ https://github.com/shumphrey/fugitive-gitlab.vim/,,
https://github.com/BeneCollyridam/futhark-vim/,,
https://github.com/tzachar/fuzzy.nvim/,,
https://github.com/rktjmp/fwatch.nvim/,,
https://github.com/A7Lavinraj/fyler.nvim/,stable,
https://github.com/FylerOrg/fyler.nvim/,stable,
https://github.com/stsewd/fzf-checkout.vim/,,
https://github.com/monkoose/fzf-hoogle.vim/,,
https://github.com/gfanto/fzf-lsp.nvim/,,
@@ -602,7 +602,6 @@ https://github.com/frabjous/knap/,,
https://github.com/oskarnurm/koda.nvim/,,
https://github.com/b3nj5m1n/kommentary/,,
https://github.com/udalov/kotlin-vim/,,
https://github.com/mistweaverco/kulala.nvim/,,
https://github.com/slugbyte/lackluster.nvim/,,
https://github.com/qnighy/lalrpop.vim/,,
https://github.com/Wansmer/langmapper.nvim/,,
@@ -868,7 +867,6 @@ https://github.com/shaunsingh/nord.nvim/,,
https://github.com/alexvzyl/nordic.nvim/,,
https://github.com/vigoux/notifier.nvim/,,
https://github.com/jlesquembre/nterm.nvim/,,
https://github.com/jose-elias-alvarez/null-ls.nvim/,,
https://github.com/nacro90/numb.nvim/,,
https://github.com/nvchad/nvchad/,,
https://github.com/nvchad/ui/,,nvchad-ui
@@ -935,7 +933,6 @@ https://github.com/martineausimon/nvim-lilypond-suite/,,
https://codeberg.org/mfussenegger/nvim-lint/,,
https://github.com/antosha417/nvim-lsp-file-operations/,,
https://github.com/mrded/nvim-lsp-notify/,,
https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/,,
https://github.com/neovim/nvim-lspconfig/,,
https://github.com/RishabhRD/nvim-lsputils/,,
https://github.com/sam4llis/nvim-lua-gf/,,
@@ -1316,7 +1313,6 @@ https://github.com/alexpasmantier/tv.nvim/,,
https://github.com/folke/twilight.nvim/,,
https://github.com/pmizio/typescript-tools.nvim/,,
https://github.com/leafgarland/typescript-vim/,,
https://github.com/jose-elias-alvarez/typescript.nvim/,,
https://github.com/MrPicklePinosaur/typst-conceal.vim/,,
https://github.com/chomosuke/typst-preview.nvim/,,
https://github.com/kaarmu/typst.vim/,,
@@ -1836,7 +1832,7 @@ https://github.com/natecraddock/workspaces.nvim/,,
https://github.com/andrewferrier/wrapping.nvim/,,
https://github.com/tweekmonster/wstrip.vim/,,
https://github.com/piersolenski/wtf.nvim/,,
https://github.com/kyzadev/xeno.nvim/,,
https://github.com/kyzabuilds/xeno.nvim/,,
https://github.com/Mythos-404/xmake.nvim/,,
https://github.com/drmingdrmer/xptemplate/,,
https://github.com/guns/xterm-color-table.vim/,,

View File

@@ -1375,8 +1375,8 @@ let
mktplcRef = {
name = "competitive-programming-helper";
publisher = "DivyanshuAgrawal";
version = "2026.6.1780508121";
hash = "sha256-4kb7Nk+gctECMQM/cko+q1Bta1EKPXPEqyCQLBMkbEo=";
version = "2026.6.1780853884";
hash = "sha256-4nxH5qW3u3/9Vqf+QFs7l5BDusE5wcxxHiJFcPq/2EE=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/DivyanshuAgrawal.competitive-programming-helper/changelog";
@@ -5156,8 +5156,8 @@ let
mktplcRef = {
name = "vscode-java-pack";
publisher = "vscjava";
version = "0.31.0";
hash = "sha256-E0GJoITZIh2XemVpyPh3gAEtlvM2PZHgNzZDctSpwIA=";
version = "0.31.1";
hash = "sha256-SfrsL27uQyrtsNyqZe0q5Fv5sHMwRvBZ+iS6/JIpFVo=";
};
meta = {
description = "Popular extensions for Java development that provides Java IntelliSense, debugging, testing, Maven/Gradle support, project management and more";

View File

@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "fceumm";
version = "0-unstable-2026-05-06";
version = "0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "libretro";
repo = "libretro-fceumm";
rev = "3a84a6fd0ba20dd4877c06b1d58741172148395f";
hash = "sha256-4+kEoN0+SWl284n7tIR76aysf0GlLdxELDXfpEK6mi8=";
rev = "c0c52ad0eb36cdbfc66e9bdb72efc83103e85e22";
hash = "sha256-e81kpVUTz3l9wqCwN9Zf4LrnskPRW7Ewy78/1BApZlg=";
};
meta = {

View File

@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "gambatte";
version = "0-unstable-2026-06-05";
version = "0-unstable-2026-06-14";
src = fetchFromGitHub {
owner = "libretro";
repo = "gambatte-libretro";
rev = "6716e6ee39c2abd3ea325f66fb26e7f866f4c5dc";
hash = "sha256-sn8UWO1YR3qLpsR0dwpyy42L+QWrYpwO2lL4NqgUmWM=";
rev = "e99e1bd9b91de67ac12c77c3679c85447c26e8c8";
hash = "sha256-i5Bx5MstvwwKfH/Lmlj3jheQsbHP2BU8Ecpp3m5D8HA=";
};
meta = {

View File

@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "genesis-plus-gx";
version = "0-unstable-2026-06-05";
version = "0-unstable-2026-06-12";
src = fetchFromGitHub {
owner = "libretro";
repo = "Genesis-Plus-GX";
rev = "f2b40ca6c97b2ff7f70d3c00d7ace84200bb31eb";
hash = "sha256-mvPRDQpRFClcQS26ARf7Mp2eEhf8AbvDG9DdTGHOrlI=";
rev = "d046ec708d443ec7d9d38f757fa8e01099dd5c5a";
hash = "sha256-Q3eqYnoGAUcQOSt33lcQHHDqc7aLGcxaf+gcRUC4FGs=";
};
meta = {

View File

@@ -6,13 +6,13 @@
}:
mkLibretroCore {
core = "swanstation";
version = "0-unstable-2026-05-20";
version = "0-unstable-2026-06-14";
src = fetchFromGitHub {
owner = "libretro";
repo = "swanstation";
rev = "62697276b95848bd35b9c7b81daab899a98e0789";
hash = "sha256-jisW5Mk5PF3rxj9mF5FJXtktAKEAq2a6DUvCXBgri3E=";
rev = "93b213d805591c4f1488339c4a16f0b4cb68d44a";
hash = "sha256-l4HhejwOKE/bk9HFf2mDTDqc223m6UofTIF+BgMIDEw=";
};
extraNativeBuildInputs = [ cmake ];

View File

@@ -27,13 +27,13 @@
"vendorHash": null
},
"aiven_aiven": {
"hash": "sha256-Yevs7mUu5Mr9JBbPE8CIKufYCLKealbBXrNL+mRH2Yw=",
"hash": "sha256-LfchOoquLq6YwRqwWv+q4V2+0wRE1zehWddlwf3GItI=",
"homepage": "https://registry.terraform.io/providers/aiven/aiven",
"owner": "aiven",
"repo": "terraform-provider-aiven",
"rev": "v4.57.0",
"rev": "v4.58.0",
"spdx": "MIT",
"vendorHash": "sha256-ndIxcO14+NAKmRs9wVEE/HhBx9Wj4AwiMv+nus6BDK4="
"vendorHash": "sha256-0ttD+LdZaIKiVMRsck4o0ibKHpAGfYMSSOanUKq89Js="
},
"akamai_akamai": {
"hash": "sha256-M6Btq8wX1lsEs1HUaaTwGspnvS2IyE0L2ITe+ogDTlc=",
@@ -589,13 +589,13 @@
"vendorHash": "sha256-Ub+Dvddw5jcSy2hR72OSsy4EgHphhCW1kekPyrQGc9E="
},
"hashicorp_google-beta": {
"hash": "sha256-WsZY4O5kUoOkDcP2iKmkLo85XaBM2oQxaB/7ibJMDwA=",
"hash": "sha256-eqbMR7U6hBZ6eue7QTPeA1YeRBxk/XerbmZ+FP4oHQM=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
"owner": "hashicorp",
"repo": "terraform-provider-google-beta",
"rev": "v7.35.0",
"rev": "v7.36.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-CjrVDZpRlnPA1MnWEZdFyO3YzgaHqTsiw+kKOW+//2g="
"vendorHash": "sha256-JAxI/E8GlUZd3RlhsrIhGm4+G18/obms+czJORYCENY="
},
"hashicorp_helm": {
"hash": "sha256-Dw6khnp0pronRKbBv2gx8ygtVvRV9uQIHCXj2BblZ6k=",
@@ -661,13 +661,13 @@
"vendorHash": "sha256-CwTlb0QTq0lpZK90IL6mBLoarFYFLsjiLYauGEaR1Rk="
},
"hashicorp_tfe": {
"hash": "sha256-GRrtwrShJj+d2h6CpxjP+QmRKQLTWoNt5889ek9rfyE=",
"hash": "sha256-otBeETd3wrGdpDU4MbY+qyad7ZVaoljlphBNytB36BY=",
"homepage": "https://registry.terraform.io/providers/hashicorp/tfe",
"owner": "hashicorp",
"repo": "terraform-provider-tfe",
"rev": "v0.77.0",
"rev": "v0.78.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-DutNev1ABazfV6QOWMFsFc0QSkffARhaJ7RXTWG2Jyo="
"vendorHash": "sha256-PKAFhHCaeCtV1frMyCidCcJgWTA8/7Cbdq6h3RTeqAQ="
},
"hashicorp_time": {
"hash": "sha256-5+iPq2It3oFHPBHWshfIuNo1xkOPcuSYyljt6j+j7lg=",
@@ -842,11 +842,11 @@
"vendorHash": "sha256-PIltVJ3o3ROFi1ensrJyFYEsCm6nEFXHkkTPU3ho+gU="
},
"launchdarkly_launchdarkly": {
"hash": "sha256-DCc+qQdVVDdFiHaDv6jc4MUuWPemk3XEeBEKAbTUi7M=",
"hash": "sha256-PgAK0BUTSyW4CXssQkENohnhtd2O5GPuFVvSDcHWjQ8=",
"homepage": "https://registry.terraform.io/providers/launchdarkly/launchdarkly",
"owner": "launchdarkly",
"repo": "terraform-provider-launchdarkly",
"rev": "v2.29.0",
"rev": "v2.30.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-OgKOjLwDQxJiv+VWdOzjMcUDPu9LOuhyTRyLyM39vLM="
},
@@ -878,13 +878,13 @@
"vendorHash": "sha256-vcuUt3WIo1TnLApch410JgtyCzliQRYMQQQ2Z9diDZ8="
},
"lxc_incus": {
"hash": "sha256-m3xUqIUvowu+SZ7TxXYKjOv0Th/Pah0MXVAdaaSPeCo=",
"hash": "sha256-Jabbg13UetT4B+kGNP2DDEXFALR8apqjPB5xWkHF5UA=",
"homepage": "https://registry.terraform.io/providers/lxc/incus",
"owner": "lxc",
"repo": "terraform-provider-incus",
"rev": "v1.1.0",
"rev": "v1.1.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-vTJXA7vHVE/m68gr1nHInGs/2T/4OzwS6T3BAAJ+ATo="
"vendorHash": "sha256-nRkttehaieVOcTBJ3rIU/JHtv/q4fU18z8MUo3xtE28="
},
"marcofranssen_dexidp": {
"hash": "sha256-Aby3FNEA6LgsGM/N10LNu9sCv3f2N8WIrmWoqEqTa8E=",
@@ -1256,13 +1256,13 @@
"vendorHash": "sha256-27mA2OAApUtPawZZk7Wxme9TfQY19TraIJSqHh8MFZg="
},
"spotinst_spotinst": {
"hash": "sha256-cZ2gKgXLM/0msBvtlWn16TdM1kwd2wRUyV7bvVEd+SE=",
"hash": "sha256-rdE1+XqafMMF9+posQ4K1X1NmXdFcw/F3ivVpfYvcD8=",
"homepage": "https://registry.terraform.io/providers/spotinst/spotinst",
"owner": "spotinst",
"repo": "terraform-provider-spotinst",
"rev": "v1.236.1",
"rev": "v1.237.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-Gb07NAvZowWIUokmjLq2IOvg4El2hGwJ6J2J9hBj+eg="
"vendorHash": "sha256-sg4ql1YKi+2PMLuKJOmOpr3XUdsHlBmyhPFwGIQ4Dxg="
},
"statuscakedev_statuscake": {
"hash": "sha256-zXBZZA+2uRN2FeGrayq0a4EBk7T+PvlBIwbuxwM7yBc=",
@@ -1409,13 +1409,13 @@
"vendorHash": null
},
"ubiquiti-community_unifi": {
"hash": "sha256-STJXSLtAN1HR46p/Vs3E0ZB/DQ1NW5HTPK50k9kk3EY=",
"hash": "sha256-S2/7ESs7YaTmRn7luJgENk1eZXe/tnIYaNuprnUObv0=",
"homepage": "https://registry.terraform.io/providers/ubiquiti-community/unifi",
"owner": "ubiquiti-community",
"repo": "terraform-provider-unifi",
"rev": "v0.42.0",
"rev": "v0.49.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-1leizEFn+5VFy3LOAFAogtDT4pyuaG5in0hMat1sORg="
"vendorHash": "sha256-ciATeythUzo+DqLA4g1Vpq4Agc9KjKatpmpXOOOjxA8="
},
"ucloud_ucloud": {
"hash": "sha256-k+NkB1q0oiasLc4+b+mbJ0TNUD67XR9ga9MwSbEXjKQ=",

View File

@@ -175,7 +175,7 @@ let
homepage = "https://pidgin.im/";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.lucasew ];
maintainers = [ ];
};
};

View File

@@ -9,6 +9,7 @@
{
crateName,
version,
dependencies,
crateFeatures,
crateRenames,
@@ -25,6 +26,7 @@
buildTests,
codegenUnits,
capLints,
useClippy,
}:
let
@@ -32,6 +34,20 @@ let
(if release then "-C opt-level=3" else "-C debuginfo=2")
"-C codegen-units=${toString codegenUnits}"
"--remap-path-prefix=$NIX_BUILD_TOP=/"
# Map the unpacked source root to a stable, crate-identifying path.
# Sources from fetchCrate unpack to $NIX_BUILD_TOP/<crateName>-<version>,
# so the prefix above already yields /<crateName>-<version>/src/... and
# this remap is a no-op for them. Sources supplied via a custom `src`
# (lib.fileset.toSource, lib.cleanSource, a flake's `self`) all unpack to
# a fixed basename like `source`, so without this every such crate
# collapses to /source/src/... — losing crate identity in panic
# backtraces, file!() expansions, debuginfo, and coverage maps. rustc
# applies remaps last-match-wins, so this more-specific prefix wins
# for everything under the source root (including OUT_DIR, which
# configure-crate.nix places at $sourceRoot/target/build/); the
# broader $NIX_BUILD_TOP remap above remains as a fallback for any
# path that happens to fall outside $sourceRoot.
"--remap-path-prefix=$NIX_BUILD_TOP/$sourceRoot=/${crateName}-${version}"
# When the rust-src component is present (common with rust-overlay
# toolchains), rustc unvirtualises libstd source paths. Panic
# locations from monomorphised generic std code then embed the
@@ -94,6 +110,7 @@ in
runHook preBuild
# configure & source common build functions
RUSTC_DRIVER="${if useClippy then "clippy-driver" else "rustc"}"
LIB_RUSTC_OPTS="${libRustcOpts}"
BIN_RUSTC_OPTS="${binRustcOpts}"
LIB_EXT="${stdenv.hostPlatform.extensions.library}"

View File

@@ -148,7 +148,7 @@ in
export CARGO_CFG_TARGET_OS=${stdenv.hostPlatform.rust.platform.os}
export CARGO_CFG_TARGET_FAMILY="unix"
export CARGO_CFG_UNIX=1
export CARGO_CFG_TARGET_ENV="gnu"
export CARGO_CFG_TARGET_ENV=${stdenv.hostPlatform.rust.platform.env}
export CARGO_CFG_TARGET_ENDIAN=${
if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian" then "little" else "big"
}

View File

@@ -12,6 +12,7 @@
pkgsBuildBuild,
rustc,
cargo,
clippy,
jq,
libiconv,
# Controls codegen parallelization for all crates.
@@ -155,14 +156,37 @@ crate_:
lib.makeOverridable
(
# The rust compiler to use.
#
# Default: pkgs.rustc
{
rust ? rustc,
# The cargo package to use for getting some metadata.
#
# Default: pkgs.cargo
cargo ? cargo,
# Whether to compile the crate's library, binary, and test targets with
# `clippy-driver` instead of `rustc`. Build scripts (`build.rs`) keep
# plain `rustc` — they are typically auto-generated and clippy findings
# there are not actionable.
#
# `clippy-driver` wraps `rustc_driver` with extra lint passes and emits
# link-compatible `.rlib`/`.rmeta`, so dependency crates built with plain
# `rustc` are still usable; only the crate being linted needs this flag.
#
# Note that the default `capLints` of `"allow"` suppresses ALL lints,
# including clippy's. Set `capLints = "warn"` (or `"forbid"`) or supply
# a `lints` table — otherwise `useClippy` is a silent no-op. Lint flags
# such as `-D warnings` or `-W clippy::pedantic` go through the regular
# `extraRustcOpts` (clippy-driver forwards rustc flags unchanged).
#
# Example: true
# Default: false
useClippy,
# The clippy package providing `clippy-driver`. Only consulted when
# `useClippy = true`. Override this together with `rust` when using a
# toolchain (rust-overlay, Fenix) that bundles its own `clippy-driver`,
# so the sysroot matches.
#
# Default: pkgs.clippy
clippy ? clippy,
# Whether to build a release version (`true`) or a debug
# version (`false`). Debug versions are faster to build
# but might be much slower at runtime.
@@ -198,6 +222,13 @@ lib.makeOverridable
# Rust build dependencies, i.e. other libraries that were built
# with buildRustCrate and are used by a build script.
buildDependencies,
# Rust dev-dependencies, i.e. other libraries that were built
# with buildRustCrate and are linked only when `buildTests = true`.
# Mirrors Cargo's `[dev-dependencies]`: ignored for the regular
# lib/bin build, appended to `dependencies` for the test build.
#
# Default: []
devDependencies,
# Specify the "extern" name of a library if it differs from the library target.
# See above for an extended explanation.
#
@@ -329,6 +360,7 @@ lib.makeOverridable
crate = crate_ // (lib.attrByPath [ crate_.crateName ] (attr: { }) crateOverrides crate_);
dependencies_ = dependencies;
buildDependencies_ = buildDependencies;
devDependencies_ = devDependencies;
processedAttrs = [
"src"
"propagatedBuildInputs"
@@ -340,6 +372,7 @@ lib.makeOverridable
"libPath"
"buildDependencies"
"dependencies"
"devDependencies"
"features"
"crateRenames"
"crateName"
@@ -432,6 +465,7 @@ lib.makeOverridable
cargo
jq
]
++ lib.optional useClippy clippy
++ lib.optionals stdenv.hasCC [ stdenv.cc ]
++ lib.optionals stdenv.buildPlatform.isDarwin [ libiconv ]
++ (crate.nativeBuildInputs or [ ])
@@ -441,7 +475,10 @@ lib.makeOverridable
++ (crate.buildInputs or [ ])
++ buildInputs_
++ completePropagatedBuildInputs;
dependencies = map lib.getLib dependencies_;
# Dev-dependencies are only linked when building tests, mirroring
# Cargo. When buildTests is false this is a no-op, so the metadata
# hash and store path of normal lib/bin builds are unchanged.
dependencies = map lib.getLib (dependencies_ ++ lib.optionals buildTests_ devDependencies_);
buildDependencies = map lib.getLib buildDependencies_;
completeDeps = lib.unique (dependencies ++ lib.concatMap (dep: dep.completeDeps) dependencies);
@@ -563,6 +600,7 @@ lib.makeOverridable
buildPhase = buildCrate {
inherit
crateName
version
dependencies
crateFeatures
crateRenames
@@ -579,6 +617,7 @@ lib.makeOverridable
buildTests
codegenUnits
capLints
useClippy
;
};
dontStrip = !release;
@@ -614,6 +653,8 @@ lib.makeOverridable
{
rust = crate_.rust or rustc;
cargo = crate_.cargo or cargo;
useClippy = crate_.useClippy or false;
clippy = crate_.clippy or clippy;
release = crate_.release or true;
verbose = crate_.verbose or true;
extraRustcOpts = [ ];
@@ -638,6 +679,7 @@ lib.makeOverridable
postInstall = crate_.postInstall or "";
dependencies = crate_.dependencies or [ ];
buildDependencies = crate_.buildDependencies or [ ];
devDependencies = crate_.devDependencies or [ ];
crateRenames = crate_.crateRenames or { };
buildTests = crate_.buildTests or false;
}

View File

@@ -10,7 +10,7 @@ build_lib() {
lib_src=$1
echo_build_heading $lib_src ${libName}
noisily env "${CARGO_BIN_EXE_ENV[@]}" rustc \
noisily env "${CARGO_BIN_EXE_ENV[@]}" "${RUSTC_DRIVER:-rustc}" \
--crate-name $CRATE_NAME \
$lib_src \
--out-dir target/lib \
@@ -42,7 +42,7 @@ build_bin() {
main_file=$2
fi
echo_build_heading $crate_name $main_file
noisily env "${CARGO_BIN_EXE_ENV[@]}" rustc \
noisily env "${CARGO_BIN_EXE_ENV[@]}" "${RUSTC_DRIVER:-rustc}" \
--crate-name $crate_name_ \
$main_file \
--crate-type bin \

View File

@@ -404,6 +404,27 @@ rec {
"test something ... ok"
];
};
rustLibTestsWithDevDependency =
let
devDep = mkHostCrate {
crateName = "dev-dep";
src = mkLib "src/lib.rs";
};
in
{
src = mkFile "src/lib.rs" ''
#[cfg(test)]
mod tests {
#[test]
fn uses_dev_dep() {
assert_eq!(dev_dep::test(), 23);
}
}
'';
devDependencies = [ devDep ];
buildTests = true;
expectedTestOutputs = [ "test tests::uses_dev_dep ... ok" ];
};
rustBinTestsCombined = {
src = symlinkJoin {
name = "rust-bin-tests-combined";
@@ -1008,6 +1029,66 @@ rec {
];
};
crateWasm32TargetEnv = assertOutputs {
name = "gnu64-crate-target-env";
mkCrate = mkCrate pkgsCross.wasm32-unknown-none.buildRustCrate;
crateArgs = {
crateName = "wasm32-crate-target-env";
crateBin = [ { name = "wasm32-crate-target-env"; } ];
src = symlinkJoin {
name = "wasm32-crate-target-env-sources";
paths = [
(mkFile "build.rs" ''
fn main() {
assert_eq!(std::env::var("CARGO_CFG_TARGET_ENV"), Ok("".to_string()));
}
'')
(mkFile "src/main.rs" ''
use std::env;
#[cfg(target_env = "")]
fn main() {
let name: String = env::args().nth(0).unwrap();
println!("executed {}", name);
}
'')
];
};
};
expectedFiles = [
"./bin/wasm32-crate-target-env.wasm"
];
};
crateGnu64TargetEnv = assertOutputs {
name = "gnu64-crate-target-env";
mkCrate = mkCrate pkgsCross.gnu64.buildRustCrate;
crateArgs = {
crateName = "gnu64-crate-target-env";
crateBin = [ { name = "gnu64-crate-target-env"; } ];
src = symlinkJoin {
name = "gnu64-crate-target-env-sources";
paths = [
(mkFile "build.rs" ''
fn main() {
assert_eq!(std::env::var("CARGO_CFG_TARGET_ENV"), Ok("gnu".to_string()));
}
'')
(mkFile "src/main.rs" ''
use std::env;
#[cfg(target_env = "gnu")]
fn main() {
let name: String = env::args().nth(0).unwrap();
println!("executed {}", name);
}
'')
];
};
};
expectedFiles = [
"./bin/gnu64-crate-target-env"
];
};
brotliTest =
let
pkg = brotliCrates.brotli_2_5_0 { };
@@ -1068,6 +1149,75 @@ rec {
touch $out
'';
# `useClippy = true` plus a denied clippy lint should fail the build,
# proving clippy-driver (not plain rustc) compiled the crate. The
# `clippy::` prefix in the diagnostic is the fingerprint: rustc has no
# such lint group.
useClippyDenyFails =
let
crate = mkHostCrate {
crateName = "useClippyDenyFails";
useClippy = true;
lints.clippy.eq_op = "deny";
src = mkFile "src/lib.rs" ''
pub fn check() -> bool {
1 == 1
}
'';
};
failed = testers.testBuildFailure crate;
in
runCommand "assert-useClippyDenyFails" { inherit failed; } ''
grep -q 'clippy::eq.op' "$failed/testBuildFailure.log"
grep -q 'equal expressions' "$failed/testBuildFailure.log"
touch $out
'';
# `useClippy = true` with the default `capLints` (which resolves to
# `"allow"` when `lints` is empty) must still build: the cap silences
# clippy lints just like rustc lints. Same source as the failing test
# above — only the `lints` table differs.
useClippyDefaultCapAllows = mkHostCrate {
crateName = "useClippyDefaultCapAllows";
useClippy = true;
src = mkFile "src/lib.rs" ''
pub fn check() -> bool {
1 == 1
}
'';
};
# A library compiled by clippy-driver must produce an `.rlib` that a
# plain-rustc dependent can link against and run. This is the property
# that makes `useClippy` safe to flip per-crate.
useClippyRlibLinkCompat =
let
libCrate = mkHostCrate {
crateName = "clippylib";
useClippy = true;
src = mkFile "src/lib.rs" ''
pub fn test() -> i32 {
23
}
'';
};
binCrate = mkHostCrate {
crateName = "clippybin";
dependencies = [ libCrate ];
src = mkBinExtern "src/main.rs" "clippylib";
};
in
runCommand "run-useClippyRlibLinkCompat" { nativeBuildInputs = [ binCrate ]; } (
if stdenv.hostPlatform == stdenv.buildPlatform then
''
${binCrate}/bin/clippybin && touch $out
''
else
''
test -x '${binCrate}/bin/clippybin' && touch $out
''
);
rcgenTest =
let
pkg = rcgenCrates.rootCrate.build;

View File

@@ -15,6 +15,7 @@
fontconfig,
foundationdb,
freetype,
fuse3,
gdk-pixbuf,
glib,
gmp,
@@ -43,6 +44,7 @@
udev,
webkitgtk_4_1,
zlib,
zstd,
buildPackages,
...
}:
@@ -146,6 +148,11 @@
buildInputs = [ freetype ];
};
fuser = attrs: {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ fuse3 ];
};
glib-sys = attrs: {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ glib ];
@@ -392,6 +399,12 @@
buildInputs = [ python3 ];
};
zstd-sys = attrs: {
ZSTD_SYS_USE_PKG_CONFIG = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ zstd ];
};
atk-sys = attrs: {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ atk ];

View File

@@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Tool for sequential logic synthesis and formal verification";
homepage = "https://people.eecs.berkeley.edu/~alanmi/abc";
license = lib.licenses.mit;
license = lib.licenses.mit-modern;
maintainers = with lib.maintainers; [
thoughtpolice
Luflosi

View File

@@ -0,0 +1,9 @@
{
lib,
makeSetupHook,
}:
makeSetupHook {
name = "add-bin-to-path-hook";
meta.license = lib.licenses.mit;
} ./add-bin-to-path.sh

View File

@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation {
pname = "ananicy-rules-cachyos";
version = "0-unstable-2026-06-03";
version = "0-unstable-2026-06-15";
src = fetchFromGitHub {
owner = "CachyOS";
repo = "ananicy-rules";
rev = "422e807d3376dc9d07e7acfa82b62b5d62275486";
hash = "sha256-wDlAbb9O0I7WXsvQ+xLBPRt+haKJjvCJR56TGRC9auA=";
rev = "70bc1a2c935518461e4e8d53d7c454489e26565d";
hash = "sha256-KJnZRXyl/iagknbFGh06dEtedMzJKZ+uDiXuP2OpMZE=";
};
dontConfigure = true;

View File

@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "anda";
version = "0.7.0";
version = "0.7.1";
src = fetchFromGitHub {
owner = "FyraLabs";
repo = "anda";
tag = finalAttrs.version;
hash = "sha256-bnjTXLxFDc/blyu2Ns8EV5ZCh97RLJpQsGtavxP9W+4=";
hash = "sha256-4KiqIBWQfI8IagSoa39+bh0bVdhbuwTmxPdNkRlNEdA=";
};
cargoHash = "sha256-GWPl91Y2DDrFMvsUAZBYburNpPgl2O/ZLeYy0ivclOA=";
cargoHash = "sha256-EWPahdExDi0TFVVMPljTb+j8iUtoqYOqU8LI621gj30=";
__structuredAttrs = true;

View File

@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "angle-grinder";
version = "0.19.4";
version = "0.19.6";
src = fetchFromGitHub {
owner = "rcoh";
repo = "angle-grinder";
tag = "v${finalAttrs.version}";
sha256 = "sha256-1SZho04qJcNi84ZkDmxoVkLx9VJX04QINZQ6ZEoCq+c=";
sha256 = "sha256-CkDDX9U3e57fbKA9hwdy1AZ/ZDNpIFe6uvemmc6DcKA=";
};
cargoHash = "sha256-B7JFwFzE8ZvbTjCUZ6IEtjavPGkx3Nb9FMSPbNFqiuU=";
cargoHash = "sha256-w1+wdvl4wmxOynsg7SmL5lSASd4Cl4OkMJoIBUmuKGY=";
passthru = {
updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };

View File

@@ -1,24 +0,0 @@
diff --git a/AniLibria.pro b/AniLibria.pro
index 3eb7213..ea571ff 100644
--- a/AniLibria.pro
+++ b/AniLibria.pro
@@ -271,17 +271,8 @@ QML_IMPORT_PATH =
# Additional import path used to resolve QML modules just for Qt Quick Designer
QML_DESIGNER_IMPORT_PATH =
-# Default rules for deployment.
-!flatpak{
- qnx: target.path = /tmp/$${TARGET}/bin
- else: unix:!android: target.path = /opt/$${TARGET}/bin
-}else{
- target.path = $$PREFIX/bin
-}
-!isEmpty(target.path) {
- unix: INSTALLS += target desktop $${UNIX_ICONS}
- else:macx: INSTALLS += target
-}
+target.path = $$PREFIX/bin
+INSTALLS += target $${UNIX_ICONS}
flatpak {
metadata.path = $$PREFIX/share/metainfo

View File

@@ -2,47 +2,40 @@
lib,
stdenv,
fetchFromGitHub,
libsForQt5,
fetchpatch,
cmake,
qt6Packages,
ninja,
pkg-config,
gst_all_1,
makeDesktopItem,
copyDesktopItems,
withVLC ? true,
libvlc,
withMPV ? true,
mpv-unwrapped,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "anilibria-winmaclinux";
version = "2.2.35";
version = "2.2.36";
src = fetchFromGitHub {
owner = "anilibria";
repo = "anilibria-winmaclinux";
tag = finalAttrs.version;
hash = "sha256-3tiCfL6j2yhhL16mG1LYD41G6nbomwmqZOwgm4bEHTs=";
hash = "sha256-2fwpLHEH1jlxl7r7QiVTHZniBO5k0GWaloNBynZJlTw=";
};
sourceRoot = "${finalAttrs.src.name}/src";
qmakeFlags = [
"PREFIX=${placeholder "out"}"
]
++ lib.optionals withVLC [ "CONFIG+=unixvlc" ]
++ lib.optionals withMPV [ "CONFIG+=unixmpv" ];
patches = [
./0001-fix-installation-paths.patch
./0002-disable-version-check.patch
./0001-disable-version-check.patch
(fetchpatch {
name = "0002-fixed-qt6-folder-modal.patch";
url = "https://github.com/anilibria/anilibria-winmaclinux/commit/adb4f7e5447d733fc3042f4bff25224ed726f3e6.patch";
hash = "sha256-6/oXAObmXS+GKjjLNneMIj2gtKNvz6zHshWDYPv4agY=";
stripLen = 1;
})
];
preConfigure = ''
substituteInPlace AniLibria.pro \
--replace "\$\$PREFIX" '${placeholder "out"}'
'';
qtWrapperArgs = [
"--prefix GST_PLUGIN_PATH : ${
(
@@ -59,17 +52,18 @@ stdenv.mkDerivation (finalAttrs: {
];
nativeBuildInputs = [
libsForQt5.qmake
cmake
pkg-config
libsForQt5.wrapQtAppsHook
ninja
qt6Packages.wrapQtAppsHook
copyDesktopItems
];
buildInputs = [
libsForQt5.qtbase
libsForQt5.qtquickcontrols2
libsForQt5.qtwebsockets
libsForQt5.qtmultimedia
qt6Packages.qtbase
qt6Packages.qtwebsockets
qt6Packages.qtmultimedia
mpv-unwrapped.dev
]
++ (with gst_all_1; [
gst-plugins-bad
@@ -77,34 +71,34 @@ stdenv.mkDerivation (finalAttrs: {
gst-plugins-base
gst-libav
gstreamer
])
++ lib.optionals withVLC [ libvlc ]
++ lib.optionals withMPV [ mpv-unwrapped.dev ];
]);
desktopItems = [
(makeDesktopItem {
name = "AniLibria";
desktopName = "AniLibria";
icon = "anilibria";
name = "AniLiberty";
desktopName = "AniLiberty";
icon = "aniliberty";
comment = finalAttrs.meta.description;
genericName = "AniLibria desktop client";
genericName = "AniLiberty (ex AniLibria) desktop client";
categories = [
"Qt"
"Audio"
"Video"
"AudioVideo"
"Player"
];
keywords = [ "anime" ];
exec = "AniLibria";
exec = finalAttrs.meta.mainProgram;
terminal = false;
})
];
meta = {
homepage = "https://github.com/anilibria/anilibria-winmaclinux";
description = "AniLibria cross platform desktop client";
description = "AniLiberty (ex AniLibria) cross platform desktop client, an anime theater for any computer you own";
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ _3JlOy-PYCCKUi ];
inherit (libsForQt5.qtbase.meta) platforms;
mainProgram = "AniLibria";
inherit (qt6Packages.qtbase.meta) platforms;
mainProgram = "AniLiberty";
};
})

View File

@@ -2,19 +2,23 @@
lib,
buildNpmPackage,
copyDesktopItems,
electron_40,
electron_41,
fetchFromGitHub,
makeDesktopItem,
makeWrapper,
nix-update-script,
_experimental-update-script-combinators,
writeShellApplication,
nix,
jq,
}:
let
electron = electron_40;
version = "2026.2.1";
electron = electron_41;
version = "2026.5.1";
in
buildNpmPackage {
buildNpmPackage (finalAttrs: {
pname = "appium-inspector";
inherit version;
@@ -22,10 +26,10 @@ buildNpmPackage {
owner = "appium";
repo = "appium-inspector";
tag = "v${version}";
hash = "sha256-89u8MifBPh5AwaMFp+aGSzsiwp75Skca/t6OyDSzrGo=";
hash = "sha256-SJlTTVTZ/zGIK7Nf35cZ62tdhevXC95MsbiQJCLiVtk=";
};
npmDepsHash = "sha256-mwNn7TllWCtr4sif9Wc3FDtK2Icu72/iI+IllhBswHQ=";
npmDepsHash = "sha256-2rjgKS1mIrjOg+YXuMaqKyEQt0utLA4DGxOs0oI4BaQ=";
npmFlags = [ "--ignore-scripts" ];
nativeBuildInputs = [
@@ -75,7 +79,25 @@ buildNpmPackage {
})
];
passthru.updateScript = nix-update-script { };
passthru.updateScript = _experimental-update-script-combinators.sequence [
(nix-update-script { })
(lib.getExe (writeShellApplication {
name = "${finalAttrs.pname}-electron-updater";
runtimeInputs = [
nix
jq
];
runtimeEnv = {
PNAME = finalAttrs.pname;
PKG_FILE = toString ./package.nix;
};
text = ''
new_src="$(nix-build --attr "pkgs.$PNAME.src" --no-out-link)"
new_electron_major="$(jq -r '.devDependencies.electron | split(".")[0] | tonumber' "$new_src/package.json")"
sed -i -E "s/electron_[0-9]+/electron_$new_electron_major/g" "$PKG_FILE"
'';
}))
];
meta = {
description = "GUI inspector for the appium UI automation tool";
@@ -86,4 +108,4 @@ buildNpmPackage {
maintainers = with lib.maintainers; [ marie ];
platforms = lib.platforms.linux;
};
}
})

View File

@@ -39,13 +39,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "art";
version = "1.26.5";
version = "1.26.6";
src = fetchFromGitHub {
owner = "artpixls";
repo = "ART";
tag = finalAttrs.version;
hash = "sha256-kNe+1jwMJ8RVm4dBUg6/ik3TJRZVuGbZt5Wtx8qVbvk=";
hash = "sha256-m5KQUY7loLKH7X2cDw5n7biH1GJTVONTbguILdjNWrI=";
};
# Fix the build with CMake 4.

View File

@@ -1,39 +0,0 @@
{
lib,
stdenv,
autoreconfHook,
fetchurl,
dbus-glib,
gtk2,
pkg-config,
wordnet,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "artha";
version = "1.0.5";
src = fetchurl {
url = "mirror://sourceforge/artha/${finalAttrs.version}/artha-${finalAttrs.version}.tar.bz2";
sha256 = "034r7vfk5y7705k068cdlq52ikp6ip10w6047a5zjdakbn55c3as";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
dbus-glib
gtk2
wordnet
];
meta = {
description = "Offline thesaurus based on WordNet";
homepage = "https://artha.sourceforge.net";
license = lib.licenses.gpl2;
maintainers = [ ];
platforms = lib.platforms.linux;
mainProgram = "artha";
};
})

View File

@@ -0,0 +1,38 @@
{
fetchPypi,
lib,
nix-update-script,
python3Packages,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "asciimol";
version = "1.2.5";
pyproject = true;
__structuredAttrs = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-sB8hHtjfCv5jFHXEoUG7zNn3d3QKihPLbgnR+Jyz4GQ=";
};
build-system = with python3Packages; [ setuptools ];
dependencies = with python3Packages; [
numpy
ase
rdkit
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Curses based ASCII molecule viewer for terminals";
license = lib.licenses.bsd2;
homepage = "https://github.com/dewberryants/asciimol";
downloadPage = "https://pypi.org/project/asciimol/";
maintainers = with lib.maintainers; [ tomasrivera ];
mainProgram = "asciimol";
};
})

View File

@@ -9,16 +9,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "asciinema";
version = "3.2.0";
version = "3.2.1";
src = fetchFromGitHub {
owner = "asciinema";
repo = "asciinema";
tag = "v${finalAttrs.version}";
hash = "sha256-03olFWB/6O7V/B9gz6QACMxugrIx560fpp81IGVWv58=";
hash = "sha256-MZMc1YypMP2JEbpDmsGj+Sm+y3mfr50DnoCN04rY9xY=";
};
cargoHash = "sha256-B6s3uUPGL8m076dl3P26j+frHWLi+wzED41BQ/rQAM8=";
cargoHash = "sha256-Qzxlp/c5VowlZplu7iMVh0a3+raQXsYmO8OEC45dSl4=";
env.ASCIINEMA_GEN_DIR = "gendir";

View File

@@ -1,9 +1,10 @@
{
lib,
stdenv,
fetchurl,
autoreconfHook,
fetchFromGitHub,
makeWrapper,
gtk2,
gtk3,
libcddb,
intltool,
pkg-config,
@@ -36,20 +37,24 @@ let
in
stdenv.mkDerivation (finalAttrs: {
version = "3.0.2";
pname = "asunder";
src = fetchurl {
url = "http://littlesvr.ca/asunder/releases/asunder-${finalAttrs.version}.tar.bz2";
hash = "sha256-txNB10bM9WqnexeFxq+BqmQdCErD00t4vrU3YYhItks=";
version = "3.1.0-unstable-2025-03-24";
src = fetchFromGitHub {
owner = "rizalmart";
repo = "asunder-gtk3";
rev = "e3676704f7c7912e61ad7d78fe19015c102a27e1";
hash = "sha256-bJVrSbjOUkmrF76e6euM5VPwbvvRrA5ZLPzZGjEep98=";
};
nativeBuildInputs = [
autoreconfHook
intltool
makeWrapper
pkg-config
];
buildInputs = [
gtk2
gtk3
libcddb
];
@@ -61,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Graphical Audio CD ripper and encoder for Linux";
mainProgram = "asunder";
homepage = "http://littlesvr.ca/asunder/index.php";
homepage = "https://github.com/rizalmart/asunder-gtk3";
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ mudri ];
platforms = lib.platforms.linux;

View File

@@ -27,11 +27,13 @@ stdenv.mkDerivation (finalAttrs: {
wafHook
];
buildInputs = [
alsa-lib
fftw
libjack2
libsamplerate
libsndfile
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
];
strictDeps = true;
@@ -51,6 +53,6 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
fpletz
];
platforms = lib.platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
})

View File

@@ -38,6 +38,9 @@ stdenv.mkDerivation {
mainProgram = "auto-patchelf";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ Scrumplex ];
maintainers = with lib.maintainers; [
Scrumplex
layus
];
};
}

View File

@@ -0,0 +1,21 @@
{
lib,
makeSetupHook,
auto-patchelf,
bintools,
stdenv,
}:
makeSetupHook {
name = "auto-patchelf-hook";
propagatedBuildInputs = [
auto-patchelf
bintools
];
substitutions = {
hostPlatform = stdenv.hostPlatform.config;
};
meta = {
maintainers = with lib.maintainers; [ layus ];
};
} ./auto-patchelf.sh

View File

@@ -0,0 +1,18 @@
{
lib,
makeSetupHook,
autoconf,
automake,
gettext,
libtool,
}:
makeSetupHook {
name = "autoreconf-hook";
propagatedBuildInputs = [
autoconf
automake
gettext
libtool
];
meta.license = lib.licenses.mit;
} ./autoreconf.sh

View File

@@ -50,9 +50,9 @@
},
"aks-preview": {
"pname": "aks-preview",
"version": "20.0.0b8",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-20.0.0b8-py2.py3-none-any.whl",
"hash": "sha256-ugLew461nhWWg73OZJW7g/xblclV5IfNHKm1it6j+Dc=",
"version": "21.0.0b4",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-21.0.0b4-py2.py3-none-any.whl",
"hash": "sha256-SQVpyKPmiVfN1gX7CnqhgAIoYVc8+ViPT/y0u8Km/EM=",
"description": "Provides a preview for upcoming AKS features"
},
"alb": {
@@ -71,9 +71,9 @@
},
"amg": {
"pname": "amg",
"version": "2.8.1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/amg-2.8.1-py3-none-any.whl",
"hash": "sha256-nsp7EJIf9/hfpbbpAlNQBQ//U2oR0zWV+LqJtlyCoLM=",
"version": "3.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/amg-3.0.0-py3-none-any.whl",
"hash": "sha256-dTenG/ZarhJyREsCBigfy3zCpQ7VmK3Z4feLU4CzFtk=",
"description": "Microsoft Azure Command-Line Tools Azure Managed Grafana Extension"
},
"amlfs": {
@@ -99,9 +99,9 @@
},
"appservice-kube": {
"pname": "appservice-kube",
"version": "0.1.11",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/appservice_kube-0.1.11-py2.py3-none-any.whl",
"hash": "sha256-gTI/rjFHJ8mx1QfWeWgJStemOubwqEPqKuS3jCPnuKI=",
"version": "1.0.0b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/appservice_kube-1.0.0b1-py2.py3-none-any.whl",
"hash": "sha256-85HDcR5CwGoGG2ZXOK0aPGyUoE4aXK7QMnJH2vcohac=",
"description": "Microsoft Azure Command-Line Tools App Service on Kubernetes Extension"
},
"arcgateway": {
@@ -155,9 +155,9 @@
},
"azure-changesafety": {
"pname": "azure-changesafety",
"version": "1.0.0b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_changesafety-1.0.0b1-py3-none-any.whl",
"hash": "sha256-ZR2Bm9U9C4rXrCfPVGRu65MBFjZ4iUtXS44l+ClJXsY=",
"version": "1.0.0b2",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_changesafety-1.0.0b2-py3-none-any.whl",
"hash": "sha256-HTnRKs0YDqHH1tNgrbHdMOFChY7+G6Q4duHTD3KWtPA=",
"description": "Microsoft Azure Command-Line Tools ChangeSafety Extension"
},
"azure-firewall": {
@@ -239,9 +239,9 @@
},
"computelimit": {
"pname": "computelimit",
"version": "1.0.0b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/computelimit-1.0.0b1-py3-none-any.whl",
"hash": "sha256-Om6Hp12RxcajwQDUL/APXQpNjZNsJin/ad93hPfTOCg=",
"version": "1.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/computelimit-1.0.0-py3-none-any.whl",
"hash": "sha256-/jvHC7wLD7BVVgFIu2souEQs/o6Uaw9qsqXnoWt632E=",
"description": "Microsoft Azure Command-Line Tools Computelimit Extension"
},
"computeschedule": {
@@ -351,9 +351,9 @@
},
"dataprotection": {
"pname": "dataprotection",
"version": "1.10.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/dataprotection-1.10.0-py3-none-any.whl",
"hash": "sha256-cssrKqmWbQv3qlr8A3GUNklnIGOQ9V2x3e+YWpXeCvQ=",
"version": "1.11.1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/dataprotection-1.11.1-py3-none-any.whl",
"hash": "sha256-h/BgaqXzZYS8vZ8xQO1iuiZ1yTPjYa8IGzI0k4GNakY=",
"description": "Microsoft Azure Command-Line Tools DataProtectionClient Extension"
},
"datashare": {
@@ -496,12 +496,12 @@
"hash": "sha256-x1mbd/Y28BcYqEf+T1rZcOHT8wrq9VnWnCfw9rBnl80=",
"description": "Microsoft Azure Command-Line Tools ExpressRouteCrossConnection Extension"
},
"fileshares": {
"pname": "fileshares",
"version": "1.0.0b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/fileshares-1.0.0b1-py3-none-any.whl",
"hash": "sha256-IrJwPQaMuX9VItIEkJzK3cmANHzU50fIaWn2s32nDVk=",
"description": "Commands for managing Azure file shares, snapshots, and private endpoint connections"
"fileshare": {
"pname": "fileshare",
"version": "1.0.2",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/fileshare-1.0.2-py3-none-any.whl",
"hash": "sha256-Oxrgvsm6K2msHxNUZ5S4FUz7BPucrxHpyLdGf5ucKkA=",
"description": "Microsoft Azure Command-Line Tools Fileshare Extension"
},
"firmwareanalysis": {
"pname": "firmwareanalysis",
@@ -512,9 +512,9 @@
},
"fleet": {
"pname": "fleet",
"version": "1.10.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/fleet-1.10.0-py3-none-any.whl",
"hash": "sha256-hgAwdLExAvKR0G9Ey81rTSa2QLxeoMnUZ7KRaCYhfM8=",
"version": "1.10.1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/fleet-1.10.1-py3-none-any.whl",
"hash": "sha256-MEtlIj9z69GM/vktWbethZEr6hXyBpH310PT9A5Rtk8=",
"description": "Microsoft Azure Command-Line Tools Fleet Extension"
},
"fluid-relay": {
@@ -806,10 +806,10 @@
},
"networkcloud": {
"pname": "networkcloud",
"version": "5.0.0b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/networkcloud-5.0.0b1-py3-none-any.whl",
"hash": "sha256-q6F3dUqkhngm6/8Xe7Aki6OUTKbCpGCwy/bIcoPpmlM=",
"description": "Support for Azure Operator Nexus network cloud commands based on 2026-01-01-preview API version"
"version": "5.0.0b2",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/networkcloud-5.0.0b2-py3-none-any.whl",
"hash": "sha256-npgLkxwwn3FL7w4q5bpUq2Gghuy/4zsmikW7qs86Fe0=",
"description": "Support for Azure Operator Nexus network cloud commands based on 2026-05-01-preview API version"
},
"new-relic": {
"pname": "new-relic",
@@ -855,9 +855,9 @@
},
"oracle-database": {
"pname": "oracle-database",
"version": "2.0.1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/oracle_database-2.0.1-py3-none-any.whl",
"hash": "sha256-VlKOK9xP9e3NfPTO8jiqjdhJMkKzRpR8IWZ1hh0Z86Y=",
"version": "2.0.3",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/oracle_database-2.0.3-py3-none-any.whl",
"hash": "sha256-Qd9WtF7opKFbotazhgJsCb6CdGO/xQ1/5De+LcIaAiY=",
"description": "Microsoft Azure Command-Line Tools OracleDatabase Extension"
},
"orbital": {
@@ -925,9 +925,9 @@
},
"quantum": {
"pname": "quantum",
"version": "1.0.0b13",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-1.0.0b13-py3-none-any.whl",
"hash": "sha256-zNyvYvtJY2AgASUoMvN/cCXWIOJ1d3JEQ7G/tuyV/o4=",
"version": "1.0.0b16",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-1.0.0b16-py3-none-any.whl",
"hash": "sha256-hhDQzA4jtmPyLbd703EYDCmBDjJS2rBTj7Qgx4T4dxQ=",
"description": "Microsoft Azure Command-Line Tools Quantum Extension"
},
"qumulo": {
@@ -1023,9 +1023,9 @@
},
"site": {
"pname": "site",
"version": "1.0.0b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/site-1.0.0b1-py3-none-any.whl",
"hash": "sha256-OZ2569Gt1U+UzNHe4jsO3nTMUjipqGaCKoKbN0PDXpA=",
"version": "1.0.0b2",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/site-1.0.0b2-py3-none-any.whl",
"hash": "sha256-soEnNlH5/Mvzgj++o6LvpIheUrV13ZSQfWS4hNJZaeI=",
"description": "Microsoft Azure Command-Line Tools Site Extension"
},
"site-recovery": {

View File

@@ -389,5 +389,6 @@
sap-hana = throw "The 'sap-hana' extension for azure-cli was deprecated upstream"; # Added 2025-07-01, https://github.com/Azure/azure-cli-extensions/pull/8904
spring = throw "The 'spring' extension for azure-cli was deprecated upstream"; # Added 2025-05-07, https://github.com/Azure/azure-cli-extensions/pull/8652
spring-cloud = throw "The 'spring-cloud' extension for azure-cli was deprecated upstream"; # Added 2025-07-01 https://github.com/Azure/azure-cli-extensions/pull/8897
weights-and-biases = throw "The 'weights-and-biases' was removed upstream"; # Added 2025-06-03, https://github.com/Azure/azure-cli-extensions/pull/8764
weights-and-biases = throw "The 'weights-and-biases' extension for azure-cli was removed upstream"; # Added 2025-06-03, https://github.com/Azure/azure-cli-extensions/pull/8764
fileshares = throw "The 'fileshares' extensions for azure-cli was removed upstream"; # https://github.com/Azure/azure-cli-extensions/pull/9910
}

View File

@@ -26,14 +26,14 @@
}:
let
version = "2.86.0";
version = "2.87.0";
src = fetchFromGitHub {
name = "azure-cli-${version}-src";
owner = "Azure";
repo = "azure-cli";
tag = "azure-cli-${version}";
hash = "sha256-3C39e9C3m9M0faGUgOEWo66fFGDytfGohgUYX55VN8g=";
hash = "sha256-08GmSGjPt+veulW6d/03bKUeyhedQ0JfsFT9VDkaQ7w=";
};
# put packages that needs to be overridden in the py package scope
@@ -192,6 +192,7 @@ py.pkgs.toPythonApplication (
azure-mgmt-cosmosdb
azure-mgmt-datalake-store
azure-mgmt-datamigration
azure-mgmt-domainregistration
azure-mgmt-eventgrid
azure-mgmt-eventhub
azure-mgmt-extendedlocation

View File

@@ -257,16 +257,6 @@ let
overrideAzureMgmtPackage super.azure-mgmt-synapse "2.1.0b5" "zip"
"sha256-5E6Yf1GgNyNVjd+SeFDbhDxnOA6fOAG6oojxtCP4m+k=";
# ModuleNotFoundError: No module named 'azure.mgmt.web.v2024_11_01'
azure-mgmt-web = super.azure-mgmt-web.overridePythonAttrs (attrs: rec {
version = "9.0.0";
src = fetchPypi {
pname = "azure_mgmt_web";
inherit version;
hash = "sha256-RFXs07SYV3CFwZBObRcTklTjWLoH/mxINaiRu697BsI=";
};
});
# Attribute virtual_machines does not exist - nixpkgs has 37.x but azure-cli 2.82.0 requires ~=34.1.0
azure-mgmt-compute = super.azure-mgmt-compute.overridePythonAttrs (attrs: rec {
version = "34.1.0";

View File

@@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "azurehound";
version = "2.12.1";
version = "2.12.2";
src = fetchFromGitHub {
owner = "SpecterOps";
repo = "AzureHound";
tag = "v${finalAttrs.version}";
hash = "sha256-qJ7mzG1G9ck4xM9dB9rcpojGCAbUoZ8bKZwuZV5bhjA=";
hash = "sha256-w8PmSt+QvU0HELkgdYLfIUgK3R5vCYzlPbMyrHztiPw=";
};
vendorHash = "sha256-WF46wXaNU/Em0KpF6hkuuJ+7K1IKLGqpNS/HxpxX5WY=";

View File

@@ -107,7 +107,7 @@ let
homepage = "https://BackgroundRemoverAI.com";
downloadPage = "https://github.com/nadermx/backgroundremover/releases";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.lucasew ];
maintainers = [ ];
};
};
in

View File

@@ -6,26 +6,29 @@
buildGoModule (finalAttrs: {
pname = "badger";
version = "4.9.1";
version = "4.9.2";
src = fetchFromGitHub {
owner = "dgraph-io";
repo = "badger";
tag = "v${finalAttrs.version}";
hash = "sha256-BsKFi4oMNJE09PBjFmqNhbMcQcHk5uR5QssbwN2ZNCk=";
hash = "sha256-L6qGeOZlIl6I87t9Ohk57bA+WXT7NwMOJkiA3WaMFhM=";
};
vendorHash = "sha256-+rXXCVH2xuULPzdM0KVPwYht+tu0qyxPjLLaBMWVIuI=";
vendorHash = "sha256-KDIwEH83nPMJPJGTN3UgO00pjYwR17XqGdPXioP1YcY=";
subPackages = [ "badger" ];
doCheck = false;
__structuredAttrs = true;
meta = {
changelog = "https://github.com/dgraph-io/badger/releases/tag/${finalAttrs.src.tag}";
description = "Fast key-value DB in Go";
homepage = "https://github.com/dgraph-io/badger";
homepage = "https://dgraph-io.github.io/badger";
license = lib.licenses.asl20;
mainProgram = "badger";
maintainers = [ ];
maintainers = with lib.maintainers; [ hythera ];
};
})

View File

@@ -6,13 +6,13 @@
}:
buildGoModule (finalAttrs: {
pname = "bitrise";
version = "2.40.4";
version = "2.40.5";
src = fetchFromGitHub {
owner = "bitrise-io";
repo = "bitrise";
rev = "v${finalAttrs.version}";
hash = "sha256-8Ec6It0haw2PC0HZPxbu2H+J0ltJ3vzsBaWytDiJzx4=";
hash = "sha256-wuvtkbQ3QmYc/ZO/QDpq1DDoLUE3Hcq5H7oWpCdZVVg=";
};
# many tests rely on writable $HOME/.bitrise and require network access

View File

@@ -0,0 +1,11 @@
--- a/ble.pp
+++ b/ble.pp
@@ -2063,7 +2063,7 @@
return 1
fi
- local ver=${BLE_VERSINFO[0]}.${BLE_VERSINFO[1]}
+ local ver=$BLE_VERSION
ble/base/.create-user-directory _ble_base_cache "$cache_dir/blesh/$ver"
}
function ble/base/initialize-cache-directory {

View File

@@ -1,36 +1,57 @@
{
lib,
stdenvNoCC,
fetchzip,
runtimeShell,
fetchFromGitHub,
bashInteractive,
glibcLocales,
gawk,
runtimeShell,
unstableGitUpdater,
}:
stdenvNoCC.mkDerivation {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "blesh";
version = "0.4.0-devel3-unstable-2026-03-10";
version = "0.4.0-devel3-unstable-2026-05-28";
src = fetchzip {
url = "https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly-20260310%2Bb99cadb.tar.xz";
name = "ble-nightly-20260310+b99cadb.tar.xz";
sha256 = "sha256-rJnSEY7J4wfy8dnL9Bg59u0epPe0HL1J7piPbkNyes0=";
src = fetchFromGitHub {
owner = "akinomyoga";
repo = "ble.sh";
rev = "f38850cb0add16f110341a517ff7c849adb43e57";
fetchSubmodules = true;
hash = "sha256-EtOCZvUkzstXaT7N9qe+oT7+7ExlREsobzY+ylNy/7Y=";
};
dontBuild = true;
nativeBuildInputs = [
gawk
];
patches = [
# Fix the cache invalidation not working; see
# https://github.com/NixOS/nixpkgs/pull/521218#issuecomment-4641313131
./fix-cache-invalidation.patch
# ble.sh reaches a runtime-dir fallback under the install base when the
# others are unusable (always on WSL); see
# https://github.com/NixOS/nixpkgs/pull/521218#issuecomment-4686973408
./skip-readonly-runtime-dir.patch
];
# ble.sh embeds the commit id, normally read from .git, which fetchFromGitHub omits.
makeFlags = [
"PREFIX=$(out)"
"BLE_GIT_COMMIT_ID=${builtins.substring 0 7 finalAttrs.src.rev}"
"BLE_GIT_BRANCH=master"
];
doCheck = true;
nativeCheckInputs = [
bashInteractive
glibcLocales
];
preCheck = "export LC_ALL=en_US.UTF-8";
installPhase = ''
runHook preInstall
mkdir -p "$out/share/blesh/lib"
# auto-detection runs `make -n check` without makeFlags, which fails without BLE_GIT_COMMIT_ID
checkTarget = "check";
nativeCheckInputs = [ bashInteractive ];
preCheck = ''
export HOME=$TMPDIR
# upstream skips its flaky sleep-timing tests under GitHub CI
export CI=true GITHUB_ACTION=nix
'';
postInstall = ''
cat <<EOF >"$out/share/blesh/lib/_package.sh"
_ble_base_package_type=nix
@@ -40,12 +61,6 @@ stdenvNoCC.mkDerivation {
}
EOF
cp -rv $src/* $out/share/blesh
runHook postInstall
'';
postInstall = ''
mkdir -p "$out/bin"
cat <<EOF >"$out/bin/blesh-share"
#!${runtimeShell}
@@ -54,8 +69,18 @@ stdenvNoCC.mkDerivation {
echo "$out/share/blesh"
EOF
chmod +x "$out/bin/blesh-share"
rm -rf "$out/share/blesh/cache.d" "$out/share/blesh/run"
'';
# tagFormat skips the "nightly"/"spike-*" tags; the newest tag is too far
# behind HEAD for shallow deepening, so clone fully.
passthru.updateScript = unstableGitUpdater {
tagPrefix = "v";
tagFormat = "v*";
shallowClone = false;
};
meta = {
homepage = "https://github.com/akinomyoga/ble.sh";
description = "Bash Line Editor -- a full-featured line editor written in pure Bash";
@@ -68,4 +93,4 @@ stdenvNoCC.mkDerivation {
];
platforms = lib.platforms.unix;
};
}
})

View File

@@ -0,0 +1,10 @@
--- a/ble.pp
+++ b/ble.pp
@@ -1934,6 +1934,7 @@
function ble/base/initialize-runtime-directory/.base {
local tmp_dir=$_ble_base/run
if [[ ! -d $tmp_dir ]]; then
+ [[ -w $_ble_base ]] || return 1
ble/bin/mkdir -p "$tmp_dir" || return 1
ble/bin/chmod a+rwxt "$tmp_dir" || return 1
fi

View File

@@ -119,7 +119,6 @@ buildNpmPackage {
maintainers = with lib.maintainers; [
gepbird
kashw2
lucasew
mattpolzin
water-sucks
];

View File

@@ -196,7 +196,6 @@ buildNpmPackage rec {
maintainers = with lib.maintainers; [
gepbird
kashw2
lucasew
mattpolzin
redyf
water-sucks

View File

@@ -10,13 +10,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "burn-central-cli";
version = "0.4.1";
version = "0.4.2";
src = fetchFromGitHub {
owner = "tracel-ai";
repo = "burn-central-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-wXLfmCV6aElnYnhOCScr/3+4I6oOfNPrZ8+0t4TPDOA=";
hash = "sha256-1QXlN1cq5MKZAPgGx5mnf8Jy7o4CnKJDKi0sSith6n0=";
};
strictDeps = true;
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
buildAndTestSubdir = "crates/burn-central-cli";
cargoHash = "sha256-MeDIYFXkyJdxierq9iVIAvEIc8JU13szrbSTfKyUkJk=";
cargoHash = "sha256-c0DfH5wtm/aiK8Mcf7xqVqnFzByMKkbspF1reeGZNJw=";
nativeBuildInputs = [
pkg-config

View File

@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "c2patool";
version = "0.26.62";
version = "0.26.67";
src = fetchFromGitHub {
owner = "contentauth";
repo = "c2pa-rs";
tag = "c2patool-v${finalAttrs.version}";
hash = "sha256-OcZQ8z/hQh5oqXf6JTZ7qN4OSQAyewaBKHwID38aWmc=";
hash = "sha256-18gGrIleSpSwHohX+Qn6Zj6kPIzNri53tHIBlED5/LY=";
};
cargoHash = "sha256-x5QH1iysCdez5V4OQE2xqVXFBpxDygqCrs3MiXNTfTw=";
cargoHash = "sha256-YZKQmekJ0RxtyrLkCeiAry+m7j2jhxm0lsQ+Xi29nEw=";
# use the non-vendored openssl
env.OPENSSL_NO_VENDOR = 1;

View File

@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "cameradar";
version = "6.1.1";
version = "6.2.0";
src = fetchFromGitHub {
owner = "Ullaakut";
repo = "cameradar";
tag = "v${finalAttrs.version}";
hash = "sha256-wJiHCJHG8S+iGFd9jFyavyxAtJ5FGlbvfFcGQfwpi9Y=";
hash = "sha256-NgzTZpRrFLoFNn3xiR5ysORTO9Yj2kn2aPSwSa441t0=";
};
vendorHash = "sha256-1jqGRwgbfcOq6fE3h9RJSeLRlFkd4w4L/2RwscA0zZ0=";
vendorHash = "sha256-NljQGN/B/+gdMGmE1pI2rJPfZNY3xBHYLf+xPxzuh3w=";
nativeBuildInputs = [ pkg-config ];

View File

@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-deny";
version = "0.19.8";
version = "0.19.9";
src = fetchFromGitHub {
owner = "EmbarkStudios";
repo = "cargo-deny";
tag = finalAttrs.version;
hash = "sha256-pcF/SYtlydu09ZXQ5/1Wm2gwttFBulEt27SCEY1+kNU=";
hash = "sha256-b3p4UxMDUNMKusgGDji3A0myfAfYU+o4DFnhM4mrWao=";
};
cargoHash = "sha256-I2BHVcpULObHtsqBxzTvEPevZa/CkhlC/gj0ldofDwA=";
cargoHash = "sha256-+FWEA2T8CASg3MmTb7WpN4MO8lwiLZtsVDuWMddkUgA=";
nativeBuildInputs = [
pkg-config

View File

@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-xwin";
version = "0.22.0";
version = "0.23.0";
src = fetchFromGitHub {
owner = "rust-cross";
repo = "cargo-xwin";
rev = "v${finalAttrs.version}";
hash = "sha256-lJu/TyzKDj0yHCP83ouc6e52E48taOTQ9WpWAiqUxl4=";
hash = "sha256-pWaJKk4XgBeY4llRTHvuMg0mAfEV4GFpeWGaM8eYsN4=";
};
cargoHash = "sha256-k3PuEjiew012+m4RRVKNOdxKvFPWIxKHgG/SrBjM2WM=";
cargoHash = "sha256-iO0uAYdi8Vy9gi7lHsGRmhDsVNQCqo4E/nbTfI32jDs=";
meta = {
description = "Cross compile Cargo project to Windows MSVC target with ease";

View File

@@ -6,19 +6,19 @@ GEM
mime-types (3.7.0)
logger
mime-types-data (~> 3.2025, >= 3.2025.0507)
mime-types-data (3.2025.0924)
mime-types-data (3.2026.0414)
mini_exiftool (2.14.0)
ostruct (>= 0.6.0)
pstore (>= 0.1.3)
mini_portile2 (2.8.9)
nokogiri (1.18.10)
nokogiri (1.19.3)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
ostruct (0.6.3)
pstore (0.2.0)
pstore (0.2.1)
racc (1.8.1)
rexml (3.4.4)
rubyzip (3.2.2)
rubyzip (3.4.0)
spider (0.7.0)
PLATFORMS

View File

@@ -38,10 +38,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0a27k4jcrx7pvb0p59fn1frh14iy087c2aygrdkmgwsrbshvqxpj";
sha256 = "1k28j6ww8rf43r5i8278jvm2cq3pnzsvqm7yqpb4p93kadjlq726";
type = "gem";
};
version = "3.2025.0924";
version = "3.2026.0414";
};
mini_exiftool = {
dependencies = [
@@ -76,10 +76,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1hcwwr2h8jnqqxmf8mfb52b0dchr7pm064ingflb78wa00qhgk6m";
sha256 = "1s30b7h7qpyim30m8060xs415mbr3ci7i5hdg09chh1aqfx2qcbq";
type = "gem";
};
version = "1.18.10";
version = "1.19.3";
};
ostruct = {
groups = [ "default" ];
@@ -96,10 +96,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1a3lrq8k62n8bazhxgdmjykni9wv0mcjks5vi1g274i3wblcgrfn";
sha256 = "06icf1n6z7snygcq51zdm1zdz20cpkd4qw76s6b9wmv65h7lv403";
type = "gem";
};
version = "0.2.0";
version = "0.2.1";
};
racc = {
groups = [ "default" ];
@@ -126,10 +126,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0g2vx9bwl9lgn3w5zacl52ax57k4zqrsxg05ixf42986bww9kvf0";
sha256 = "0yzmmwya4zis5f7zkhhp8p92m1xh2sg6rlbnlhsvc0m3xg4rpqvd";
type = "gem";
};
version = "3.2.2";
version = "3.4.0";
};
spider = {
groups = [ "default" ];
@@ -141,4 +141,14 @@
};
version = "0.7.0";
};
getoptlong = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "198vy9dxyzibqdbw9jg8p2ljj9iknkyiqlyl229vz55rjxrz08zx";
type = "gem";
};
version = "0.2.1";
};
}

View File

@@ -1,6 +1,6 @@
{
stdenv,
lib,
stdenv,
fetchFromGitHub,
bundlerEnv,
bundlerUpdateScript,
@@ -14,12 +14,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "cewl";
version = "5.5.2";
version = "6.2.1";
src = fetchFromGitHub {
owner = "digininja";
repo = "CeWL";
tag = finalAttrs.version;
hash = "sha256-5LTZUr3OMeu1NODhIgBiVqtQnUWYfZTm73q61vT3rXc=";
hash = "sha256-wMTGAB4P925z2UYNvlN4kSu1SLzKyB4a/Cjq4BofJ9w=";
};
buildInputs = [ rubyEnv.wrappedRuby ];
@@ -34,8 +35,10 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Custom wordlist generator";
mainProgram = "cewl";
homepage = "https://digi.ninja/projects/cewl.php/";
changelog = "https://github.com/digininja/CeWL/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
mainProgram = "cewl";
};
})

View File

@@ -90,7 +90,7 @@ buildNpmPackage rec {
homepage = "https://github.com/BruceMacD/chatd";
changelog = "https://github.com/BruceMacD/chatd/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.lucasew ];
maintainers = [ ];
mainProgram = "chatd";
platforms = electron.meta.platforms;
};

View File

@@ -6,14 +6,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "check-jsonschema";
version = "0.37.2";
version = "0.37.3";
pyproject = true;
src = fetchFromGitHub {
owner = "python-jsonschema";
repo = "check-jsonschema";
tag = finalAttrs.version;
hash = "sha256-Uflc92J8oSl633FD+DDIDGXvrFCfwpyxTqoNHLcHEpE=";
hash = "sha256-9s0AitPH9PAuQ7FH009ppBbH5Z2aNjhinAungoXX3OQ=";
};
build-system = with python3Packages; [ setuptools ];

View File

@@ -1,61 +0,0 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
libx11,
gtk2,
fig2dev,
wrapGAppsHook3,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "chemtool";
version = "1.6.14";
src = fetchurl {
url = "http://ruby.chemie.uni-freiburg.de/~martin/chemtool/chemtool-${finalAttrs.version}.tar.gz";
sha256 = "hhYaBGE4azNKX/sXzfCUpJGUGIRngnL0V0mBNRTdr8s=";
};
nativeBuildInputs = [
pkg-config
wrapGAppsHook3
];
buildInputs = [
libx11
gtk2
fig2dev
];
# Workaround build on -fno-common toolchains like upstream gcc-10.
# Otherwise built fails as:
# ld: inout.o:/build/chemtool-1.6.14/ct1.h:279: multiple definition of
# `outtype'; draw.o:/build/chemtool-1.6.14/ct1.h:279: first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
preFixup = ''
gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ fig2dev ]}")
'';
meta = {
homepage = "http://ruby.chemie.uni-freiburg.de/~martin/chemtool/";
description = "Draw chemical structures";
longDescription = ''
Chemtool is a program for drawing organic molecules. It runs under the X
Window System using the GTK widget set.
Most operations in chemtool can be accomplished using the mouse - the
first (usually the left) button is used to select or place things, the
middle button modifies properties (e.g. reverses the direction of a bond),
and the right button is used to delete objects.
The program offers essentially unlimited undo/redo, two text fonts plus
symbols, seven colors, drawing at several zoom scales, and square and
hexagonal backdrop grids for easier alignment.
'';
license = lib.licenses.mit;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -14,7 +14,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "SinTan1729";
repo = "chhoto-url";
tag = finalAttrs.version;
hash = "sha256-B6bMuy/EEveYtQtGBO5CNeEUlPK8eQ412k+SwlRPm2M=";
hash = "sha256-n8fCQeY0gIyZuACKWa8Fk9TQ680PpVS2MHMFy7UgDwk=";
fetchLFS = true;
};
sourceRoot = "${finalAttrs.src.name}/actix";

View File

@@ -3,7 +3,7 @@
stdenv,
fetchFromGitHub,
rebar3,
erlang,
beamPackages,
opencl-headers,
ocl-icd,
}:
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
'';
buildInputs = [
erlang
beamPackages.erlang
rebar3
opencl-headers
ocl-icd

View File

@@ -1,6 +1,6 @@
import ./generic.nix {
version = "26.3.12.3-lts";
rev = "d23c7536b980c34b39c850b08ef23c509f06aaaa";
hash = "sha256-xM+dqOSNa4rMaCGgz86UCdF3szwXgYr5vH1Ov7y4X08=";
version = "26.3.13.31-lts";
rev = "27ae4e9fe0e3f97f012b3be293caf42a60d08747";
hash = "sha256-NTts2SiaQ+B+iPCAPLF4fLQmZ9/0Gp2FFu/E0aXfCMc=";
lts = true;
}

View File

@@ -4,31 +4,37 @@
fetchFromGitLab,
lib,
libGL,
libdecor,
libgbm,
libx11,
libxcursor,
libxext,
libxi,
libxinerama,
libxkbcommon,
libxrandr,
libxxf86vm,
makeDesktopItem,
libgbm,
makeWrapper,
pkg-config,
stdenv,
wayland,
wl-clipboard,
}:
buildGoModule (finalAttrs: {
pname = "clipqr";
version = "1.3.0";
version = "1.4.0";
src = fetchFromGitLab {
owner = "imatt-foss";
repo = "clipqr";
rev = "v${finalAttrs.version}";
hash = "sha256-iuA6RqclMm1CWaiM1kpOpgfYvKaYGOIwFQkLr/nCL5M=";
hash = "sha256-DC6zc1Qe/z7ihuvdawb8bj5MefYGgt7HAV5dWTjeHZc=";
};
vendorHash = null;
vendorHash = "sha256-MrXMbavff6CEKVbL+Mx8hICYB9sZQcvAhnu2X4sVvVw=";
tags = [ "wayland" ];
ldflags = [
"-s"
@@ -37,23 +43,30 @@ buildGoModule (finalAttrs: {
buildInputs = [
libGL
libgbm
libx11
libxcursor
libxext
libxi
libxinerama
libxkbcommon
libxrandr
libxxf86vm
libgbm
wayland
];
nativeBuildInputs = [
copyDesktopItems
makeWrapper
pkg-config
];
postInstall = ''
install -Dm644 icon.svg $out/share/icons/hicolor/scalable/apps/clipqr.svg
wrapProgram $out/bin/clipqr \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libdecor ]} \
--prefix PATH : ${lib.makeBinPath [ wl-clipboard ]}
'';
desktopItems = [
@@ -73,7 +86,7 @@ buildGoModule (finalAttrs: {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ MatthieuBarthel ];
homepage = "https://gitlab.com/imatt-foss/clipqr";
broken = stdenv.hostPlatform.isDarwin;
platforms = lib.platforms.linux;
mainProgram = "clipqr";
};
})

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