Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-04-11 00:15:47 +00:00
committed by GitHub
116 changed files with 4788 additions and 223 deletions

View File

@@ -257,6 +257,7 @@ let
config
specialArgs
;
_class = class;
}
// specialArgs
);

View File

@@ -681,6 +681,18 @@ checkConfigOutput '^true$' config.viaConfig ./mkDefinition.nix
checkConfigOutput '^true$' config.mkMerge ./mkDefinition.nix
checkConfigOutput '^true$' config.mkForce ./mkDefinition.nix
# specialArgs._class
checkConfigOutput '"nixos"' config.nixos.config.foo ./specialArgs-class.nix
checkConfigOutput '"bar"' config.conditionalImportAsNixos.config.foo ./specialArgs-class.nix
checkConfigError 'attribute .*bar.* not found' config.conditionalImportAsNixos.config.bar ./specialArgs-class.nix
checkConfigError 'attribute .*foo.* not found' config.conditionalImportAsDarwin.config.foo ./specialArgs-class.nix
checkConfigOutput '"foo"' config.conditionalImportAsDarwin.config.bar ./specialArgs-class.nix
checkConfigOutput '"nixos"' config.sub.nixos.foo ./specialArgs-class.nix
checkConfigOutput '"bar"' config.sub.conditionalImportAsNixos.foo ./specialArgs-class.nix
checkConfigError 'attribute .*bar.* not found' config.sub.conditionalImportAsNixos.bar ./specialArgs-class.nix
checkConfigError 'attribute .*foo.* not found' config.sub.conditionalImportAsDarwin.foo ./specialArgs-class.nix
checkConfigOutput '"foo"' config.sub.conditionalImportAsDarwin.bar ./specialArgs-class.nix
cat <<EOF
====== module tests ======
$pass Pass

View File

@@ -0,0 +1,3 @@
{ _class, ... }:
assert _class == "nixos";
{ }

View File

@@ -5,7 +5,9 @@
nixosOk = lib.mkOption {
type = lib.types.submoduleWith {
class = "nixos";
modules = [ ];
modules = [
./assert-module-class-is-nixos.nix
];
};
};
# Same but will have bad definition
@@ -45,6 +47,7 @@
class = "nixos";
modules = [
./module-class-is-nixos.nix
./assert-module-class-is-nixos.nix
];
};

View File

@@ -0,0 +1,8 @@
{ _class, lib, ... }:
{
options = {
foo = lib.mkOption {
default = _class;
};
};
}

View File

@@ -0,0 +1,23 @@
{ _class, lib, ... }:
let
nixosModule =
{ ... }:
{
options.foo = lib.mkOption {
default = "bar";
};
};
darwinModule =
{ ... }:
{
options.bar = lib.mkOption {
default = "foo";
};
};
in
{
imports = [
(lib.optionalAttrs (_class == "nixos") nixosModule)
(lib.optionalAttrs (_class == "darwin") darwinModule)
];
}

View File

@@ -0,0 +1,54 @@
{ lib, ... }:
{
options = {
sub = {
nixos = lib.mkOption {
type = lib.types.submoduleWith {
class = "nixos";
modules = [
./expose-module-class.nix
];
};
default = { };
};
conditionalImportAsNixos = lib.mkOption {
type = lib.types.submoduleWith {
class = "nixos";
modules = [
./polymorphic-module.nix
];
};
default = { };
};
conditionalImportAsDarwin = lib.mkOption {
type = lib.types.submoduleWith {
class = "darwin";
modules = [
./polymorphic-module.nix
];
};
default = { };
};
};
};
config = {
_module.freeformType = lib.types.anything;
nixos = lib.evalModules {
class = "nixos";
modules = [ ./expose-module-class.nix ];
};
conditionalImportAsNixos = lib.evalModules {
class = "nixos";
modules = [ ./polymorphic-module.nix ];
};
conditionalImportAsDarwin = lib.evalModules {
class = "darwin";
modules = [ ./polymorphic-module.nix ];
};
};
}

View File

@@ -216,6 +216,24 @@ with lib.maintainers;
enableFeatureFreezePing = true;
};
cosmic = {
members = [
a-kenji
ahoneybun
drakon64
griffi-gh
HeitorAugustoLN
nyabinary
pandapip1
qyliss
thefossguy
];
githubTeams = [ "cosmic" ];
shortName = "cosmic";
scope = "Maintain the COSMIC DE and related packages.";
enableFeatureFreezePing = true;
};
cuda = {
members = [
connorbaker

View File

@@ -1490,6 +1490,7 @@
./services/web-apps/archtika.nix
./services/web-apps/artalk.nix
./services/web-apps/audiobookshelf.nix
./services/web-apps/baikal.nix
./services/web-apps/bluemap.nix
./services/web-apps/bookstack.nix
./services/web-apps/c2fmzq-server.nix

View File

@@ -153,6 +153,7 @@ in
CapabilityBoundingSet = [
"CAP_NET_BIND_SERVICE" # sockets and tethering
];
ConfigurationDirectoryMode = "0755";
NoNewPrivileges = true;
RestrictNamespaces = true;
ProtectControlGroups = true;

View File

@@ -0,0 +1,141 @@
{
config,
lib,
pkgs,
...
}:
let
common-name = "baikal";
cfg = config.services.baikal;
in
{
meta.maintainers = [ lib.maintainers.wrvsrx ];
options = {
services.baikal = {
enable = lib.mkEnableOption "baikal";
user = lib.mkOption {
type = lib.types.str;
default = common-name;
description = ''
User account under which the web-application run.
'';
};
group = lib.mkOption {
type = lib.types.str;
default = common-name;
description = ''
Group account under which the web-application run.
'';
};
pool = lib.mkOption {
type = lib.types.str;
default = common-name;
description = ''
Name of existing phpfpm pool that is used to run web-application.
If not specified a pool will be created automatically with
default values.
'';
};
virtualHost = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = common-name;
description = ''
Name of the nginx virtualhost to use and setup. If null, do not setup any virtualhost.
'';
};
phpPackage = lib.mkOption {
type = lib.types.package;
default = pkgs.php;
defaultText = "pkgs.php";
description = ''
php package to use for php fpm daemon.
'';
};
package = lib.mkOption {
type = lib.types.package;
default = pkgs.baikal;
defaultText = "pkgs.baikal";
description = ''
Baikal package to use.
'';
};
};
};
config = lib.mkIf cfg.enable {
services.phpfpm.pools = lib.mkIf (cfg.pool == "${common-name}") {
${common-name} = {
inherit (cfg) user phpPackage;
phpEnv = {
"BAIKAL_PATH_CONFIG" = "/var/lib/baikal/config/";
"BAIKAL_PATH_SPECIFIC" = "/var/lib/baikal/specific/";
};
settings = lib.mapAttrs (name: lib.mkDefault) {
"listen.owner" = "nginx";
"listen.group" = "nginx";
"listen.mode" = "0600";
"pm" = "dynamic";
"pm.max_children" = 75;
"pm.start_servers" = 1;
"pm.min_spare_servers" = 1;
"pm.max_spare_servers" = 4;
"pm.max_requests" = 500;
"pm.process_idle_timeout" = 30;
"catch_workers_output" = 1;
};
};
};
services.nginx = lib.mkIf (cfg.virtualHost != null) {
enable = true;
virtualHosts."${cfg.virtualHost}" = {
root = "${cfg.package}/share/php/baikal/html";
locations = {
"/" = {
index = "index.php";
};
"/.well-known/".extraConfig = ''
rewrite ^/.well-known/caldav /dav.php redirect;
rewrite ^/.well-known/carddav /dav.php redirect;
'';
"~ /(\.ht|Core|Specific|config)".extraConfig = ''
deny all;
return 404;
'';
"~ ^(.+\.php)(.*)$".extraConfig = ''
try_files $fastcgi_script_name =404;
include ${config.services.nginx.package}/conf/fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass unix:${config.services.phpfpm.pools.${cfg.pool}.socket};
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
'';
};
};
};
users.users.${cfg.user} = lib.mkIf (cfg.user == common-name) {
description = "baikal service user";
isSystemUser = true;
inherit (cfg) group;
};
users.groups.${cfg.group} = lib.mkIf (cfg.group == common-name) { };
systemd.tmpfiles.settings."baikal" = builtins.listToAttrs (
map
(x: {
name = "/var/lib/baikal/${x}";
value.d = {
mode = "0700";
inherit (cfg) user group;
};
})
[
"config"
"specific"
"specific/db"
]
);
};
}

View File

@@ -101,7 +101,7 @@ return Promise to resolve in that process."
("gitlab" (list "nix-prefetch-url"
"--unpack" (concat "https://gitlab.com/api/v4/projects/"
(url-hexify-string repo)
"/repository/archive.tar.gz?ref="
"/repository/archive.tar.gz?sha="
commit)))
("sourcehut" (list "nix-prefetch-url"
"--unpack" (concat "https://git.sr.ht/~" repo "/archive/" commit ".tar.gz")))

View File

@@ -12,8 +12,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "r";
publisher = "reditorsupport";
version = "2.8.4";
hash = "sha256-wVT9/JUuqP8whW99q1gwVMf7PRzgZNLoIdlXsclpbck=";
version = "2.8.5";
hash = "sha256-cZeZdrViEae9sRb9GyB/LeSQ5NRb/fAp3qQW9mPMbsM=";
};
nativeBuildInputs = [
jq

View File

@@ -162,11 +162,11 @@
"vendorHash": null
},
"bigip": {
"hash": "sha256-I77ERUEEBIwco1t/fCZ266gJ7G6GXIug+6Df0OC6XgU=",
"hash": "sha256-MVnqTt9Hsc2wqKbCK+mEpNnNf1mKU6NgTPxO/8LZbaw=",
"homepage": "https://registry.terraform.io/providers/F5Networks/bigip",
"owner": "F5Networks",
"repo": "terraform-provider-bigip",
"rev": "v1.22.8",
"rev": "v1.22.9",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -399,13 +399,13 @@
"vendorHash": "sha256-XxltOTtCgmJ9wZX8Yw39HkwVVZb58kZjAH7jfKPhjKM="
},
"doppler": {
"hash": "sha256-Gxeq6uAkLW2ZI6FcgLb08DHGr/kCaEXrrSI8C7God2Y=",
"hash": "sha256-VzdtksB/zrsf3z3J/1UEehiuQYM7cyxTef892PGYrxo=",
"homepage": "https://registry.terraform.io/providers/DopplerHQ/doppler",
"owner": "DopplerHQ",
"repo": "terraform-provider-doppler",
"rev": "v1.15.0",
"rev": "v1.16.0",
"spdx": "Apache-2.0",
"vendorHash": "sha256-riWi+l7MsqaatRbo74w0c+oB+8RB7F3VEx4cj/NX72A="
"vendorHash": "sha256-B8mYLd4VdADWoQLWiCM85VQrBfDdlYQ0wkCp9eUBQ4U="
},
"elasticsearch": {
"hash": "sha256-a6kHN3w0sQCP+0+ZtFwcg9erfVBYkhNo+yOrnwweGWo=",
@@ -1228,11 +1228,11 @@
"vendorHash": "sha256-oEamCseBGmETqeBLiBHfh81oQNUHWfTrsegkFijvb20="
},
"spotinst": {
"hash": "sha256-tTU9+4wxSMSWmmeuSpS60FSuzg9BH6ylEaywLB9LwQc=",
"hash": "sha256-8BP8ltL2fWbTxRCdiypPzKvWpbUfLG6mRTAx3onujHY=",
"homepage": "https://registry.terraform.io/providers/spotinst/spotinst",
"owner": "spotinst",
"repo": "terraform-provider-spotinst",
"rev": "v1.216.0",
"rev": "v1.216.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-STIPYBMj6r630/J71fAeLTkrvop/8u7gToGcijopqCo="
},
@@ -1264,13 +1264,13 @@
"vendorHash": "sha256-9M1DsE/FPQK8TG7xCJWbU3HAJCK3p/7lxdzjO1oAfWs="
},
"sumologic": {
"hash": "sha256-x7TN3UrvW3/0MnvmJEQp9z/2qUe2yX21hk0V9/nZUF0=",
"hash": "sha256-15ZM0Uk0VEEPTC/paxUq4dTG/myV1yyJX8wJW/BuH/0=",
"homepage": "https://registry.terraform.io/providers/SumoLogic/sumologic",
"owner": "SumoLogic",
"repo": "terraform-provider-sumologic",
"rev": "v3.0.7",
"rev": "v3.0.8",
"spdx": "MPL-2.0",
"vendorHash": "sha256-YdWs2orKhbwAZSQYC73t4e/vvVxk8LrBPG9ZC38VcZE="
"vendorHash": "sha256-S3SBp17+qqA64tWydD5DYc9KahycJ+qDrdXvFwu6Lbc="
},
"sysdig": {
"hash": "sha256-9oj8rk4ltVcg5yPWU0WFxG1GvG3w9NM2MKi/UKM1U00=",
@@ -1309,11 +1309,11 @@
"vendorHash": "sha256-IKoDnClkmcCDFyt9QqWp10vZjfQpWByoUArY+hkXkVE="
},
"tencentcloud": {
"hash": "sha256-DkktMcHU0T9H/jGOq66N7n1bfBF7aDEWGYmQrzWsqr8=",
"hash": "sha256-ZLjCtxR9CPYCcEIlm+cTN1lLhLu8D+BAGEvjzKbQhH8=",
"homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
"owner": "tencentcloudstack",
"repo": "terraform-provider-tencentcloud",
"rev": "v1.81.178",
"rev": "v1.81.181",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -1481,12 +1481,12 @@
"vendorHash": "sha256-GRnVhGpVgFI83Lg34Zv1xgV5Kp8ioKTFV5uaqS80ATg="
},
"yandex": {
"hash": "sha256-NPwDdTHKvQVfGDfR0kv0KvjJrjiRs8JcPtMcb3qcm5k=",
"hash": "sha256-x2oPz2J1b0Hp/LqLv88cUS+XWvnbHBrXILlK0emtHd0=",
"homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex",
"owner": "yandex-cloud",
"repo": "terraform-provider-yandex",
"rev": "v0.139.0",
"rev": "v0.140.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-2UnAigHaUj1d1UV/bsLnf2MF1I26N6242n6O8xh7U1s="
"vendorHash": "sha256-y8siBGsl9b5s+XWNfhue1VF6FZ2AwhFIVm1eIkqqxzo="
}
}

View File

@@ -10,13 +10,13 @@
buildGoModule rec {
pname = "discordo";
version = "0-unstable-2025-03-31";
version = "0-unstable-2025-04-05";
src = fetchFromGitHub {
owner = "ayn2op";
repo = pname;
rev = "9e95b18ab7ba021a71f94e7520c1b9e3b73d3c0f";
hash = "sha256-XxjhLVs87npwuys5FmfMba6dg4NcgRPIieTDgI6UXyk=";
rev = "977e9c99b2c8aea2210e73541955515883931f03";
hash = "sha256-WFGyXfi3P0xr9bLqhBgtfAjc8fQRrmwSbvlFLPHRi5Q=";
};
vendorHash = "sha256-NKGsY/5FqLGbwyW6fVSxictDVhju0+jOJSBXQp3ZhFY=";

View File

@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "acpica-tools";
version = "R2024_12_12";
version = "R2025_04_04";
src = fetchFromGitHub {
owner = "acpica";
repo = "acpica";
tag = finalAttrs.version;
hash = "sha256-vxiWYUAEk54F1M0WrrMTHZ4DNJxxT/GaXetd5LjE808=";
hash = "sha256-+dMuyp3tT0eSLPyzLseuHMY+nNfl6roBFrsnXiZSHkY=";
};
nativeBuildInputs = [

View File

@@ -25,10 +25,9 @@ appimageTools.wrapType2 {
nativeBuildInputs = [ makeWrapper ];
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/Altus.desktop $out/share/applications/altus.desktop
install -m 444 -D ${appimageContents}/Altus.png \
$out/share/icons/hicolor/scalable/apps/altus.png
substituteInPlace $out/share/applications/altus.desktop \
install -Dm 644 ${appimageContents}/Altus.desktop -t $out/share/applications
install -Dm 644 ${appimageContents}/Altus.png -t $out/share/icons/hicolor/256x256/apps
substituteInPlace $out/share/applications/Altus.desktop \
--replace-fail 'Exec=AppRun' 'Exec=altus'
wrapProgram "$out/bin/altus" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"

View File

@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "auth0-cli";
version = "1.10.1";
version = "1.11.0";
src = fetchFromGitHub {
owner = "auth0";
repo = "auth0-cli";
tag = "v${version}";
hash = "sha256-6JWruZahA3Stu89FGOH2vF6L4wi5CJmqPjJ6fcRkaMY=";
hash = "sha256-iLq316kCCk8Z4eOufbmeYi8tzSelUlwu/Q+h6j1ZMHk=";
};
vendorHash = "sha256-mW7eu8Va8XyV4hD4qkM86LvQhLGWirU+L5UKNvgQIFo=";
vendorHash = "sha256-bWirZgmgL/zZzT14X/VcpUN/lk3WRRJ+vbsabmjXznk=";
ldflags = [
"-s"

View File

@@ -10,13 +10,13 @@
buildGoModule rec {
pname = "aws-nuke";
version = "3.51.0";
version = "3.51.1";
src = fetchFromGitHub {
owner = "ekristen";
repo = "aws-nuke";
tag = "v${version}";
hash = "sha256-ITYHcmOK+vPezxdMNsFwdxUXDHXljVUOyrdR7eXJYeE=";
hash = "sha256-sInF2z9m5BQALE7a1/72HhLfvfdY2mIcMSurhz/jmpg=";
};
vendorHash = "sha256-DK7nR5P/Y/aSpG+AORYHmVypeVNfRqWE7X8J40lVyjY=";

3208
pkgs/by-name/ba/baikal/composer.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,25 @@
{
php,
fetchFromGitHub,
lib,
}:
php.buildComposerProject rec {
pname = "baikal";
version = "0.10.1";
src = fetchFromGitHub {
owner = "sabre-io";
repo = "Baikal";
tag = version;
hash = "sha256-YQQwTdwfHQZdUhO5HbScj/Bl8ype7TtPI3lHjvz2k04=";
};
# It doesn't provide a composer.lock file, we have to generate manually.
composerLock = ./composer.lock;
vendorHash = "sha256-R9DlgrULUJ02wBOGIdOQrcKiATSSZ/UApYODQ8485Qs=";
meta = {
description = "Lightweight CalDAV+CardDAV server that offers an extensive web interface with easy management of users, address books and calendars";
homepage = "https://sabre.io/baikal/";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ wrvsrx ];
};
}

View File

@@ -13,17 +13,17 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-release";
version = "0.25.17";
version = "0.25.18";
src = fetchFromGitHub {
owner = "crate-ci";
repo = "cargo-release";
tag = "v${version}";
hash = "sha256-SFuEcku6NZlOqLVYrlCJB+ofa8WaL9HJzJcZ42uJ434=";
hash = "sha256-1CHUkXjb8+wOFQWo/04KcLaJcv/dLiDYwPrSnzWucXI=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-663u8pUnMlUE/6+1WitbLJlJjtLKohns4FM5Iup/WzU=";
cargoHash = "sha256-ESaESon1oJAlvsv6+TIb/lLsOQmjgheQWm82Lr0mJOE=";
nativeBuildInputs = [
pkg-config

View File

@@ -23,15 +23,15 @@
}:
let
version = "2025.1.861";
version = "2025.2.600";
sources = {
x86_64-linux = fetchurl {
url = "https://pkg.cloudflareclient.com/pool/noble/main/c/cloudflare-warp/cloudflare-warp_${version}.0_amd64.deb";
hash = "sha256-9Y1mBKS74x1F3OEusqvm7W8RoJnfBHnXTtwbFVfhjc4=";
hash = "sha256-YY80XGTkKqE5pywuidvXPytv0/uMD4eMIcBlSpEV2Ps=";
};
aarch64-linux = fetchurl {
url = "https://pkg.cloudflareclient.com/pool/noble/main/c/cloudflare-warp/cloudflare-warp_${version}.0_arm64.deb";
hash = "sha256-WM9c17t5rJDdGeMP17k/eZx4knLHd+MbkleIF1mNA4A=";
hash = "sha256-ueZL0rX1FCkd7jFpM2c63eu11vFBCUVnl1uOGxPClZU=";
};
};
in

View File

@@ -11,13 +11,13 @@
buildGoModule rec {
pname = "coroot";
version = "1.9.9";
version = "1.9.10";
src = fetchFromGitHub {
owner = "coroot";
repo = "coroot";
rev = "v${version}";
hash = "sha256-pGNlXXggy32vnbbjGNCev8HzUltls1ElGVULPhOwoRQ=";
hash = "sha256-7ylShJhf1ZUK3JM8yV0WlSdJ3b/IOq4iq5+4pjdIGOw=";
};
vendorHash = "sha256-wyxNT8g5TUCjlxauL7NmCf4HZ91V2nD64L1L/rYH864=";

View File

@@ -3,6 +3,8 @@
fetchFromGitHub,
stdenv,
rustPlatform,
pop-gtk-theme,
adw-gtk3,
pkg-config,
geoclue2-with-demo-agent,
libinput,
@@ -21,6 +23,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
hash = "sha256-DtwW6RxHnNh87Xu0NCULfUsHNzYU9tHtFKE9HO3rvME=";
};
postPatch = ''
substituteInPlace src/battery.rs \
--replace-fail '/usr/share/sounds/Pop/' '${pop-gtk-theme}/share/sounds/Pop/'
substituteInPlace src/theme.rs \
--replace-fail '/usr/share/themes/adw-gtk3' '${adw-gtk3}/share/themes/adw-gtk3'
'';
useFetchCargoVendor = true;
cargoHash = "sha256-lGzQBL9IXbPsaKeVHp34xkm5FnTxWvfw4wg3El4LZdA=";

View File

@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cpptrace";
version = "0.8.2";
version = "0.8.3";
src = fetchFromGitHub {
owner = "jeremy-rifkin";
repo = "cpptrace";
tag = "v${finalAttrs.version}";
hash = "sha256-3BnAWRpKJR5lsokpmbOLUIQGuiH46AM1NQwOtBl28AA=";
hash = "sha256-oFwRFFDLl4/3szVj/ge8cSrpuuHEzf4VsCPGTE0dxRc=";
};
nativeBuildInputs = [

View File

@@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "exploitdb";
version = "2025-04-08";
version = "2025-04-10";
src = fetchFromGitLab {
owner = "exploit-database";
repo = "exploitdb";
rev = "refs/tags/${version}";
hash = "sha256-xo9DhcQyigfAOF/yn46U09YMr8jlbJZp93wwJ4btr6Y=";
hash = "sha256-vbcFCeQv1ZQX/SI6LAr04L2ncaE8fcI7TATfwCRNcQA=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@@ -45,13 +45,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fastfetch";
version = "2.40.3";
version = "2.40.4";
src = fetchFromGitHub {
owner = "fastfetch-cli";
repo = "fastfetch";
tag = finalAttrs.version;
hash = "sha256-iGrUBhomnn5880lrjtLK7OEG7R2ZvpoM4fBauxUGECc=";
hash = "sha256-s9QIjN4x1wovnq3eOQEyWhqSK1nlefGnnC9n356qEE4=";
};
outputs = [

View File

@@ -8,15 +8,15 @@
buildGoModule rec {
pname = "ginkgo";
version = "2.23.3";
version = "2.23.4";
src = fetchFromGitHub {
owner = "onsi";
repo = "ginkgo";
rev = "v${version}";
sha256 = "sha256-lDSw4BPYZ5wOuaoUtSSkdbcOpKAEuLsSwldrASpM6mA=";
sha256 = "sha256-bTgZHO9dArqYKCqruQPzpiLFtzK9RzxOonwl0SmoNQc=";
};
vendorHash = "sha256-uqpib3k5PtQOsndic0GV1rYBeVlY5Tpg931yHfU6dWI=";
vendorHash = "sha256-iwKOgeUbzlfrto5t0utEdKb+PVqcpmViuDhK2PBAzHw=";
# integration tests expect more file changes
# types tests are missing CodeLocation

View File

@@ -10,15 +10,15 @@
buildGoModule rec {
pname = "gitsign";
version = "0.12.0";
version = "0.13.0";
src = fetchFromGitHub {
owner = "sigstore";
repo = pname;
rev = "v${version}";
hash = "sha256-MOj3bpVgeZlsvJqPD5mAud7jSHsRPCKvYAe2aQ4rWcw=";
hash = "sha256-sxkQOqlCgS/QFfRN5Rtdih2zjiGHY6H9Kjlw0Q74W2A=";
};
vendorHash = "sha256-POB8mSGyW45RSbNq9Vp/LW3jEtnHi7zufihXFTnWEfw=";
vendorHash = "sha256-CvswCIczi+MyHsluz39CnfVJEcc49wkEby67qHxv+wI=";
subPackages = [
"."

View File

@@ -0,0 +1,10 @@
--- a/bindings/python/__init__.py
+++ b/bindings/python/__init__.py
@@ -1,3 +1,7 @@
+import os
+os.environ['GNC_DBD_DIR'] = '@gnc_dbd_dir@'
+os.environ['GSETTINGS_SCHEMA_DIR'] = '@gsettings_schema_dir@'
+
# import all the symbols from gnucash_core, so basic gnucash stuff can be
# loaded with:
# >>> from gnucash import thingy

View File

@@ -25,6 +25,8 @@
swig,
webkitgtk_4_0,
wrapGAppsHook3,
python3,
replaceVars,
}:
stdenv.mkDerivation rec {
@@ -45,6 +47,11 @@ stdenv.mkDerivation rec {
pkg-config
];
cmakeFlags = [
"-DWITH_PYTHON=\"ON\""
"-DPYTHON_SYSCONFIG_BUILD=\"$out\""
];
buildInputs =
[
aqbanking
@@ -63,6 +70,7 @@ stdenv.mkDerivation rec {
libxslt
swig
webkitgtk_4_0
python3
]
++ (with perlPackages; [
JSONParse
@@ -79,8 +87,16 @@ stdenv.mkDerivation rec {
./0003-remove-valgrind.patch
# this patch makes gnucash exec the Finance::Quote wrapper directly
./0004-exec-fq-wrapper.patch
# this patch adds in env vars to the Python lib that makes it able to find required resource files
./0005-python-env.patch
];
postPatch = ''
substituteInPlace bindings/python/__init__.py \
--subst-var-by gnc_dbd_dir "${libdbiDrivers}/lib/dbd" \
--subst-var-by gsettings_schema_dir ${glib.makeSchemaPath "$out" "gnucash-${version}"};
'';
# this needs to be an environment variable and not a cmake flag to suppress
# guile warning
env.GUILE_AUTO_COMPILE = "0";

View File

@@ -17,17 +17,17 @@
buildGoModule rec {
pname = "grafana-alloy";
version = "1.7.5";
version = "1.8.1";
src = fetchFromGitHub {
owner = "grafana";
repo = "alloy";
tag = "v${version}";
hash = "sha256-4JfzjeF654+Q4Hc/0P08minpSJX3mO/p8EOeHUCKu6A=";
hash = "sha256-QuKwsKIm42hcWgLq2etjvBf+NDGiMVPQkKdQJZrFxUg=";
};
proxyVendor = true;
vendorHash = "sha256-rZcqCcb++A8HYLVcGVWQ61fEXAqF0GXbTze/GGsF5bA=";
vendorHash = "sha256-Vqhdc+WZC8IACEzox5c4PsOvYwQ2WFL3lDM+hB1foE0=";
nativeBuildInputs = [
fixup-yarn-lock
@@ -70,7 +70,7 @@ buildGoModule rec {
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/internal/web/ui/yarn.lock";
hash = "sha256-4vZr3mPvk5IXoqSPuqhzYobAuK2NDK0dceNZUIQILvI=";
hash = "sha256-gKCjJe3TVpaHm/gwaNh4zeL5k4jlbWfF94aDYQ1brU8=";
};
preBuild = ''

View File

@@ -14,14 +14,14 @@
python3Packages.buildPythonApplication rec {
pname = "hatch";
version = "1.14.0";
version = "1.14.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pypa";
repo = "hatch";
tag = "hatch-v${version}";
hash = "sha256-JwFPNoFoNqAXkLCGhliLN98VAS+VCwRzo+JqWLIrxsw=";
hash = "sha256-101R5x4jAfMYrdE3OWWqGmkPWRI9rSMYr+Lye9NCbA4=";
};
patches = [ (replaceVars ./paths.patch { uv = lib.getExe python3Packages.uv; }) ];

View File

@@ -13,13 +13,13 @@
}:
let
version = "1.10.2";
version = "1.10.3";
src = fetchFromGitHub {
owner = "hedgedoc";
repo = "hedgedoc";
tag = version;
hash = "sha256-WDLcBnqhoKt6E41CzumOZg/5qvKFccN6gwirLTcwWYo=";
hash = "sha256-hXcPcGj+efvRVt3cHQc9KttE0/DOD9Bul6f3cY4ofgs=";
};
# we cannot use fetchYarnDeps because that doesn't support yarn 2/berry lockfiles
@@ -44,7 +44,7 @@ let
'';
outputHashMode = "recursive";
outputHash = "sha256-u/t2uvQ9oJnfjkSoPGjGsESWIsQHWvj9GP08aD6RkJk=";
outputHash = "sha256-KTUj1O2AA1qTQOqTbGBPLHAgiG5sG832Na8qLvEccmc=";
};
in

View File

@@ -5,10 +5,10 @@
}:
let
pname = "heptabase";
version = "1.54.0";
version = "1.55.1";
src = fetchurl {
url = "https://github.com/heptameta/project-meta/releases/download/v${version}/Heptabase-${version}.AppImage";
hash = "sha256-wn/HYtwOdP5n5GVJgNWjeujwhDAYE8PfK84JcuJjOwg=";
hash = "sha256-m18EUpcxUW5hyhFYLhHZqIEStqzsyss7T4TelAjw/eQ=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };

View File

@@ -5,7 +5,7 @@
}:
let
version = "0.7.4";
version = "0.8.0";
in
rustPlatform.buildRustPackage {
inherit version;
@@ -15,11 +15,11 @@ rustPlatform.buildRustPackage {
owner = "sectordistrict";
repo = "intentrace";
tag = "v${version}";
hash = "sha256-QmHGi8gSXccakvbFNMCCo/5m9BTgXqlLhh4DZxs30iw=";
hash = "sha256-ONOYxtY4e+lxjp1nQ7L8O0xwhEqS3f56KmDFtNo4s80=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-mvchd2LA2PUPDFQ3e0dmpMITmRL+wCxp8kLDo9fG/js=";
cargoHash = "sha256-EyOCs7PpsTd2NQbqcXb4ZlZPPTvHQlraxy5liTA2hcE=";
meta = {
description = "Prettified Linux syscall tracing tool (like strace)";

View File

@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation {
pname = "jawiki-all-titles-in-ns0";
version = "0-unstable-2025-03-01";
version = "0-unstable-2025-04-01";
src = fetchFromGitHub {
owner = "musjj";
repo = "jawiki-archive";
rev = "e8e2b841c48b4475cc2ae99c4635ea140aa630d6";
hash = "sha256-TJMOjayu9lWxg6j9HurXbxGc9RrCb/arXkVSezR2kgc=";
rev = "7c9ce3d1e3000a56222011566a9d8cb9b910416d";
hash = "sha256-Yw/Iv7osjhL1kZwTOc2iiOJIf96GPcEDTCNO67gwbYU=";
};
installPhase = ''

View File

@@ -18,11 +18,11 @@
stdenv.mkDerivation rec {
pname = "jenkins";
version = "2.492.2";
version = "2.492.3";
src = fetchurl {
url = "https://get.jenkins.io/war-stable/${version}/jenkins.war";
hash = "sha256-rmD71fB8pM1COkc37XHztU7PFGZruYoMv/anc1QMInU=";
hash = "sha256-kMz1VhM8Nv33ZTrXEPANJIvyiV+fvCbM7g4tO6aBsB8=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@@ -7,15 +7,15 @@
stdenvNoCC.mkDerivation {
pname = "jp-zip-code";
version = "0-unstable-2025-03-01";
version = "0-unstable-2025-04-01";
# This package uses a mirror as the source because the
# original provider uses the same URL for updated content.
src = fetchFromGitHub {
owner = "musjj";
repo = "jp-zip-codes";
rev = "82ea5a76dfaf43da8b838f20827ea535e37bd44c";
hash = "sha256-DhQlbYgy+p1FZ2a/PxbauQ4UGR83Q64A2a3bn/yWD6Y=";
rev = "b8a350701688cfa61cb2994937cd84e612e0abf3";
hash = "sha256-+YE0EINrhRhdqkJyPzXlBPp18TGECaGddVrBlQITYi8=";
};
installPhase = ''

View File

@@ -11,13 +11,13 @@
buildGoModule rec {
pname = "kraftkit";
version = "0.11.5";
version = "0.11.6";
src = fetchFromGitHub {
owner = "unikraft";
repo = "kraftkit";
rev = "v${version}";
hash = "sha256-rwowlwP56IAdogEL6/SBGDtvOW7FhO4+2vTWI755HXI=";
hash = "sha256-a6c7g2cxrawE7BRpcrsefCQ7xQ56wVOGjFexdkOKnv0=";
};
nativeBuildInputs = [
@@ -32,7 +32,7 @@ buildGoModule rec {
btrfs-progs
];
vendorHash = "sha256-LdLbAja4AoND5kA+A4rEl5r4tUVDTVxiYzV5GUJP+CA=";
vendorHash = "sha256-lwgxedKLcuV6RucbU26sDO+9j+8uWkignJDomFHaSXU=";
ldflags = [
"-s"

View File

@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "kubevpn";
version = "2.4.2";
version = "2.6.0";
src = fetchFromGitHub {
owner = "KubeNetworks";
repo = "kubevpn";
rev = "v${version}";
hash = "sha256-E/1MV/EjG9MU2xiCFC0jAvIwSAfyNCrhKcfedH5DPN0=";
hash = "sha256-P01hjVAA3h/TBPl8q9KuZoE5xWAhmJ5E2nFSuvfWIIg=";
};
vendorHash = null;

View File

@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "labwc-tweaks-gtk";
version = "0-unstable-2025-03-07";
version = "0-unstable-2025-04-01";
src = fetchFromGitHub {
owner = "labwc";
repo = "labwc-tweaks-gtk";
rev = "24635c72d4da21df0b66fa23fb4a15686d257521";
hash = "sha256-rDmY4+xUBv6Vw150X/3rP5bhW8Dmd8zEAyt86/c1+ss=";
rev = "b1779b293f1d0b07b328a6cbbfb5b1c4e3529d97";
hash = "sha256-K2f1ztuhi3+btc41/1FYVvTBnPEVM5XQmlJxW7y9MlY=";
};
nativeBuildInputs = [

View File

@@ -22,11 +22,11 @@ let
in
stdenvNoCC.mkDerivation rec {
pname = "linux-firmware";
version = "20250311";
version = "20250410";
src = fetchzip {
url = "https://cdn.kernel.org/pub/linux/kernel/firmware/linux-firmware-${version}.tar.xz ";
hash = "sha256-ZM7j+kUpmWJUQdAGbsfwOqsNV8oE0U2t6qnw0b7pT4g=";
hash = "sha256-aQdEl9+7zbNqWSII9hjRuPePvSfWVql5u5TIrGsa+Ao=";
};
postUnpack = ''

View File

@@ -10,20 +10,20 @@
buildGoModule rec {
pname = "mackerel-agent";
version = "0.84.2";
version = "0.84.3";
src = fetchFromGitHub {
owner = "mackerelio";
repo = pname;
rev = "v${version}";
sha256 = "sha256-sh5hbhWlyu70Wm2zTQeKiQr/nYi6bG4g6a/yvEnd/DU=";
sha256 = "sha256-933ZcpqfiB/6RW6Kv/PDPATITlX8p6xC+vu8MfZUdgY=";
};
nativeBuildInputs = [ makeWrapper ];
nativeCheckInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ nettools ];
buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ iproute2 ];
vendorHash = "sha256-2JpI67HkhNJcFTuveHSgsqmmHhWOjHC0f0dK0tOjwIc=";
vendorHash = "sha256-Q3HsfLA6xqzwXVfRc0bOb15kW2tdwj14DvJEZoRy0/4=";
subPackages = [ "." ];

View File

@@ -27,13 +27,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "melonDS";
version = "1.0rc-unstable-2025-03-09";
version = "1.0rc-unstable-2025-04-09";
src = fetchFromGitHub {
owner = "melonDS-emu";
repo = "melonDS";
rev = "0fcf1f6e3a443cb249f85d948ff6e58dc58501d6";
hash = "sha256-llRmW596UHs/q/DjqG8qQ1RqjvmGMsOO1IUkpjPW4h4=";
rev = "9ed7e5803e55c5eeb29ec560c8659b38ed331749";
hash = "sha256-wLCaGnaMYaPjFzYTph16WTdE89j4MFaO4FuIQdH9R80=";
};
nativeBuildInputs = [

View File

@@ -18,8 +18,8 @@ let
abseil-cpp = fetchFromGitHub {
owner = "abseil";
repo = "abseil-cpp";
rev = "9ac7062b1860d895fb5a8cbf58c3e9ef8f674b5f";
hash = "sha256-uOgUtF8gaEgcxFK9WAoAhv4GoS8P23IoUxHZZVZdpPk=";
rev = "d9e4955c65cd4367dd6bf46f4ccb8cd3d100540b";
hash = "sha256-QTywqQCkyGFpdbtDBvUwz9bGXxbJs/qoFKF6zYAZUmQ=";
};
benchmark = fetchFromGitHub {
owner = "google";
@@ -36,8 +36,8 @@ let
eigen3 = fetchFromGitLab {
owner = "libeigen";
repo = "eigen";
rev = "66f7f51b7e069d0a03a21157fa60b24aece69aeb";
hash = "sha256-/xd0GnXoW8vclIk8aKAziQwDx6AdlBmZD48p8aCX6TQ=";
rev = "464c1d097891a1462ab28bf8bb763c1683883892";
hash = "sha256-OJyfUyiR8PFSaWltx6Ig0RCB+LxPxrPtc0GUfu2dKrk=";
};
googletest = fetchFromGitHub {
owner = "google";
@@ -132,7 +132,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "mujoco";
version = "3.3.0";
version = "3.3.1";
# Bumping version? Make sure to look though the MuJoCo's commit
# history for bumped dependency pins!
@@ -140,7 +140,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "google-deepmind";
repo = "mujoco";
tag = finalAttrs.version;
hash = "sha256-6Mb50WD5ZQksKoG4FH3+iyy9qBqa1fKUPyt6McNDkGg=";
hash = "sha256-1bCB+z3Puo+AmdwEYy8v5+TJGBVk5xrN9rz+9I3h+r8=";
};
patches = [ ./mujoco-system-deps-dont-fetch.patch ];

View File

@@ -6,17 +6,17 @@
rustPlatform.buildRustPackage rec {
pname = "nixpacks";
version = "1.34.1";
version = "1.35.0";
src = fetchFromGitHub {
owner = "railwayapp";
repo = "nixpacks";
rev = "v${version}";
hash = "sha256-G3PIQfwddATVNhe/cEZBSFESX3grFqjUQjq40DB5mH4=";
hash = "sha256-lWd8y/gZTLza9WrIBSsqg0TUkmwzvcZE97kj+NnHrSI=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-h6DoUCj7wjN/qiy0rsC2fCHhQ8hcmSwFu7zaRw9tCUs=";
cargoHash = "sha256-BuQNJTvL7vxAAS86ENTqgFbneaRo/W+C1rhTmF9BgUM=";
# skip test due FHS dependency
doCheck = false;

View File

@@ -7,13 +7,13 @@
rustPlatform.buildRustPackage {
pname = "nufmt";
version = "0-unstable-2024-11-21";
version = "0-unstable-2025-04-09";
src = fetchFromGitHub {
owner = "nushell";
repo = "nufmt";
rev = "628a3b73ea637c96f2c191ae066cf1cecadeafa3";
hash = "sha256-ideILLOawU6BNawmr4lqt2LGkf29wvlwQe9gqgdYRiI=";
rev = "8a29b3a1e3b8009c0c2430d5158ac3ddb7f9e023";
hash = "sha256-aUaM/haZZOagG8/e4eUFsZJ1bhwAaS7fwNoCFUFYEAg=";
};
nativeBuildInputs = [

View File

@@ -60,13 +60,13 @@ let
in
flutter329.buildFlutterApplication rec {
pname = "oneanime";
version = "1.3.9";
version = "1.4.0";
src = fetchFromGitHub {
owner = "Predidit";
repo = "oneAnime";
tag = version;
hash = "sha256-7W+/Au3NJLO6lv8AZ0T+vs9bb+qgUV0Sz4qZSl7gR6c=";
hash = "sha256-1rNnJF16YEj6akq4jtIzI2skl/qxYgi/VQSeo1J87JM=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;

View File

@@ -180,11 +180,11 @@
"dependency": "direct main",
"description": {
"name": "canvas_danmaku",
"sha256": "a6761973c72328c3872fa288d0a943bf3675238a30913cf9cd0155d9b7cea9ca",
"sha256": "98fd90f257ffe93bd6a0bd857d92f40172767fc77ffb48b2379ac692e62150eb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.2.6"
"version": "0.2.7"
},
"characters": {
"dependency": "transitive",
@@ -806,7 +806,7 @@
"description": {
"path": "media_kit",
"ref": "main",
"resolved-ref": "d8eb365f7e957020f68309214e142fc527b855c7",
"resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
"url": "https://github.com/Predidit/media-kit.git"
},
"source": "git",
@@ -817,7 +817,7 @@
"description": {
"path": "libs/android/media_kit_libs_android_video",
"ref": "main",
"resolved-ref": "d8eb365f7e957020f68309214e142fc527b855c7",
"resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
"url": "https://github.com/Predidit/media-kit.git"
},
"source": "git",
@@ -828,7 +828,7 @@
"description": {
"path": "libs/ios/media_kit_libs_ios_video",
"ref": "main",
"resolved-ref": "d8eb365f7e957020f68309214e142fc527b855c7",
"resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
"url": "https://github.com/Predidit/media-kit.git"
},
"source": "git",
@@ -839,7 +839,7 @@
"description": {
"path": "libs/linux/media_kit_libs_linux",
"ref": "main",
"resolved-ref": "d8eb365f7e957020f68309214e142fc527b855c7",
"resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
"url": "https://github.com/Predidit/media-kit.git"
},
"source": "git",
@@ -850,7 +850,7 @@
"description": {
"path": "libs/macos/media_kit_libs_macos_video",
"ref": "main",
"resolved-ref": "d8eb365f7e957020f68309214e142fc527b855c7",
"resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
"url": "https://github.com/Predidit/media-kit.git"
},
"source": "git",
@@ -861,7 +861,7 @@
"description": {
"path": "libs/universal/media_kit_libs_video",
"ref": "main",
"resolved-ref": "d8eb365f7e957020f68309214e142fc527b855c7",
"resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
"url": "https://github.com/Predidit/media-kit.git"
},
"source": "git",
@@ -872,7 +872,7 @@
"description": {
"path": "libs/windows/media_kit_libs_windows_video",
"ref": "main",
"resolved-ref": "d8eb365f7e957020f68309214e142fc527b855c7",
"resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
"url": "https://github.com/Predidit/media-kit.git"
},
"source": "git",
@@ -883,7 +883,7 @@
"description": {
"path": "media_kit_video",
"ref": "main",
"resolved-ref": "d8eb365f7e957020f68309214e142fc527b855c7",
"resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
"url": "https://github.com/Predidit/media-kit.git"
},
"source": "git",
@@ -1699,11 +1699,11 @@
"dependency": "transitive",
"description": {
"name": "wakelock_plus",
"sha256": "36c88af0b930121941345306d259ec4cc4ecca3b151c02e3a9e71aede83c615e",
"sha256": "b90fbcc8d7bdf3b883ea9706d9d76b9978cb1dfa4351fcc8014d6ec31a493354",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.10"
"version": "1.2.11"
},
"wakelock_plus_platform_interface": {
"dependency": "transitive",
@@ -1828,6 +1828,6 @@
},
"sdks": {
"dart": ">=3.7.0 <4.0.0",
"flutter": ">=3.29.1"
"flutter": ">=3.29.2"
}
}

View File

@@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "pip-audit";
version = "2.8.0";
version = "2.9.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "trailofbits";
repo = "pip-audit";
tag = "v${version}";
hash = "sha256-UW7pJYMcc8Myc4DmrZqAPUhAVs9J6o8/6QQb5vxskcg=";
hash = "sha256-j8ZKqE7PEwaCTUNnJunqM0A2eyuWfx8zG5i3nmZERow=";
};
build-system = with python3.pkgs; [ flit-core ];
@@ -62,7 +62,7 @@ python3.pkgs.buildPythonApplication rec {
meta = with lib; {
description = "Tool for scanning Python environments for known vulnerabilities";
homepage = "https://github.com/trailofbits/pip-audit";
changelog = "https://github.com/pypa/pip-audit/releases/tag/v${version}";
changelog = "https://github.com/pypa/pip-audit/releases/tag/${src.tag}";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
mainProgram = "pip-audit";

View File

@@ -5,13 +5,13 @@
}:
buildGoModule rec {
pname = "pmtiles";
version = "1.27.0";
version = "1.27.1";
src = fetchFromGitHub {
owner = "protomaps";
repo = "go-pmtiles";
tag = "v${version}";
hash = "sha256-AeHdmspvx8/vThhbKDROGS7vKBxx9fpe1PFSrVUV1uI=";
hash = "sha256-SQzCNgRDu5elkCH0fTDL3w23Z6G2P1IuxSWwZYxQwVo=";
};
vendorHash = "sha256-kfEzpaFMf0W8Ygtl40LBy3AZQSL+9Uo+n2x9OTOavqk=";

View File

@@ -1,4 +1,5 @@
{
stdenv,
buildGoModule,
fetchFromGitHub,
installShellFiles,
@@ -30,7 +31,7 @@ buildGoModule rec {
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd pscale \
--bash <($out/bin/pscale completion bash) \
--fish <($out/bin/pscale completion fish) \

View File

@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pt2-clone";
version = "1.72";
version = "1.73";
src = fetchFromGitHub {
owner = "8bitbubsy";
repo = "pt2-clone";
rev = "v${finalAttrs.version}";
sha256 = "sha256-Laq2C2bjLqeyT8eRH0DVjGmGg8R3TBfFL3XzwXTzKzo=";
sha256 = "sha256-x7pAMa5Bs7Wc/rnQgEoxV0h1TbvNp5Q+vtlNXmyEgSw=";
};
nativeBuildInputs = [ cmake ];

View File

@@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "pyenv";
version = "2.5.4";
version = "2.5.5";
src = fetchFromGitHub {
owner = "pyenv";
repo = "pyenv";
tag = "v${version}";
hash = "sha256-8+e4kZoJ/dvx5X/JSlvtEzXiGZJmbtxSnWC1Z0YHtic=";
hash = "sha256-6Cl/St+PN4WmVNurw/bxbw0piqcoijxOfBCfDA6jyTk=";
};
nativeBuildInputs = [

View File

@@ -11,14 +11,14 @@
python3Packages.buildPythonApplication rec {
pname = "seagoat";
version = "0.54.4";
version = "0.54.6";
pyproject = true;
src = fetchFromGitHub {
owner = "kantord";
repo = "SeaGOAT";
tag = "v${version}";
hash = "sha256-vix/tecZfKPF2pMuaYhBa3Y0qh3DelWYpta8Qy0saUE=";
hash = "sha256-KEFA1DUfsJpeNkWui/WKazImGCSwTFlPD8qsGFJNtr0=";
};
build-system = [ python3Packages.poetry-core ];

View File

@@ -0,0 +1,56 @@
{
lib,
fetchFromGitHub,
python3Packages,
versionCheckHook,
}:
python3Packages.buildPythonApplication rec {
pname = "smpmgr";
version = "0.12.0";
pyproject = true;
src = fetchFromGitHub {
owner = "intercreate";
repo = "smpmgr";
tag = version;
hash = "sha256-HNL9e3D/uZwJI0d4escbhe51zKH7hBFAnCGZZuZdla4=";
};
build-system = with python3Packages; [
poetry-core
poetry-dynamic-versioning
setuptools
];
dependencies = with python3Packages; [
readchar
smpclient
typer
];
nativeCheckInputs = with python3Packages; [
pytestCheckHook
versionCheckHook
];
pythonRelaxDeps = [
"typer"
"smpclient"
];
versionCheckProgramArg = [ "--version" ];
pythonImportsCheck = [
"smpmgr"
];
meta = {
description = "Simple Management Protocol (SMP) Manager for remotely managing MCU firmware";
homepage = "https://github.com/intercreate/smpmgr";
changelog = "https://github.com/intercreate/smpmgr/releases/tag/${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ otavio ];
mainProgram = "smpmgr";
};
}

View File

@@ -13,17 +13,17 @@
}:
rustPlatform.buildRustPackage rec {
pname = "surrealdb";
version = "2.2.1";
version = "2.2.2";
src = fetchFromGitHub {
owner = "surrealdb";
repo = "surrealdb";
tag = "v${version}";
hash = "sha256-MzVyzhZ9BNxavlyj3E1D9Mo2/o6Yue21FdhpT8ziXwE=";
hash = "sha256-NUmv/Ue14xrmBCxOkVXvcPmOwAA8L6LLPRu5E5Zkxw0=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-Uza2Ujg8EKGJrzitch71qIevgUv+n3YCtkMLHIAgPr4=";
cargoHash = "sha256-NkAove8RlLkNI1KnMfJPnoqUswJ22Z2FOcpl05lqpKM=";
# error: linker `aarch64-linux-gnu-gcc` not found
postPatch = ''

View File

@@ -8,17 +8,17 @@
}:
rustPlatform.buildRustPackage rec {
pname = "television";
version = "0.11.5";
version = "0.11.6";
src = fetchFromGitHub {
owner = "alexpasmantier";
repo = "television";
tag = version;
hash = "sha256-2Yt98ZtoTHqCtyqGuPL583NBe2CHI+9PIyO0fnonM4E=";
hash = "sha256-wfIzmk4mCSdfSAJP2DcnpuQAg62m6CfynmxoH580k9A=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-+T/WC7jq6qra9qxQ+mR929LQavETHTtAGHKWm81cwNU=";
cargoHash = "sha256-C/umcbD/wb+Bz9Qbp7gx70Cr5blcXgEqsIfLKefZrrY=";
passthru = {
tests.version = testers.testVersion {

View File

@@ -5,18 +5,18 @@
}:
rustPlatform.buildRustPackage rec {
pname = "tlafmt";
version = "0.4.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "domodwyer";
repo = "tlafmt";
tag = "v${version}";
hash = "sha256-wZ0irWf9S4abcT1BvODFAQks9E6BO0gr43ibnSAxddo=";
hash = "sha256-79tCH4O7VFqiYloCAGVw7JJ5WvsFnjjKdBNmMPar+sk=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-UAYajXmKPg9Ow3iRqcEhT50YP+i4ZKWOHTTrYR1SzhI=";
cargoHash = "sha256-79eI2POpYr7nUThsWohetEzG17JAxMOVul5soJxYYms=";
meta = {
description = "Formatter for TLA+ specs";

View File

@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "tproxy";
version = "0.8.1";
version = "0.9.0";
src = fetchFromGitHub {
owner = "kevwan";
repo = "tproxy";
tag = "v${version}";
hash = "sha256-LX3ciC3cMYuQPm6ekEkJPrSdTXH+WZ4flXyrsvJZgn8=";
hash = "sha256-LiYZ9S7Jga4dQWHmqsPvlGDAAw5reO16LAYaNJZFnhE=";
};
vendorHash = "sha256-7s2gnd9UR/R7H5pcA8NcoenaabSVpMh3qzzkOr5RWnU=";
vendorHash = "sha256-YjkYb5copw0SM2lago+DyVgHIrqLDSBnO+4zLMq+YJ8=";
ldflags = [
"-w"

View File

@@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "treesheets";
version = "0-unstable-2025-03-28";
version = "0-unstable-2025-04-05";
src = fetchFromGitHub {
owner = "aardappel";
repo = "treesheets";
rev = "316918fd20bd1edab2f5ae8c18555537f7f9057b";
hash = "sha256-/z4qyISw41W1pQCrmXc9a9gCc4Unc1XM2EEFGZZLlAU=";
rev = "f42f3883dd98cb40d90a891d662c9ee9181089bf";
hash = "sha256-+wHsWAaG9UvPHiSIKy93vUpi5gWiDeGmXis+EGaQqZ0=";
};
nativeBuildInputs = [

View File

@@ -11,13 +11,13 @@
buildGoModule rec {
pname = "usql";
version = "0.19.19";
version = "0.19.21";
src = fetchFromGitHub {
owner = "xo";
repo = "usql";
tag = "v${version}";
hash = "sha256-IDCF/etK9mNjdcgQWEDj9tXP12c2CcEA2RamKlCXgRE=";
hash = "sha256-Ix1+uq5TpYp6JyT2KML8Ts/ElPeQCKz9qAW9DqQahbE=";
};
buildInputs = [
@@ -25,7 +25,7 @@ buildGoModule rec {
icu
];
vendorHash = "sha256-Z1Mjc+sI+8VHO9TTXUzF4yRvCtDs4sr/dGtjacXWCfE=";
vendorHash = "sha256-YXpmzIPs6gvEspC9JrGHw4Yzs8wdtBTsGU9kTOT6c+0=";
proxyVendor = true;
# Exclude drivers from the bad group

View File

@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"uuu_\\([0-9.]+\\)"
"uuu_([0-9.]+)"
];
};

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "bypass.yazi";
version = "0-unstable-2025-02-16";
src = fetchFromGitHub {
owner = "Rolv-Apneseth";
repo = "bypass.yazi";
rev = "ecb1f7f6fd305ff4ffff548fa955595af6b26e60";
hash = "sha256-XXp4XflrVrs8FrUCRUbSxWZTSGPrIGrpqvB1pARerKQ=";
};
meta = {
description = "Yazi plugin for skipping directories with only a single sub-directory.";
homepage = "https://github.com/Rolv-Apneseth/bypass.yazi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "chmod.yazi";
version = "25.2.26-unstable-2025-03-02";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "b44c245500b34e713732a9130bf436b13b4777e9";
hash = "sha256-nZ8yfnKvNLM5aA+mmQ3PkfM5lwSKwWnkQewcg9GwseI=";
};
meta = {
description = "Execute chmod on the selected files to change their mode";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,76 @@
{
lib,
callPackage,
stdenvNoCC,
writeShellScript,
}:
let
root = ./.;
updateScript = ./update.py;
mkYaziPlugin =
args@{
pname,
src,
meta ? { },
installPhase ? null,
...
}:
let
# Extract the plugin name from pname (removing .yazi suffix if present)
pluginName = lib.removeSuffix ".yazi" pname;
in
stdenvNoCC.mkDerivation (
args
// {
installPhase =
if installPhase != null then
installPhase
else if (src ? owner && src.owner == "yazi-rs") then
# NOTE: License is a relative symbolic link
# We remove the link and copy the true license
''
runHook preInstall
cp -r ${pname} $out
rm $out/LICENSE
cp LICENSE $out
runHook postInstall
''
else
# Normal plugins don't require special installation other than to copy their contents.
''
runHook preInstall
cp -r . $out
runHook postInstall
'';
meta = meta // {
description = meta.description or "";
platforms = meta.platforms or lib.platforms.all;
};
passthru = (args.passthru or { }) // {
updateScript = {
command = writeShellScript "update-${pluginName}" ''
export PLUGIN_NAME="${pluginName}"
export PLUGIN_PNAME="${pname}"
exec ${updateScript}
'';
supportedFeatures = [ "commit" ];
};
};
}
);
call = name: callPackage (root + "/${name}") { inherit mkYaziPlugin; };
in
lib.pipe root [
builtins.readDir
(lib.filterAttrs (_: type: type == "directory"))
(builtins.mapAttrs (name: _: call name))
]
// {
inherit mkYaziPlugin;
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "diff.yazi";
version = "25.2.7-unstable-2025-03-02";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "b44c245500b34e713732a9130bf436b13b4777e9";
hash = "sha256-nZ8yfnKvNLM5aA+mmQ3PkfM5lwSKwWnkQewcg9GwseI=";
};
meta = {
description = "Diff the selected file with the hovered file, create a living patch, and copy it to the clipboard";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "full-border.yazi";
version = "25.2.26-unstable-2025-03-11";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "92f78dc6d0a42569fd0e9df8f70670648b8afb78";
hash = "sha256-mqo71VLZsHmgTybxgqKNo9F2QeMuCSvZ89uen1VbWb4=";
};
meta = {
description = "Add a full border to Yazi to make it look fancier";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "git.yazi";
version = "25.4.4-unstable-2025-04-04";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "9a095057d698aaaedc4dd23d638285bd3fd647e9";
hash = "sha256-Lx+TliqMuaXpjaUtjdUac7ODg2yc3yrd1mSWJo9Mz2Q=";
};
meta = {
description = "Show the status of Git file changes as linemode in the file list";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "glow.yazi";
version = "0-unstable-2025-02-22";
src = fetchFromGitHub {
owner = "Reledia";
repo = "glow.yazi";
rev = "c76bf4fb612079480d305fe6fe570bddfe4f99d3";
hash = "sha256-DPud1Mfagl2z490f5L69ZPnZmVCa0ROXtFeDbEegBBU=";
};
meta = {
description = "Glow preview plugin for yazi.";
homepage = "https://github.com/Reledia/glow.yazi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "jump-to-char.yazi";
version = "25.2.26-unstable-2025-03-02";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "b44c245500b34e713732a9130bf436b13b4777e9";
hash = "sha256-nZ8yfnKvNLM5aA+mmQ3PkfM5lwSKwWnkQewcg9GwseI=";
};
meta = {
description = "Switch the preview pane between hidden and shown";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "lsar.yazi";
version = "25.2.26-unstable-2025-03-02";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "b44c245500b34e713732a9130bf436b13b4777e9";
hash = "sha256-nZ8yfnKvNLM5aA+mmQ3PkfM5lwSKwWnkQewcg9GwseI=";
};
meta = {
description = "Previewing archive contents with lsar";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,24 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "mactag.yazi";
version = "25.4.4-unstable-2025-04-04";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "9a095057d698aaaedc4dd23d638285bd3fd647e9";
hash = "sha256-Lx+TliqMuaXpjaUtjdUac7ODg2yc3yrd1mSWJo9Mz2Q=";
};
meta = {
description = "Previewing archive contents with mactag";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
platforms = lib.platforms.darwin;
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "mediainfo.yazi";
version = "25.2.7-unstable-2025-04-05";
src = fetchFromGitHub {
owner = "boydaihungst";
repo = "mediainfo.yazi";
rev = "436cb5f04d6e5e86ddc0386527254d87b7751ec8";
hash = "sha256-oFp8mJ62FsJX46mKQ7/o6qXPC9qx3+oSfqS0cKUZETI=";
};
meta = {
description = "Yazi plugin for previewing media files.";
homepage = "https://github.com/boydaihungst/mediainfo.yazi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "miller.yazi";
version = "0-unstable-2024-08-28";
src = fetchFromGitHub {
owner = "Reledia";
repo = "miller.yazi";
rev = "40e02654725a9902b689114537626207cbf23436";
hash = "sha256-GXZZ/vI52rSw573hoMmspnuzFoBXDLcA0fqjF76CdnY=";
};
meta = {
description = "Miller, now in yazi.";
homepage = "https://github.com/Reledia/miller.yazi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "mime-ext.yazi";
version = "25.4.4-unstable-2025-04-04";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "9a095057d698aaaedc4dd23d638285bd3fd647e9";
hash = "sha256-Lx+TliqMuaXpjaUtjdUac7ODg2yc3yrd1mSWJo9Mz2Q=";
};
meta = {
description = "Previewing archive contents with mime-ext";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "mount.yazi";
version = "25.2.26-unstable-2025-03-02";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "b44c245500b34e713732a9130bf436b13b4777e9";
hash = "sha256-nZ8yfnKvNLM5aA+mmQ3PkfM5lwSKwWnkQewcg9GwseI=";
};
meta = {
description = "Previewing archive contents with mount";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "no-status.yazi";
version = "25.2.7-unstable-2025-03-02";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "b44c245500b34e713732a9130bf436b13b4777e9";
hash = "sha256-nZ8yfnKvNLM5aA+mmQ3PkfM5lwSKwWnkQewcg9GwseI=";
};
meta = {
description = "Previewing archive contents with no-status";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "ouch.yazi";
version = "0-unstable-2025-03-29";
src = fetchFromGitHub {
owner = "ndtoan96";
repo = "ouch.yazi";
rev = "558188d2479d73cafb7ad8fb1bee12b2b59fb607";
hash = "sha256-7X8uAiJ8vBXYBXOgyKhVVikOnTBGrdCcXOJemjQNolI=";
};
meta = {
description = "A Yazi plugin to preview archives.";
homepage = "https://github.com/ndtoan96/ouch.yazi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "relative-motions.yazi";
version = "25.2.7-unstable-2025-04-07";
src = fetchFromGitHub {
owner = "dedukun";
repo = "relative-motions.yazi";
rev = "61ae7950daeea3e1d960aa777b7a07cde4539b29";
hash = "sha256-L5B5X762rBoxgKrUi0uRLDmAOJ/jPALc2bP9MYLiGYw=";
};
meta = {
description = "Yazi plugin based about vim motions.";
homepage = "https://github.com/dedukun/relative-motions.yazi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "restore.yazi";
version = "25.2.7-unstable-2025-04-04";
src = fetchFromGitHub {
owner = "boydaihungst";
repo = "restore.yazi";
rev = "328dd888c1e2b9b0cb5dc806f099e3164e179620";
hash = "sha256-3Z8P25u9bffdjrPjxLRWUQn6MdBS+vyElUBkgV4EUwY=";
};
meta = {
description = "Undo/Recover trashed files/folders.";
homepage = "https://github.com/boydaihungst/restore.yazi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "smart-enter.yazi";
version = "25.2.26-unstable-2025-03-02";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "b44c245500b34e713732a9130bf436b13b4777e9";
hash = "sha256-nZ8yfnKvNLM5aA+mmQ3PkfM5lwSKwWnkQewcg9GwseI=";
};
meta = {
description = "Previewing archive contents with smart-enter";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "smart-filter.yazi";
version = "25.2.26-unstable-2025-03-02";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "b44c245500b34e713732a9130bf436b13b4777e9";
hash = "sha256-nZ8yfnKvNLM5aA+mmQ3PkfM5lwSKwWnkQewcg9GwseI=";
};
meta = {
description = "Previewing archive contents with smart-filter";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "starship.yazi";
version = "25.2.7-unstable-2025-02-23";
src = fetchFromGitHub {
owner = "Rolv-Apneseth";
repo = "starship.yazi";
rev = "6c639b474aabb17f5fecce18a4c97bf90b016512";
hash = "sha256-bhLUziCDnF4QDCyysRn7Az35RAy8ibZIVUzoPgyEO1A=";
};
meta = {
description = "Starship prompt plugin for yazi.";
homepage = "https://github.com/Rolv-Apneseth/starship.yazi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "sudo.yazi";
version = "0-unstable-2025-02-08";
src = fetchFromGitHub {
owner = "TD-Sky";
repo = "sudo.yazi";
rev = "af70636fbcf30ef17f77c5ffcfcbf1342c554be1";
hash = "sha256-IvTBAhZrbrNJ5nsLxr35V0ntQw89yXUdoU9ashbflYY=";
};
meta = {
description = "Call `sudo` in yazi.";
homepage = "https://github.com/TD-Sky/sudo.yazi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "toggle-pane.yazi";
version = "25.2.26-unstable-2025-03-02";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "273019910c1111a388dd20e057606016f4bd0d17";
hash = "sha256-80mR86UWgD11XuzpVNn56fmGRkvj0af2cFaZkU8M31I=";
};
meta = {
description = "Previewing archive contents with toggle-pane";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -0,0 +1,256 @@
#!/usr/bin/env nix-shell
#!nix-shell -i python3 -p python3 python3Packages.requests python3Packages.packaging nix curl git
import os
import re
import subprocess
import sys
from pathlib import Path
from typing import Dict, Tuple
import requests
from packaging import version
def run_command(cmd: str, capture_output: bool = True) -> str:
"""Run a shell command and return its output"""
result = subprocess.run(cmd, shell=True, text=True, capture_output=capture_output)
if result.returncode != 0:
if capture_output:
print(f"Error running command: {cmd}")
print(f"stderr: {result.stderr}")
sys.exit(1)
return result.stdout.strip() if capture_output else ""
def get_plugin_info(nixpkgs_dir: str, plugin_name: str) -> Dict[str, str]:
"""Get plugin repository information from Nix"""
owner = run_command(f"nix eval --raw -f {nixpkgs_dir} yaziPlugins.\"{plugin_name}\".src.owner")
repo = run_command(f"nix eval --raw -f {nixpkgs_dir} yaziPlugins.\"{plugin_name}\".src.repo")
return {
"owner": owner,
"repo": repo
}
def get_yazi_version(nixpkgs_dir: str) -> str:
"""Get the current Yazi version from Nix"""
return run_command(f"nix eval --raw -f {nixpkgs_dir} yazi-unwrapped.version")
def get_github_headers() -> Dict[str, str]:
"""Create headers for GitHub API requests"""
headers = {"Accept": "application/vnd.github.v3+json"}
github_token = os.environ.get("GITHUB_TOKEN")
if github_token:
headers["Authorization"] = f"token {github_token}"
return headers
def fetch_plugin_content(owner: str, repo: str, plugin_pname: str, headers: Dict[str, str]) -> str:
"""Fetch the plugin's main.lua content from GitHub"""
plugin_path = f"{plugin_pname}/" if owner == "yazi-rs" else ""
main_lua_url = f"https://raw.githubusercontent.com/{owner}/{repo}/main/{plugin_path}main.lua"
try:
response = requests.get(main_lua_url, headers=headers)
response.raise_for_status()
return response.text
except requests.RequestException as e:
print(f"Error fetching plugin content: {e}")
sys.exit(1)
def check_version_compatibility(plugin_content: str, plugin_name: str, yazi_version: str) -> str:
"""Check if the plugin is compatible with the current Yazi version"""
required_version_match = re.search(r"since ([0-9.]+)", plugin_content.split("\n")[0])
required_version = required_version_match.group(1) if required_version_match else "0"
if required_version == "0":
print(f"No version requirement found for {plugin_name}, assuming compatible with any Yazi version")
else:
# Check if the plugin is compatible with current Yazi version
if version.parse(required_version) > version.parse(yazi_version):
print(f"{plugin_name} plugin requires Yazi {required_version}, but we have {yazi_version}")
sys.exit(0)
return required_version
def get_latest_commit(owner: str, repo: str, plugin_pname: str, headers: Dict[str, str]) -> Tuple[str, str]:
"""Get the latest commit hash and date for the plugin"""
if owner == "yazi-rs":
# For official plugins, get commit info for the specific plugin file
api_url = f"https://api.github.com/repos/{owner}/{repo}/commits?path={plugin_pname}/main.lua&per_page=1"
else:
# For third-party plugins, get latest commit on main branch
api_url = f"https://api.github.com/repos/{owner}/{repo}/commits/main"
try:
response = requests.get(api_url, headers=headers)
response.raise_for_status()
commit_data = response.json()
except requests.RequestException as e:
print(f"Error fetching commit data: {e}")
sys.exit(1)
if owner == "yazi-rs":
latest_commit = commit_data[0]["sha"]
commit_date = commit_data[0]["commit"]["committer"]["date"].split("T")[0]
else:
latest_commit = commit_data["sha"]
commit_date = commit_data["commit"]["committer"]["date"].split("T")[0]
if not latest_commit:
print("Error: Could not get latest commit hash")
sys.exit(1)
return latest_commit, commit_date
def calculate_sri_hash(owner: str, repo: str, latest_commit: str) -> str:
"""Calculate the SRI hash for the plugin source"""
prefetch_url = f"https://github.com/{owner}/{repo}/archive/{latest_commit}.tar.gz"
try:
new_hash = run_command(f"nix-prefetch-url --unpack --type sha256 {prefetch_url} 2>/dev/null")
# If the hash is not in SRI format, convert it
if not new_hash.startswith("sha256-"):
# Try to convert the hash to SRI format
new_hash = run_command(f"nix hash to-sri --type sha256 {new_hash} 2>/dev/null")
# If that fails, try another approach
if not new_hash.startswith("sha256-"):
print("Warning: Failed to get SRI hash directly, trying alternative method...")
raw_hash = run_command(f"nix-prefetch-url --type sha256 {prefetch_url} 2>/dev/null")
new_hash = run_command(f"nix hash to-sri --type sha256 {raw_hash} 2>/dev/null")
except Exception as e:
print(f"Error calculating hash: {e}")
sys.exit(1)
# Verify we got a valid SRI hash
if not new_hash.startswith("sha256-"):
print(f"Error: Failed to generate valid SRI hash. Output was: {new_hash}")
sys.exit(1)
return new_hash
def read_nix_file(file_path: str) -> str:
"""Read the content of a Nix file"""
try:
with open(file_path, 'r') as f:
return f.read()
except IOError as e:
print(f"Error reading file {file_path}: {e}")
sys.exit(1)
def write_nix_file(file_path: str, content: str) -> None:
"""Write content to a Nix file"""
try:
with open(file_path, 'w') as f:
f.write(content)
except IOError as e:
print(f"Error writing to file {file_path}: {e}")
sys.exit(1)
def update_nix_file(default_nix_path: str, latest_commit: str, new_version: str, new_hash: str) -> None:
"""Update the default.nix file with new version, revision and hash"""
default_nix_content = read_nix_file(default_nix_path)
# Update the revision in default.nix
default_nix_content = re.sub(r'rev = "[^"]*"', f'rev = "{latest_commit}"', default_nix_content)
# Update the version in default.nix
if 'version = "' in default_nix_content:
default_nix_content = re.sub(r'version = "[^"]*"', f'version = "{new_version}"', default_nix_content)
else:
# Add version attribute after pname if it doesn't exist
default_nix_content = re.sub(r'(pname = "[^"]*";)', f'\\1\n version = "{new_version}";', default_nix_content)
# Update hash in default.nix
if 'hash = "' in default_nix_content:
default_nix_content = re.sub(r'hash = "[^"]*"', f'hash = "{new_hash}"', default_nix_content)
elif 'fetchFromGitHub' in default_nix_content:
default_nix_content = re.sub(r'sha256 = "[^"]*"', f'sha256 = "{new_hash}"', default_nix_content)
else:
print(f"Error: Could not find hash attribute in {default_nix_path}")
sys.exit(1)
# Write the updated content back to the file
write_nix_file(default_nix_path, default_nix_content)
# Verify the hash was updated
updated_content = read_nix_file(default_nix_path)
if f'hash = "{new_hash}"' in updated_content or f'sha256 = "{new_hash}"' in updated_content:
print(f"Successfully updated hash to: {new_hash}")
else:
print(f"Error: Failed to update hash in {default_nix_path}")
sys.exit(1)
def validate_environment() -> Tuple[str, str, str]:
"""Validate environment variables and paths"""
nixpkgs_dir = os.getcwd()
plugin_name = os.environ.get("PLUGIN_NAME")
plugin_pname = os.environ.get("PLUGIN_PNAME")
if not plugin_name or not plugin_pname:
print("Error: PLUGIN_NAME and PLUGIN_PNAME environment variables must be set")
sys.exit(1)
plugin_dir = f"{nixpkgs_dir}/pkgs/by-name/ya/yazi/plugins/{plugin_name}"
if not Path(f"{plugin_dir}/default.nix").exists():
print(f"Error: Could not find default.nix for plugin {plugin_name} at {plugin_dir}")
sys.exit(1)
return nixpkgs_dir, plugin_name, plugin_pname
def main():
"""Main function to update a Yazi plugin"""
# Basic setup and validation
nixpkgs_dir, plugin_name, plugin_pname = validate_environment()
plugin_dir = f"{nixpkgs_dir}/pkgs/by-name/ya/yazi/plugins/{plugin_name}"
default_nix_path = f"{plugin_dir}/default.nix"
# Get repository info
plugin_info = get_plugin_info(nixpkgs_dir, plugin_name)
owner = plugin_info["owner"]
repo = plugin_info["repo"]
# Get Yazi version separately
yazi_version = get_yazi_version(nixpkgs_dir)
# Setup GitHub API headers
headers = get_github_headers()
# Check plugin compatibility with current Yazi version
plugin_content = fetch_plugin_content(owner, repo, plugin_pname, headers)
required_version = check_version_compatibility(plugin_content, plugin_name, yazi_version)
# Get latest commit info
latest_commit, commit_date = get_latest_commit(owner, repo, plugin_pname, headers)
print(f"Updating {plugin_name} to commit {latest_commit} ({commit_date})")
# Generate new version string
new_version = f"{required_version}-unstable-{commit_date}"
# Calculate hash for the plugin
new_hash = calculate_sri_hash(owner, repo, latest_commit)
print(f"Generated SRI hash: {new_hash}")
# Update the default.nix file
update_nix_file(default_nix_path, latest_commit, new_version, new_hash)
print(f"Successfully updated {plugin_name} to version {new_version} (commit {latest_commit})")
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,23 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "vcs-files.yazi";
version = "25.3.7-unstable-2025-03-07";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "273019910c1111a388dd20e057606016f4bd0d17";
hash = "sha256-80mR86UWgD11XuzpVNn56fmGRkvj0af2cFaZkU8M31I=";
};
meta = {
description = "Previewing archive contents with vcs-files";
homepage = "https://yazi-rs.github.io";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaneliman ];
};
}

View File

@@ -9,13 +9,13 @@
gnome,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "goocanvas";
version = "1.0.0";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "07kicpcacbqm3inp7zq32ldp95mxx4kfxpaazd0x5jk7hpw2w1qw";
url = "mirror://gnome/sources/goocanvas/${lib.versions.majorMinor finalAttrs.version}/goocanvas-${finalAttrs.version}.tar.bz2";
hash = "sha256-HAcu+IVnytJB+0rd7ibpvZZ0GxUD/3NtHBUvpthlcR4=";
};
nativeBuildInputs = [ pkg-config ];
@@ -25,9 +25,11 @@ stdenv.mkDerivation rec {
glib
];
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
packageName = "goocanvas";
versionPolicy = "odd-unstable";
freeze = true;
};
@@ -39,4 +41,4 @@ stdenv.mkDerivation rec {
license = licenses.lgpl2;
platforms = lib.platforms.unix;
};
}
})

View File

@@ -49,6 +49,12 @@ buildPythonPackage rec {
pytest-xdist
];
pytestFlagsArray = [
# DeprecationWarning: JAXopt is no longer maintained
"-W"
"ignore::DeprecationWarning"
];
disabledTestPaths = [
"tests/test_benchmarks.py"

View File

@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "clarifai-grpc";
version = "11.2.6";
version = "11.3.1";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Clarifai";
repo = "clarifai-python-grpc";
tag = version;
hash = "sha256-U3hYAwNklPRKD/mHmuc2pgWEKQgU5SZmfMJwCU6CXmA=";
hash = "sha256-6eEW0s9eC36BqGvtMuF6thzSUqQWI3WP3vP2FssnHVU=";
};
build-system = [ setuptools ];

View File

@@ -39,12 +39,12 @@
buildPythonPackage rec {
pname = "coiled";
version = "1.90.2";
version = "1.90.4";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-5u33FbSB86jR9KIAhR24J0wSz9kRCaOJ0ituEzULHH8=";
hash = "sha256-wICWij2mdXlV3aYNeK+vITicEKbiuaO2PcZE+h9QDBo=";
};
build-system = [

View File

@@ -20,7 +20,7 @@
buildPythonPackage rec {
pname = "databricks-sql-connector";
version = "4.0.1";
version = "4.0.2";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
owner = "databricks";
repo = "databricks-sql-python";
tag = "v${version}";
hash = "sha256-/CWaWjDlgmaUY4Z6Nb0qfQ6gQR6u4FxkM/B/nOfAAYo=";
hash = "sha256-zrEbenakeaFd6/DkmtHDjw9zgl6FxEXmBGTT7pFvUVU=";
};
pythonRelaxDeps = [

View File

@@ -23,14 +23,14 @@
buildPythonPackage rec {
pname = "fastembed";
version = "0.6.0";
version = "0.6.1";
pyproject = true;
src = fetchFromGitHub {
owner = "qdrant";
repo = "fastembed";
tag = "v${version}";
hash = "sha256-mZClZuSTTGQQSH6KYLcVx0YaNoAwRO25eRxGGjOz8B8=";
hash = "sha256-/yg4yA/f2J2ku97xeMFPqVHgBUzlGJLVCF0fhu1rz8Q=";
};
build-system = [ poetry-core ];

View File

@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "garth";
version = "0.5.3";
version = "0.5.4";
pyproject = true;
disabled = pythonOlder "3.10";
src = fetchPypi {
inherit pname version;
hash = "sha256-cyqXCkfkpd71VqguZFOA4bO/dOkKBZkEzJ6BVLCBWFA=";
hash = "sha256-Uv8kdEBPCO0W50zPzdFAgot6H/FURbhR8f1rWjGTJ9I=";
};
pythonRelaxDeps = [ "requests-oauthlib" ];

View File

@@ -2,7 +2,6 @@
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
# build-system
setuptools,
@@ -24,32 +23,16 @@
buildPythonPackage rec {
pname = "jaxopt";
version = "0.8.3";
version = "0.8.4";
pyproject = true;
src = fetchFromGitHub {
owner = "google";
repo = "jaxopt";
tag = "jaxopt-v${version}";
hash = "sha256-T/BHSnuk3IRuLkBj3Hvb/tFIb7Au25jjQtvwL28OU1U=";
hash = "sha256-StuI9Z9wRjuvjsGoQUkcjoKbR6hNkGmOcddUc18yO3I=";
};
patches = [
# fix failing tests from scipy 1.12 update
# https://github.com/google/jaxopt/pull/574
(fetchpatch {
name = "scipy-1.12-fix-tests.patch";
url = "https://github.com/google/jaxopt/commit/48b09dc4cc93b6bc7e6764ed5d333f9b57f3493b.patch";
hash = "sha256-v+617W7AhxA1Dzz+DBtljA4HHl89bRTuGi1QfatobNY=";
})
# fix invalid string escape sequences
(fetchpatch {
name = "fix-escape-sequences.patch";
url = "https://github.com/google/jaxopt/commit/f5bb530f5f000d0739c9b26eee2d32211eb99f40.patch";
hash = "sha256-E0ZXIfzWxKHuiBn4lAWf7AjNtll7OJU/NGZm6PTmhzo=";
})
];
build-system = [ setuptools ];
dependencies = [

View File

@@ -9,13 +9,13 @@
buildPythonPackage rec {
pname = "jupyter-collaboration-ui";
version = "1.1.0";
version = "2.0.1";
pyproject = true;
src = fetchPypi {
pname = "jupyter_collaboration_ui";
inherit version;
hash = "sha256-5TbKC6zhVVv6vaewUlL27ZP91R+ge/6wFBcKbGlVMHA=";
hash = "sha256-9UONyyhvhpywCVNbGtZz9eL8EGUS4XBM1zEY1RWsomY=";
};
postPatch = ''

View File

@@ -9,13 +9,13 @@
buildPythonPackage rec {
pname = "jupyter-docprovider";
version = "1.1.0";
version = "2.0.1";
pyproject = true;
src = fetchPypi {
pname = "jupyter_docprovider";
inherit version;
hash = "sha256-wt3I2agjKf/wqVJhzIJ7ZpNZh2r3+y8rr6jb34OasXI=";
hash = "sha256-4pyF5HDQ7dP32R+O3QN8DWtvJpQxBBbjWXaRAfs10b4=";
};
postPatch = ''

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