23 Commits

Author SHA1 Message Date
msyds cc63cf84c9 idk
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (pull_request) Has been cancelled
2026-06-21 18:25:31 -06:00
msyds 96b884dbeb awawa 2026-06-21 18:25:31 -06:00
msyds 59d3a471cd bdwgc: init
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (push) Has been cancelled
2026-05-16 14:12:11 -06:00
msyds 40de554543 ryubing-canary: init
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (push) Has been cancelled
2026-04-23 17:05:28 -06:00
msyds e44c957573 progressbar: init
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (push) Has been cancelled
2026-04-11 15:40:19 -06:00
msyds 03f6a67a0a fcitx5-toki-pona: use fork w/ icons 2026-03-11 18:34:34 -06:00
msyds 12a5095325 fcitx5-toki-pona: init 2026-03-11 13:43:32 -06:00
msyds 53bf019e26 gf-core: pin compiler version
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (push) Has been cancelled
2026-02-16 20:44:32 -07:00
msyds e190dae46b gftest: init
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (push) Has been cancelled
2026-02-16 02:30:36 -07:00
msyds d3252333eb gfWithPackages: init
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (push) Has been cancelled
2026-02-15 21:01:13 -07:00
msyds 2d0874fd1d gf-rgl: init 2026-02-15 20:45:55 -07:00
msyds 0dd41f4833 gf: rename to gf-core
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (push) Has been cancelled
2026-02-15 20:39:36 -07:00
msyds 319dd9fc0a gf: init
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (push) Has been cancelled
2026-02-15 20:32:23 -07:00
msyds 233479ab27 quiver: bump 2026-01-09 09:15:57 -07:00
msyds 7a3eaf6788 feat(syd-plex-latex): cjk 2025-12-28 15:55:38 -07:00
msyds ed4942cd58 fix(syd-plex-latex): oops 2025-12-28 15:34:47 -07:00
msyds 32fe0d26fa feat: overlay 2025-12-28 15:20:50 -07:00
msyds 2c56bb6153 feat(syd-plex-latex): uhh 2025-12-28 15:20:24 -07:00
msyds 7bf331a498 feat(syd-plex-latex): init 2025-12-16 12:43:54 -07:00
msyds b95632af08 feat(iropke-batang): init 2025-12-14 13:06:44 -07:00
msyds 5802980437 fix(quiver): Add meta 2025-09-17 22:08:02 -06:00
msyds c540e0ab83 fix: why was this here 2025-09-17 22:00:30 -06:00
msyds aa06f12b29 feat(quiver): init 2025-09-17 21:41:52 -06:00
22 changed files with 1449 additions and 20 deletions
Generated
+3 -3
View File
@@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1750386251,
"narHash": "sha256-1ovgdmuDYVo5OUC5NzdF+V4zx2uT8RtsgZahxidBTyw=",
"lastModified": 1776329215,
"narHash": "sha256-a8BYi3mzoJ/AcJP8UldOx8emoPRLeWqALZWu4ZvjPXw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "076e8c6678d8c54204abcb4b1b14c366835a58bb",
"rev": "b86751bc4085f48661017fa226dee99fab6c651b",
"type": "github"
},
"original": {
+1 -16
View File
@@ -20,21 +20,6 @@
(_: v: lib.isDerivation v)
self.legacyPackages.${system});
devShells.x86_64-linux.slippi =
let
pkgs = import inputs.nixpkgs { system = "x86_64-linux"; };
in self.packages.x86_64-linux.slippi-launcher.env.overrideAttrs
(final: prev: {
shellHook =
builtins.replaceStrings
["exec \"\${cmd[@]}\""]
[''
echo "''${cmd[-1]}"
unset cmd[-1]
cmd+=("$SHELL")
exec "''${cmd[@]}"
'']
prev.shellHook;
});
overlays.default = import ./overlay.nix;
};
}
-1
View File
@@ -7,7 +7,6 @@ let
isReserved = n: n == "lib" || n == "overlays" || n == "modules";
nameValuePair = n: v: { name = n; value = v; };
nurAttrs = import ./default.nix { pkgs = super; };
in
builtins.listToAttrs
(map (n: nameValuePair n nurAttrs.${n})
+39
View File
@@ -0,0 +1,39 @@
{ cmake
, stdenv
, fetchFromGitHub
, lib
}:
stdenv.mkDerivation (finalAttrs: {
pname = "bdwgc";
version = "8.2.12";
src = fetchFromGitHub {
owner = "bdwgc";
repo = "bdwgc";
tag = "v${finalAttrs.version}";
hash = "sha256-5yeAB5Y92YjOutwRXBJkMxoOLkmzmqIJs4PirKX89fE=";
};
nativeBuildInputs = [
cmake
];
meta = {
homepage = "https://www.hboehm.info/gc/";
description = ''
The Boehm-Demers-Weiser conservative C/C++ Garbage Collector
(bdwgc, also known as bdw-gc, boehm-gc, libgc)
'';
longDescription = ''
This is a garbage collecting storage allocator that is intended
to be used as a plug-in replacement for C's malloc.
Since the collector does not require pointers to be tagged, it
does not attempt to ensure that all inaccessible storage is
reclaimed. However, in our experience, it is typically more
successful at reclaiming unused memory than most C programs
using explicit deallocation. Unlike manually introduced leaks,
the amount of unreclaimed memory typically stays bounded.
'';
license = lib.licenses.mit;
platforms = lib.platforms.all;
};
})
+41
View File
@@ -0,0 +1,41 @@
{ stdenv
, fetchFromGitHub
, kdePackages
, python3
, libime
, lib
}:
stdenv.mkDerivation {
pname = "fcitx5-toki-pona";
version = "git";
src = fetchFromGitHub {
owner = "msyds";
repo = "fcitx5-toki-pona";
rev = "4b4314d642c647bc714c8876460b6779facda89c";
# rev = "icons";
hash = "sha256-5Keg+7AYkELYAlJkPszcjHgJ6TwBxnwNd3cpxSOEbGc=";
};
# src = /home/msyds/git/fcitx5-toki-pona;
buildInputs = [
kdePackages.fcitx5-chinese-addons
];
nativeBuildInputs = [
python3
libime
];
buildPhase = ''
runHook preBuild
python3 combine.py
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm644 -t $out/share/fcitx5/table table/*
install -Dm644 -t $out/share/fcitx5/inputmethod confs/*
find icons -name '*.png' -exec install -Dm644 {} "$out/share/{}" \;
runHook postInstall
'';
}
+30
View File
@@ -0,0 +1,30 @@
{ haskell
, stdenv
, fetchFromGitHub
, gf-pgf
, applyPatches
, compiler ? "ghc98"
}:
let
version = "3.12";
src = applyPatches rec {
src = fetchFromGitHub {
owner = "GrammaticalFramework";
repo = "gf-core";
rev = "release-${version}";
hash = "sha256-9sB8tt2eOJT43kv2eaUYRQCzyBZOp6HvJdgGJQgiqks=";
};
patches = [
"${src}/nix/expose-all.patch"
"${src}/nix/revert-new-cabal-madness.patch"
./fix-cabal-syntax-error.patch
];
};
hpkgs = haskell.packages.${compiler};
pkg = hpkgs.callCabal2nixWithOptions "gf" src "--flag=-server" {};
in haskell.lib.overrideCabal pkg (prev: {
jailbreak = true;
configureFlags = [ "-f" "c-runtime" ];
librarySystemDepends = [ gf-pgf ];
})
+13
View File
@@ -0,0 +1,13 @@
diff --git a/src/runtime/haskell-bind/pgf2.cabal b/src/runtime/haskell-bind/pgf2.cabal
index d7a98489e..3ca7e816c 100644
--- a/src/runtime/haskell-bind/pgf2.cabal
+++ b/src/runtime/haskell-bind/pgf2.cabal
@@ -15,7 +15,7 @@ homepage: https://www.grammaticalframework.org/
bug-reports: https://github.com/GrammaticalFramework/gf-core/issues
author: Krasimir Angelov
extra-source-files: CHANGELOG.md, README.md
-tested-with: GHC==7.10.3, GHC==8.0.2, GHC==8.10.4, GHC=9.6.6
+tested-with: GHC==7.10.3, GHC==8.0.2, GHC==8.10.4, GHC==9.6.6
library
exposed-modules:
+12
View File
@@ -0,0 +1,12 @@
{ gf-core
, stdenv
, autoreconfHook
}:
stdenv.mkDerivation {
pname = "gf-pgf";
inherit (gf-core) version meta;
src = "${gf-core.src}/src/runtime/c";
nativeBuildInputs = [autoreconfHook ];
broken = true;
}
+25
View File
@@ -0,0 +1,25 @@
{ stdenv
, ghc
, gf-core
, fetchFromGitHub
}:
stdenv.mkDerivation (finalAttrs: {
name = "gf-rgl";
version = "20250812";
src = fetchFromGitHub {
owner = "GrammaticalFramework";
repo = "gf-rgl";
tag = finalAttrs.version;
hash = "sha256-rqN5MV/XxChXC+Vs4aLIhRtyPQZNk0LQZ2TCdbd6wUw=";
};
buildInputs = [ ghc gf-core ];
LC_ALL = "C.UTF-8";
buildPhase = ''
runghc Setup.hs build
'';
installPhase = ''
mkdir -p $out/share/gf/lib
runghc Setup.hs copy --dest=$out/share/gf/lib
'';
})
+4
View File
@@ -0,0 +1,4 @@
# Alias for `gf-core`
{ gf-core }:
gf-core
+22
View File
@@ -0,0 +1,22 @@
{ lib
, stdenv
, gf-core
, makeWrapper
, runCommandLocal
}:
packages:
let
opts = {
passthru = {
preferLocalBuild = true;
inherit (gf-core) version meta;
};
};
paths = lib.makeSearchPath "share/gf/lib" packages;
in runCommandLocal "gf-with-rgl" opts ''
. ${makeWrapper}/nix-support/setup-hook
makeWrapper ${gf-core}/bin/gf $out/bin/gf \
--prefix GF_LIB_PATH : ${paths}
''
+26
View File
@@ -0,0 +1,26 @@
{ gf-core
, breakpointHook
, fetchFromGitHub
, compiler ? "ghc98"
, haskell
, pgf2-haskell
, gf-pgf
}:
let
src = fetchFromGitHub {
owner = "GrammaticalFramework";
repo = "gftest";
rev = "ef7c99143d84a29fb28bbc464f661566d44a6130";
hash = "sha256-t/LaG5+bdv7f0URcn/aFx6nUIvxSSEbpWeZS92/Gbog=";
};
hpkgs = haskell.packages.${compiler}.extend (final: prev: {
# PGF2, the Haskell bindings to the C library.
pgf2 = pgf2-haskell.override { inherit compiler; };
});
pkg = hpkgs.callCabal2nix "gftest" src {};
in pkg.overrideAttrs (final: prev: {
nativeBuildInputs = (prev.nativeBuildInputs or []) ++ [
breakpointHook
];
})
+30
View File
@@ -0,0 +1,30 @@
{ stdenvNoCC
, fetchFromGitHub
, lib
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "iropke-batang";
version = "1.2";
src = fetchFromGitHub {
owner = "iropke";
repo = "font-iropke-batang";
rev = "v${finalAttrs.version}";
hash = "sha256-wsu7JK0hHYn9aegaMeNV9fWvQ6KoMzHwOFWymWHYvxo=";
};
installPhase = ''
runHook preInstall
find . -type f -name '*.otf' \
-exec install -Dm644 {} -t $out/share/fonts/opentype \;
runHook postInstall
'';
meta = {
description = "Korean serif font";
homepage = "http://font.iropke.com/batang/";
changelog = "https://github.com/iropke/font-iropke-batang/releases";
license = lib.licenses.ofl;
platforms = lib.platforms.all;
};
})
+42
View File
@@ -0,0 +1,42 @@
{ qt5
, breakpointHook
, luajit
, stdenv
, fetchFromGitHub
}:
let
GuiTools-src = fetchFromGitHub {
owner = "rochus-keller";
repo = "GuiTools";
rev = "df36aa5c823d0c81259ae70b7c6f194c88017d6f";
hash = "sha256-RmpVkUjcAkde755QQwfWvC4sOxDLx2itmqw1T1DTOlE=";
name = "GuiTools";
};
LjTools-src = fetchFromGitHub {
owner = "rochus-keller";
repo = "LjTools";
name = "LjTools";
hash = "sha256-PWh1ZP5+hNXvDpJTaWtegHvcuBkdrZ6oA+bIkEikVHk=";
rev = "412675e2cc12bec1e00fd7a2ec52270f388d225b";
};
luajit-src = luajit.src.override { name = "LuaJIT"; };
in stdenv.mkDerivation {
pname = "ljtools";
version = "0.1.0";
srcs = [
GuiTools-src
LjTools-src
luajit-src
];
sourceRoot = "LjTools";
buildInputs = [
qt5.qtbase
];
nativeBuildInputs = [
qt5.qtbase
breakpointHook
qt5.wrapQtAppsHook
qt5.qmake
];
}
+19
View File
@@ -0,0 +1,19 @@
{ haskell
, compiler ? "ghc96"
, gf-pgf
, gf-core
, breakpointHook
}:
let
src = "${gf-core.src}/src/runtime/haskell-bind";
hpkgs = haskell.packages.${compiler};
pkg = hpkgs.callCabal2nix "pgf2" src {
# gf-pgf provides both libpgf and libgu.
gu = gf-pgf;
};
in haskell.lib.overrideCabal pkg (prev: {
librarySystemDepends = (prev.librarySystemDepends or []) ++ [
gf-pgf
];
})
+30
View File
@@ -0,0 +1,30 @@
{ stdenv
, ncurses
, fetchFromGitHub
, breakpointHook
}:
stdenv.mkDerivation {
pname = "progressbar";
version = "ac56232";
src = fetchFromGitHub {
owner = "doches";
repo = "progressbar";
rev = "ac56232610abf58cc2db2bc86efc8fcba7dfe8c2";
hash = "sha256-fgVIQAAtL5wSuWhGSKOTmlS2gvigInDqzfpILtGplLM";
};
nativeBuildInputs = [
ncurses.dev
breakpointHook
];
buildInputs = [
ncurses
];
outputs = [ "out" "dev" ];
installPhase = ''
runHook preInstall
install -Dm644 -t $out/lib libprogressbar.{so,a}
install -Dm644 -t $dev/include/progressbar include/progressbar/*.h
runHook postInstall
'';
}
+73
View File
@@ -0,0 +1,73 @@
{ stdenv
, fetchNpmDeps
, fetchFromGitHub
, fetchzip
, fetchurl
, lib
, imagemagick
, nodejs_20
}:
let
vendoredKatex = fetchzip {
url = "https://github.com/KaTeX/KaTeX/releases/download/v0.16.9/katex.zip";
hash = "sha256-Nca52SW4Q0P5/fllDFQEaOQyak7ojCs0ShlqJ1mWZOM=";
};
vendoredWorkbox = fetchurl {
url = "https://storage.googleapis.com/workbox-cdn/releases/7.0.0/workbox-window.prod.mjs";
hash = "sha256-YR3m/DqqF+yahPQAk/2k0yRmdoYtQNBEHsL6fQTDmlc=";
};
vendoredWorkboxMap = fetchurl {
url = "https://storage.googleapis.com/workbox-cdn/releases/7.0.0/workbox-window.prod.mjs.map";
hash = "sha256-tUBiVoiKi3OCT+wctUYl0FVnT7StsGBDx7EzculcF5I=";
};
rev = "1816fb788e4d315bf1dc30053a5e1646eb0af9b8";
in stdenv.mkDerivation (final: {
pname = "quiver";
version = lib.substring 0 7 rev;
inherit vendoredKatex vendoredWorkbox vendoredWorkboxMap;
src = fetchFromGitHub {
owner = "varkor";
repo = "quiver";
inherit rev;
hash = "sha256-29x2x0fLemkxhv+85wPnDrrlRW2h5qJtF/QTbGa6ghE=";
};
npmDeps = fetchNpmDeps {
src = "${final.src}/service-worker";
hash = "sha256-1CdgZFvpyJFyh5x9ljTau6vrR7FeHRYZ1MG/ZOEoou8=";
};
preBuild = ''
cp -r $vendoredKatex src/KaTeX
mkdir src/Workbox
cp $vendoredWorkbox src/Workbox/workbox-window.prod.mjs
cp $vendoredWorkboxMap src/Workbox/workbox-window.prod.mjs.map
'';
buildPhase = ''
runHook preBuild
pushd service-worker
npm install --cache $npmDeps
node build.js
popd
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/opt
cp -r src $out/opt/quiver
runHook postInstall
'';
nativeBuildInputs = [
imagemagick
];
buildInputs = [
nodejs_20
];
meta = {
description = ''
A modern commutative diagram editor for the web.
'';
homepage = "https://q.uiver.app/";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
};
})
+162
View File
@@ -0,0 +1,162 @@
{
lib,
buildDotnetModule,
cctools,
darwin,
dotnetCorePackages,
fetchFromForgejo,
libX11,
libgdiplus,
moltenvk,
ffmpeg,
openal,
libsoundio,
sndio,
stdenv,
pulseaudio,
vulkan-loader,
glew,
libGL,
libICE,
libSM,
libXcursor,
libXext,
libXi,
libXrandr,
udev,
SDL2,
SDL2_mixer,
gtk3,
wrapGAppsHook3,
}:
buildDotnetModule rec {
pname = "ryubing";
version = "1.3.4";
src = fetchFromForgejo {
domain = "git.ryujinx.app";
owner = "Ryubing";
repo = "Ryujinx";
rev = "433dd58f8ce2fca3df3fa8b20bef7f003fc5a2a9";
hash = "sha256-yLf0NkdZvGNI7bbzx3Qursk3rDy5UUK8nFH9pp3wYm4=";
};
nativeBuildInputs =
lib.optional stdenv.hostPlatform.isLinux [
wrapGAppsHook3
]
++ lib.optional stdenv.hostPlatform.isDarwin [
cctools
darwin.sigtool
];
enableParallelBuilding = false;
dotnet-sdk = dotnetCorePackages.dotnet_10.sdk;
dotnet-runtime = dotnetCorePackages.dotnet_10.runtime;
nugetDeps = ./deps.json;
runtimeDeps = [
libX11
libgdiplus
SDL2_mixer
openal
libsoundio
sndio
vulkan-loader
ffmpeg
# Avalonia UI
glew
libICE
libSM
libXcursor
libXext
libXi
libXrandr
gtk3
# Headless executable
libGL
SDL2
]
++ lib.optional (!stdenv.hostPlatform.isDarwin) [
udev
pulseaudio
]
++ lib.optional stdenv.hostPlatform.isDarwin [ moltenvk ];
projectFile = "Ryujinx.sln";
testProjectFile = "src/Ryujinx.Tests/Ryujinx.Tests.csproj";
# Tests on Darwin currently fail because of Ryujinx.Tests.Unicorn
doCheck = !stdenv.hostPlatform.isDarwin;
dotnetFlags = [
"/p:ExtraDefineConstants=DISABLE_UPDATER%2CFORCE_EXTERNAL_BASE_DIR"
];
executables = [
"Ryujinx"
];
makeWrapperArgs = lib.optional stdenv.hostPlatform.isLinux [
# Without this Ryujinx fails to start on wayland. See https://github.com/Ryujinx/Ryujinx/issues/2714
"--set SDL_VIDEODRIVER x11"
];
preInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
# workaround for https://github.com/Ryujinx/Ryujinx/issues/2349
mkdir -p $out/lib/sndio-6
ln -s ${sndio}/lib/libsndio.so $out/lib/sndio-6/libsndio.so.6
'';
preFixup = ''
${lib.optionalString stdenv.hostPlatform.isLinux ''
mkdir -p $out/share/{applications,icons/hicolor/scalable/apps,mime/packages}
pushd ${src}/distribution/linux
install -D ./Ryujinx.desktop $out/share/applications/Ryujinx.desktop
install -D ./Ryujinx.sh $out/bin/Ryujinx.sh
install -D ./mime/Ryujinx.xml $out/share/mime/packages/Ryujinx.xml
install -D ../misc/Logo.svg $out/share/icons/hicolor/scalable/apps/Ryujinx.svg
popd
''}
# Don't make a softlink on OSX because of its case insensitivity
${lib.optionalString (!stdenv.hostPlatform.isDarwin) "ln -s $out/bin/Ryujinx $out/bin/ryujinx"}
'';
passthru.updateScript = ./updater.sh;
meta = {
homepage = "https://ryujinx.app";
changelog = "https://git.ryujinx.app/ryubing/ryujinx/-/wikis/changelog";
description = "Experimental Nintendo Switch Emulator written in C# (community fork of Ryujinx)";
longDescription = ''
Ryujinx is an open-source Nintendo Switch emulator, created by gdkchan,
written in C#. This emulator aims at providing excellent accuracy and
performance, a user-friendly interface and consistent builds. It was
written from scratch and development on the project began in September
2017. The project has since been abandoned on October 1st 2024 and QoL
updates are now managed under a fork.
'';
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
jk
artemist
willow
];
platforms = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
];
mainProgram = "Ryujinx";
};
}
+793
View File
@@ -0,0 +1,793 @@
[
{
"pname": "Avalonia",
"version": "11.3.12",
"hash": "sha256-T2y8aoKUSfXqmV2RL1QStytzJkc/SZYfIdJihB5UWR0="
},
{
"pname": "Avalonia.Angle.Windows.Natives",
"version": "2.1.25547.20250602",
"hash": "sha256-LE/lENAHptmz6t3T/AoJwnhpda+xs7PqriNGzdcfg8M="
},
{
"pname": "Avalonia.BuildServices",
"version": "11.3.2",
"hash": "sha256-6wx06tjSKWQOlX2czdp6Wh0nuwVapx5qf/s8Qj5we40="
},
{
"pname": "Avalonia.Controls.ColorPicker",
"version": "11.3.10",
"hash": "sha256-d8VTsT6yYAa8uZAodX7SWgf4+izVHrP/hy/pDpT91Wk="
},
{
"pname": "Avalonia.Controls.ColorPicker",
"version": "11.3.12",
"hash": "sha256-zNpmfOTfw+gKZp8VPpfHe2hjqhrRmExf7lxqLf5OvDg="
},
{
"pname": "Avalonia.Controls.DataGrid",
"version": "11.3.12",
"hash": "sha256-xuAL5FOvonyaY9CwEhjtMnurPcA0lYe0dyLLK0GEzd8="
},
{
"pname": "Avalonia.Desktop",
"version": "11.3.12",
"hash": "sha256-IY6TkpVh0GiCkKbestdwH8KEJ0Embxy+JYe7lww0xBA="
},
{
"pname": "Avalonia.Diagnostics",
"version": "11.3.12",
"hash": "sha256-iDH6DjRKqm4YLXBq2JGg9IkkEGm3Rq1FQWyr/L+VaVA="
},
{
"pname": "Avalonia.FreeDesktop",
"version": "11.3.12",
"hash": "sha256-NTcYVHn13lFQjTNezmpmPGjxsBzryXorK0K6hl4ZZto="
},
{
"pname": "Avalonia.Markup.Xaml.Loader",
"version": "11.3.12",
"hash": "sha256-Ch2G7HQcj50dkr2fw1PhB9SPctUVdnhhKckj42YFykY="
},
{
"pname": "Avalonia.Native",
"version": "11.3.12",
"hash": "sha256-1ujLmYaL1zTgtlsNerBDtTuoaJX7c7HukNLJIalrB4Q="
},
{
"pname": "Avalonia.Remote.Protocol",
"version": "11.3.12",
"hash": "sha256-dF93nP1Cd7ZdzrO7ScGHchxYxCjWN45AjiqiO1J+cmU="
},
{
"pname": "Avalonia.Skia",
"version": "11.3.10",
"hash": "sha256-XJXyK19ow9mvcssdmjPvh8zyh4VExcVEoiIauqPNC5s="
},
{
"pname": "Avalonia.Skia",
"version": "11.3.12",
"hash": "sha256-gRMjH7igRIm22zQV0WxtwFHe8AiMTcaPlR0sC5lJy+w="
},
{
"pname": "Avalonia.Skia",
"version": "11.3.9",
"hash": "sha256-KCL1LNUd2i+50vQpDgfI+aMkIBUWtxExyuc43QIK21o="
},
{
"pname": "Avalonia.Themes.Simple",
"version": "11.3.12",
"hash": "sha256-EIuAcUmoL7/y4lUfdSg120/l/v3zQytC2rfr0b6jKiM="
},
{
"pname": "Avalonia.Win32",
"version": "11.3.12",
"hash": "sha256-haIKvJ1SD17+EUJHILoFJMy+WJJtXr9I+ZYMFtwEuTc="
},
{
"pname": "Avalonia.X11",
"version": "11.3.12",
"hash": "sha256-SEc0GaZTh1eGNFWHT6lGiN6LD0qE+ubTK7Efl0H/Q2w="
},
{
"pname": "CommandLineParser",
"version": "2.9.1",
"hash": "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="
},
{
"pname": "CommunityToolkit.Mvvm",
"version": "8.4.0",
"hash": "sha256-a0D550q+ffreU9Z+kQPdzJYPNaj1UjgyPofLzUg02ZI="
},
{
"pname": "Concentus",
"version": "2.2.2",
"hash": "sha256-9If4kL72V1evHOz0IONX8ASIy/rAtAm6RhzLzu+BSB8="
},
{
"pname": "csFastFloat",
"version": "4.1.5",
"hash": "sha256-dEbMPu/EmsRodI20P15F38QInil0IPcKE03akYp8tBY="
},
{
"pname": "DiscordRichPresence",
"version": "1.6.1.70",
"hash": "sha256-uXTNIWfZU7Gf/JpXQ5ufKA3SQdXYSkg3yLm5yCrBDd8="
},
{
"pname": "DynamicData",
"version": "9.4.1",
"hash": "sha256-CX4NQj2LTk/8f4xDE5rUVBsqcY74H/1qUHFTrVX+9/0="
},
{
"pname": "ExCSS",
"version": "4.3.1",
"hash": "sha256-nNn5+YEaqKSULhtDsImNEyndU/MHna7VpZNUExmo80o="
},
{
"pname": "FluentAvaloniaUI",
"version": "2.5.0",
"hash": "sha256-AC+IlESkbom+qxp6p/gYjLi5rAIBlbpln2DO2xhhXmc="
},
{
"pname": "FSharp.Core",
"version": "7.0.200",
"hash": "sha256-680VgvYbZbztPQosO17r5y8vxg/Y/4Vmr5K3iLIJKMo="
},
{
"pname": "Gommon",
"version": "2.8.0.1",
"hash": "sha256-c3a/43OJaL1glrsjdlyj9D/ooYpNKpYkn1lMKWxC4uE="
},
{
"pname": "HarfBuzzSharp",
"version": "8.3.1.1",
"hash": "sha256-614yv6bK9ynhdUnvW4wIkgpBe2sqTh28U9cDZzdhPc0="
},
{
"pname": "HarfBuzzSharp.NativeAssets.Linux",
"version": "8.3.1.1",
"hash": "sha256-sBbez6fc9axVcsBbIHbpQh/MM5NHlMJgSu6FyuZzVyU="
},
{
"pname": "HarfBuzzSharp.NativeAssets.macOS",
"version": "8.3.1.1",
"hash": "sha256-hK20KbX2OpewIO5qG5gWw5Ih6GoLcIDgFOqCJIjXR/Q="
},
{
"pname": "HarfBuzzSharp.NativeAssets.WebAssembly",
"version": "8.3.1.1",
"hash": "sha256-mLKoLqI47ZHXqTMLwP1UCm7faDptUfQukNvdq6w/xxw="
},
{
"pname": "HarfBuzzSharp.NativeAssets.Win32",
"version": "8.3.1.1",
"hash": "sha256-Um4iwLdz9XtaDSAsthNZdev6dMiy7OBoHOrorMrMYyo="
},
{
"pname": "Humanizer",
"version": "2.14.1",
"hash": "sha256-1wGwf5KAmDeiH0Dz8KcTdZw+UMkiNsjKOIOt/VJnnqE="
},
{
"pname": "Humanizer.Core",
"version": "2.14.1",
"hash": "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="
},
{
"pname": "Humanizer.Core.af",
"version": "2.14.1",
"hash": "sha256-8CCgI7OweSa53cZWZBXQ8a7VVt/NPP16zHVBZvzU9KQ="
},
{
"pname": "Humanizer.Core.ar",
"version": "2.14.1",
"hash": "sha256-JRoP+brQgYBZI8OccH/jaM1Z482ZWBiqU2XL3KsIPw8="
},
{
"pname": "Humanizer.Core.az",
"version": "2.14.1",
"hash": "sha256-ubwkbes9zrrisuXTcT4ZgOAiFsUieC6OLd4pgzxsE40="
},
{
"pname": "Humanizer.Core.bg",
"version": "2.14.1",
"hash": "sha256-Xv6DP1xxxGVUfP44TZasWpxgQ/DkriljvmIMtHf+nGk="
},
{
"pname": "Humanizer.Core.bn-BD",
"version": "2.14.1",
"hash": "sha256-6JpReIc3fkExvJIXzk6fUw56wJ78aTEg1dWQ6o+dQow="
},
{
"pname": "Humanizer.Core.cs",
"version": "2.14.1",
"hash": "sha256-MGL86KxSbz0PkDo9+NRj6h1fDjPZXlxAtYNf0Zreg/4="
},
{
"pname": "Humanizer.Core.da",
"version": "2.14.1",
"hash": "sha256-Gpw8kJbgz0KQS2mGY5tmrHqpgUO4abD7dSKIy//ONYM="
},
{
"pname": "Humanizer.Core.de",
"version": "2.14.1",
"hash": "sha256-Eswv8aEQoxI9MZr2CvWtBUn5X9JRZTWQjRzHJkGj80g="
},
{
"pname": "Humanizer.Core.el",
"version": "2.14.1",
"hash": "sha256-wCK2Uy/AV6FxPUSUM0NMbV14pAP+ss25AaVAHMQIeJA="
},
{
"pname": "Humanizer.Core.es",
"version": "2.14.1",
"hash": "sha256-iEHiQXKwg0ABDxh//HSrzwaVOlilQBFI96+GYzzTMwQ="
},
{
"pname": "Humanizer.Core.fa",
"version": "2.14.1",
"hash": "sha256-2Js7k3nvwJvxAjq3yoLn7PUY2S8+vXfgESwU4SbvjaA="
},
{
"pname": "Humanizer.Core.fi-FI",
"version": "2.14.1",
"hash": "sha256-jOWo43r3dhiBsV9cCoDfqK/YqWj5LejZsnfkG6mlkpA="
},
{
"pname": "Humanizer.Core.fr",
"version": "2.14.1",
"hash": "sha256-WCbA+f4B3g/ml7KrkHkzpU2Fj38HtWc/ujoVY5F3lk4="
},
{
"pname": "Humanizer.Core.fr-BE",
"version": "2.14.1",
"hash": "sha256-GydVmoEy+lwEQ1nM39QXSRhYNchqM47p7qhUEimN4Cw="
},
{
"pname": "Humanizer.Core.he",
"version": "2.14.1",
"hash": "sha256-MMf3qjJ+yzxjMxOR7wMWf+eErxWLqpsdWKFhjNCOsyM="
},
{
"pname": "Humanizer.Core.hr",
"version": "2.14.1",
"hash": "sha256-kBv2I9ns6L6D4XfXfyZS1VM6+YwF4yUkCmCA5zqvsok="
},
{
"pname": "Humanizer.Core.hu",
"version": "2.14.1",
"hash": "sha256-vRje+kxqOsl1JCXAE0yDKvauUumzuEhNcnhNsdIdgVM="
},
{
"pname": "Humanizer.Core.hy",
"version": "2.14.1",
"hash": "sha256-UL7PsK4msT5c96lk70/bVAxN63B71l8VOFtvuJQH9a0="
},
{
"pname": "Humanizer.Core.id",
"version": "2.14.1",
"hash": "sha256-nIl64gCuZh4D527qI2hfQRvzt1mTJUCDGMIZwpS3C/A="
},
{
"pname": "Humanizer.Core.is",
"version": "2.14.1",
"hash": "sha256-38vUQ1aVtlhK15kP9ZlDO0Nl0DcOA5iHx6F2SPN1gYM="
},
{
"pname": "Humanizer.Core.it",
"version": "2.14.1",
"hash": "sha256-4ne0VRNi9OAj3bGCQgCy1BNYKMizoHykJ/lchmCsWdc="
},
{
"pname": "Humanizer.Core.ja",
"version": "2.14.1",
"hash": "sha256-oAilMM8J6LumV6qv3gSIBNTm7u2L4vV38cQXtME3PhM="
},
{
"pname": "Humanizer.Core.ko-KR",
"version": "2.14.1",
"hash": "sha256-b70HQl2IWVPATtaYGDyJ+Z6ioPtrM53vXzfTCHYgxpQ="
},
{
"pname": "Humanizer.Core.ku",
"version": "2.14.1",
"hash": "sha256-8LiEH7MaapMtkHFMj7Y3pG+g0QYuIa5gD3VR9nYQn+k="
},
{
"pname": "Humanizer.Core.lv",
"version": "2.14.1",
"hash": "sha256-zyCsE5cD++u5shNIqCQUd+66FkUWOl+NfFrs2JduCaQ="
},
{
"pname": "Humanizer.Core.ms-MY",
"version": "2.14.1",
"hash": "sha256-pSdZLUi9oWo78nBh2DJunPhDR7THdZSZP0msCVbPsrY="
},
{
"pname": "Humanizer.Core.mt",
"version": "2.14.1",
"hash": "sha256-mkX2reEvNpx9w6gtZw+6bkrnj3Di1qgVDMr9q0IeKCw="
},
{
"pname": "Humanizer.Core.nb",
"version": "2.14.1",
"hash": "sha256-QvYJHqjO/SrelWYgtm8Sc7axs7J8wbJE+GbTgVw5LYs="
},
{
"pname": "Humanizer.Core.nb-NO",
"version": "2.14.1",
"hash": "sha256-YW8y2XkmHjwqf2fztNB3rsn3+CgslF1TclITwp0fA9g="
},
{
"pname": "Humanizer.Core.nl",
"version": "2.14.1",
"hash": "sha256-bQM7aXNQMBY+65NfMVQz/xYz9Ad2JC+ryXoB4lcYgmA="
},
{
"pname": "Humanizer.Core.pl",
"version": "2.14.1",
"hash": "sha256-IrPxHI4uQvBeMM9/8PaNueKwVkbN+1zFQlNWRjNfXEA="
},
{
"pname": "Humanizer.Core.pt",
"version": "2.14.1",
"hash": "sha256-XrlC15HNJFmDwLpHIUHb3Bec9A79msQCRB9Dvz8w4l0="
},
{
"pname": "Humanizer.Core.ro",
"version": "2.14.1",
"hash": "sha256-llXtfq4Tr5V2Q4dVD7J0IKITtpiWrFs50DAtJhcSuRI="
},
{
"pname": "Humanizer.Core.ru",
"version": "2.14.1",
"hash": "sha256-lD0dB3mkbFfGExwVWZk6fv24MyQQ8Cdv5OrleuZeChg="
},
{
"pname": "Humanizer.Core.sk",
"version": "2.14.1",
"hash": "sha256-EmyE+wssZwY6tAuEiFXGn5/yzVMZe7QEuTjOcByOXaA="
},
{
"pname": "Humanizer.Core.sl",
"version": "2.14.1",
"hash": "sha256-sWWxh7KZ8Y3Ps6GbBOHbU2GMsNZfkM+BOnUChf3fz4s="
},
{
"pname": "Humanizer.Core.sr",
"version": "2.14.1",
"hash": "sha256-/bA3LULRFn5WYmCscr5R5vaFRjeHC0xjNiF7PXEJ8r0="
},
{
"pname": "Humanizer.Core.sr-Latn",
"version": "2.14.1",
"hash": "sha256-43+o6oj0UNRJKiFoh57MGPSzlsWAq0eRtzlCrewDmVM="
},
{
"pname": "Humanizer.Core.sv",
"version": "2.14.1",
"hash": "sha256-9lXrHveKDs1y/W3Qxd+MVcohhKEU7zNPx21GBVPp/rA="
},
{
"pname": "Humanizer.Core.th-TH",
"version": "2.14.1",
"hash": "sha256-ldCsXINSvL2xom0SCtVQy+qX1IN5//EUoyIOwXiJ3k8="
},
{
"pname": "Humanizer.Core.tr",
"version": "2.14.1",
"hash": "sha256-VZnO1vMXiR7egKEKJ6lBsj7eNgxhFzakFWsYYRW4u2U="
},
{
"pname": "Humanizer.Core.uk",
"version": "2.14.1",
"hash": "sha256-rdvleUrKbj3c06A0O2MkgAZLtXLro9SPB1YqAGE1Vyg="
},
{
"pname": "Humanizer.Core.uz-Cyrl-UZ",
"version": "2.14.1",
"hash": "sha256-Qso1Iz9MTLs63x4F00kK31TZAN4AoFaFsuVzM+1z38k="
},
{
"pname": "Humanizer.Core.uz-Latn-UZ",
"version": "2.14.1",
"hash": "sha256-sVnkZTuEaHfMJIAZmSCqsspnKkYxK9eVBQZnAAqHNW4="
},
{
"pname": "Humanizer.Core.vi",
"version": "2.14.1",
"hash": "sha256-5wDt72+HdNN3mt/iJkxV9LaH13Jc1qr1vB4Lz8ahIPs="
},
{
"pname": "Humanizer.Core.zh-CN",
"version": "2.14.1",
"hash": "sha256-Z3qfFWyovcVT4Hqy51lgW2xGwyfI//Yfv90E0Liy1sw="
},
{
"pname": "Humanizer.Core.zh-Hans",
"version": "2.14.1",
"hash": "sha256-BTGkMEkQYJKRp858EU7hwNOdsHRT+w6vAMa6H8JIyX4="
},
{
"pname": "Humanizer.Core.zh-Hant",
"version": "2.14.1",
"hash": "sha256-N3D1z5aoGwAZ6+ZxrWMtXgacvQcgDG+aLrQQI9uysmM="
},
{
"pname": "MicroCom.Runtime",
"version": "0.11.0",
"hash": "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="
},
{
"pname": "Microsoft.CodeAnalysis.Analyzers",
"version": "3.3.4",
"hash": "sha256-qDzTfZBSCvAUu9gzq2k+LOvh6/eRvJ9++VCNck/ZpnE="
},
{
"pname": "Microsoft.CodeAnalysis.Common",
"version": "4.9.2",
"hash": "sha256-QU/nyiJWpdPQGHBdaOEVc+AghnGHcKBFBX0oyhRZ9CQ="
},
{
"pname": "Microsoft.CodeAnalysis.CSharp",
"version": "4.9.2",
"hash": "sha256-j06Q4A9E65075SBXdXVCMRgeLxA63Rv1vxarydmmVAA="
},
{
"pname": "Microsoft.CodeCoverage",
"version": "17.9.0",
"hash": "sha256-OaGa4+jRPHs+T+p/oekm2Miluqfd2IX8Rt+BmUx8kr4="
},
{
"pname": "Microsoft.DotNet.PlatformAbstractions",
"version": "3.1.6",
"hash": "sha256-RfM2qXiqdiamPkXr4IDkNc0IZSF9iTZv4uou/E7zNS0="
},
{
"pname": "Microsoft.Extensions.DependencyModel",
"version": "8.0.0",
"hash": "sha256-qkCdwemqdZY/yIW5Xmh7Exv74XuE39T8aHGHCofoVgo="
},
{
"pname": "Microsoft.IdentityModel.Abstractions",
"version": "8.3.0",
"hash": "sha256-LSZ91DbPswCWibHNSGWC3Jh3KQwAthVaU3r7XQJyutM="
},
{
"pname": "Microsoft.IdentityModel.JsonWebTokens",
"version": "8.3.0",
"hash": "sha256-Hiiv10LSOMIt7KsQSsteJV4DFkLebHMYmoISn/pl2F8="
},
{
"pname": "Microsoft.IdentityModel.Logging",
"version": "8.3.0",
"hash": "sha256-0P14ilpV+9yp+nqZWI/ilkTnRas4pic8NjNVcYxuXWs="
},
{
"pname": "Microsoft.IdentityModel.Tokens",
"version": "8.3.0",
"hash": "sha256-+TzBeZH2Tgs0EMoU5QuCdOD/5V8xM7MHClX578AUIxw="
},
{
"pname": "Microsoft.IO.RecyclableMemoryStream",
"version": "3.0.1",
"hash": "sha256-unFg/5EcU/XKJbob4GtQC43Ydgi5VjeBGs7hfhj4EYo="
},
{
"pname": "Microsoft.NET.Test.Sdk",
"version": "17.9.0",
"hash": "sha256-q/1AJ7eNlk02wvN76qvjl2xBx5iJ+h5ssiE/4akLmtI="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.1.0",
"hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
},
{
"pname": "Microsoft.TestPlatform.ObjectModel",
"version": "17.9.0",
"hash": "sha256-iiXUFzpvT8OWdzMj9FGJDqanwHx40s1TXVY9l3ii+s0="
},
{
"pname": "Microsoft.TestPlatform.TestHost",
"version": "17.9.0",
"hash": "sha256-1BZIY1z+C9TROgdTV/tq4zsPy7Q71GQksr/LoMKAzqU="
},
{
"pname": "MsgPack.Cli",
"version": "1.0.1",
"hash": "sha256-Gf0Ed9XHH4oFpJIkzhg/xhDVpenunSol65qa8IZeYrY="
},
{
"pname": "NetCoreServer",
"version": "8.0.7",
"hash": "sha256-RUYic8uAgJGdhUCrMJQULKlHB6xvw9H1lnNGU1axNZw="
},
{
"pname": "NETStandard.Library",
"version": "2.0.0",
"hash": "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0="
},
{
"pname": "NETStandard.Library",
"version": "2.0.3",
"hash": "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="
},
{
"pname": "Newtonsoft.Json",
"version": "13.0.1",
"hash": "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="
},
{
"pname": "NUnit",
"version": "3.13.3",
"hash": "sha256-Zn+sJIF7ieNqu/t2RwJx6WPFb1jl9UuNHidb/Px0v3E="
},
{
"pname": "NUnit3TestAdapter",
"version": "4.1.0",
"hash": "sha256-nDPiYdTFulqozEJrujr8/cqjG7m15Vkd/Frqem0Jr/w="
},
{
"pname": "Open.NAT.Core",
"version": "2.1.0.5",
"hash": "sha256-LqG5L2APr11142fsZPQ3clk3tJfAYBMXi1rP0EM9zDg="
},
{
"pname": "OpenTK.Audio.OpenAL",
"version": "4.8.2",
"hash": "sha256-i5KRiTYTNMB4Y5Qd5xewaYrb9sBbnXMDu2QXbM3RCeU="
},
{
"pname": "OpenTK.Core",
"version": "4.8.2",
"hash": "sha256-59S4Vj13y8HtZT6RZTwO6ZZbk1GUNDcYx1rMdv5jr4I="
},
{
"pname": "OpenTK.Graphics",
"version": "4.8.2",
"hash": "sha256-DNpXqtM9Oj6wDGYSF2FD4A4ueWG892Wk6uGWffNspo0="
},
{
"pname": "OpenTK.Mathematics",
"version": "4.8.2",
"hash": "sha256-TPsts443n6iEajfH2EuYTKtubrWuTLiCrTB1F4FndIo="
},
{
"pname": "OpenTK.redist.glfw",
"version": "3.3.8.39",
"hash": "sha256-bg8bGfoDDqmZ/efLFVm8l5etQajIVvOcQ/Nv+yKD4Bc="
},
{
"pname": "OpenTK.Windowing.GraphicsLibraryFramework",
"version": "4.8.2",
"hash": "sha256-a1MGtU+27pBNns55g8mOsxXpZxfEr6M62zLkIkkJTIY="
},
{
"pname": "ppy.SDL3-CS",
"version": "2026.320.0",
"hash": "sha256-dK58LuY8DQgw3Wfnj/HPup7Hxa9r2QvT/GBJbpUQ874="
},
{
"pname": "Projektanker.Icons.Avalonia",
"version": "9.6.2",
"hash": "sha256-BMbZQ2Hj80Yxcx8mNZ8+A4fxyB/Sa0QhFX5gC6jAueA="
},
{
"pname": "Projektanker.Icons.Avalonia.FontAwesome",
"version": "9.6.2",
"hash": "sha256-GumFdzG2GPCxfAU47Qk8a0RI4IlSzSTmRFMJ5ZVFvDg="
},
{
"pname": "Projektanker.Icons.Avalonia.MaterialDesign",
"version": "9.6.2",
"hash": "sha256-CG4VZDafywR278XwZTosm0sYzJyQ6AGHEQiIDB9y81I="
},
{
"pname": "Ryujinx.Audio.OpenAL.Dependencies",
"version": "1.21.0.1",
"hash": "sha256-NHGzMcYduuYJjduIlf8M8zSQQuJcXAEaMNmKIqAgs3w="
},
{
"pname": "Ryujinx.Graphics.Nvdec.Dependencies.AllArch",
"version": "6.1.2-build3",
"hash": "sha256-Glhvv00ZbrbB+Z4PMSTsmiP14HZDonp611s1gXGuyqI="
},
{
"pname": "Ryujinx.Graphics.Vulkan.Dependencies.MoltenVK",
"version": "1.2.0",
"hash": "sha256-vdDw6YGoyQzv6ustyXP6v7YWUIKEXaZOyUKAaVbRauI="
},
{
"pname": "Ryujinx.LibHac",
"version": "0.21.0-alpha.129",
"hash": "sha256-vwpjCsMZayUAzaydzcO9ktEzNIYEmDpQbhswGx8O7no=",
"url": "https://git.ryujinx.app/api/packages/projects/nuget/package/ryujinx.libhac/0.21.0-alpha.129/ryujinx.libhac.0.21.0-alpha.129.nupkg"
},
{
"pname": "Ryujinx.Systems.Update.Common",
"version": "2.0.6",
"hash": "sha256-2btWQmCwqJSxISN3N7HdRCbkfSAs4Ph+o8hT+GlySYk="
},
{
"pname": "Ryujinx.UpdateClient",
"version": "1.0.44",
"hash": "sha256-4lKA2mscjyiJZAQf0ixAdVmwzDWog+CTGIftOmC0xnk="
},
{
"pname": "securifybv.PropertyStore",
"version": "0.1.0",
"hash": "sha256-jTPT9E2LyElgJq4HMavkdwT8tA9uklnJv00mlIx66+g="
},
{
"pname": "securifybv.ShellLink",
"version": "0.1.0",
"hash": "sha256-Am+ZednCVJUDgB7TePyY3CTxKDQ6Lr8M8KiCVAJoouw="
},
{
"pname": "Sep",
"version": "0.11.1",
"hash": "sha256-GkDWF51QOIKUu55By5ya471KrwXvQbm98DOo/zV0Bew="
},
{
"pname": "shaderc.net",
"version": "0.1.0",
"hash": "sha256-+K7ObC9ucilwWY+Tlf9KcrAVoTFS65V6Di7JDWDSZTg="
},
{
"pname": "SharpCompress",
"version": "0.47.4",
"hash": "sha256-mH0R+al2GUomIYkieYudTmF1mAnIUiifQPTp13eUFg8="
},
{
"pname": "ShimSkiaSharp",
"version": "3.6.0",
"hash": "sha256-73Z5rWOt8MFXAvR1FmN8jIoZKNJafKpR75FyqqoS0gE="
},
{
"pname": "Silk.NET.Core",
"version": "2.22.0",
"hash": "sha256-1aBiBwifLel9aaGI97gxbvID/XKbFm1dpVv2zm0NSEc="
},
{
"pname": "Silk.NET.Vulkan",
"version": "2.22.0",
"hash": "sha256-TxCjv6Q35PrJTs0SkiE1srJNZf1yh9k98Gfx8DWSWjY="
},
{
"pname": "Silk.NET.Vulkan.Extensions.EXT",
"version": "2.22.0",
"hash": "sha256-spbTFm5wHbVZqMNvAih6wexeZs61B8kbX4sKYSe5Syk="
},
{
"pname": "Silk.NET.Vulkan.Extensions.KHR",
"version": "2.22.0",
"hash": "sha256-aXgS8UxYlfBIrxmoAOuy6Z3NZuV+ruSibQPvLO1wL/U="
},
{
"pname": "SkiaSharp",
"version": "2.88.9",
"hash": "sha256-jZ/4nVXYJtrz9SBf6sYc/s0FxS7ReIYM4kMkrhZS+24="
},
{
"pname": "SkiaSharp.NativeAssets.Linux",
"version": "2.88.9",
"hash": "sha256-mQ/oBaqRR71WfS66mJCvcc3uKW7CNEHoPN2JilDbw/A="
},
{
"pname": "SkiaSharp.NativeAssets.macOS",
"version": "2.88.9",
"hash": "sha256-qvGuAmjXGjGKMzOPBvP9VWRVOICSGb7aNVejU0lLe/g="
},
{
"pname": "SkiaSharp.NativeAssets.WebAssembly",
"version": "2.88.9",
"hash": "sha256-vgFL4Pdy3O1RKBp+T9N3W4nkH9yurZ0suo8u3gPmmhY="
},
{
"pname": "SkiaSharp.NativeAssets.Win32",
"version": "2.88.9",
"hash": "sha256-kP5XM5GgwHGfNJfe4T2yO5NIZtiF71Ddp0pd1vG5V/4="
},
{
"pname": "SPB",
"version": "0.0.4-build32",
"hash": "sha256-GUzbV5rLWtXTpiddYrKnWWLujG38vBDCO4xRStwAaDo="
},
{
"pname": "Svg.Controls.Avalonia",
"version": "11.3.9.4",
"hash": "sha256-VtT78D+HNZfwetSzYG+oDhzl4EZYcIlcq+59mPqyIGk="
},
{
"pname": "Svg.Controls.Skia.Avalonia",
"version": "11.3.9.4",
"hash": "sha256-q9mixdAKtgxHS+//lfD1kgOhcKs9sNoqs6OnT3WBte8="
},
{
"pname": "Svg.Custom",
"version": "3.6.0",
"hash": "sha256-caId1MZbsDR5kZYxiVUZfZJl6FLt1RbqSA46YZ2EXA4="
},
{
"pname": "Svg.Model",
"version": "3.6.0",
"hash": "sha256-iQMvX6UUu5REzUHBrPQcAVXP8KEzz8b5lratPaIEjbc="
},
{
"pname": "Svg.Skia",
"version": "3.6.0",
"hash": "sha256-USVPjpvV3FoMLoThAqz53IscTKw4oVIAyDkdo03Z6Do="
},
{
"pname": "System.Buffers",
"version": "4.5.1",
"hash": "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="
},
{
"pname": "System.CodeDom",
"version": "4.4.0",
"hash": "sha256-L1xyspJ8pDJNVPYKl+FMGf4Zwm0tlqtAyQCNW6pT6/0="
},
{
"pname": "System.Collections.Immutable",
"version": "8.0.0",
"hash": "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="
},
{
"pname": "System.IO.Hashing",
"version": "9.0.2",
"hash": "sha256-CI1z3rCDA2XnYE7hA1Hh6+rPkdIRAcswCXu/Pbaavck="
},
{
"pname": "System.Memory",
"version": "4.5.5",
"hash": "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="
},
{
"pname": "System.Numerics.Vectors",
"version": "4.4.0",
"hash": "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="
},
{
"pname": "System.Reactive",
"version": "6.0.1",
"hash": "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q="
},
{
"pname": "System.Reflection.Metadata",
"version": "8.0.0",
"hash": "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "4.5.3",
"hash": "sha256-lnZMUqRO4RYRUeSO8HSJ9yBHqFHLVbmenwHWkIU20ak="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "6.0.0",
"hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="
},
{
"pname": "System.Text.Encoding.CodePages",
"version": "8.0.0",
"hash": "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE="
},
{
"pname": "System.Threading.Tasks.Extensions",
"version": "4.5.4",
"hash": "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="
},
{
"pname": "Tmds.DBus.Protocol",
"version": "0.21.2",
"hash": "sha256-gaK/5aAummyin6ptnhaJbnA0ih4+2xADrtrLfFbHwYI="
},
{
"pname": "UnicornEngine.Unicorn",
"version": "2.0.2-rc1-fb78016",
"hash": "sha256-NrJ4/o4FmCt2zoB1fWAzqdonvpYhTFsWwh3h0lxZg+Q="
}
]
+37
View File
@@ -0,0 +1,37 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p coreutils gnused curl common-updater-scripts nix-prefetch-git jq
# shellcheck shell=bash
set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
# If NEW_VERSION or COMMIT are not set, fetch the latest version
if [ -z ${NEW_VERSION+x} ] && [ -z ${COMMIT+x} ]; then
RELEASE_DATA=$(curl -s "https://git.ryujinx.app/api/v4/projects/1/repository/tags?order_by=updated&sort=desc")
if [ -z "$RELEASE_DATA" ] || [[ $RELEASE_DATA =~ "imposed ratelimits" ]]; then
echo "failed to get release job data" >&2
exit 1
fi
NEW_VERSION=$(echo "$RELEASE_DATA" | jq -r '[.[] | select(.name | startswith("Canary") | not)][0].name')
fi
OLD_VERSION="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./package.nix)"
echo "comparing versions $OLD_VERSION -> $NEW_VERSION"
if [[ "$OLD_VERSION" == "$NEW_VERSION" ]]; then
echo "Already up to date!"
if [[ "${1-default}" != "--deps-only" ]]; then
exit 0
fi
fi
cd ../../../..
if [[ "${1-default}" != "--deps-only" ]]; then
SHA="$(nix-prefetch-git https://git.ryujinx.app/ryubing/ryujinx --rev "$NEW_VERSION" --quiet | jq -r '.sha256')"
SRI=$(nix --experimental-features nix-command hash to-sri "sha256:$SHA")
# update-source-version ryubing-canary "$NEW_VERSION" "$SRI"
fi
echo "building Nuget lockfile"
eval "$(nix-build -A ryubing-canary.fetch-deps --no-out-link)"
+32
View File
@@ -0,0 +1,32 @@
{ stdenvNoCC
, texlive
}:
stdenvNoCC.mkDerivation (final: {
pname = "syd-plex-latex";
version = "1.0.0";
src = ./.;
nativeBuildInputs = [ texlive.combined.scheme-small ];
passthru = {
pkgs = [ final.finalPackage ];
tlDeps = with texlive; [
plex
plex-otf
fontaxes
unicode-math
xetex
fontspec
xltxtra
realscripts
xecjk
];
tlType = "run";
};
installPhase = ''
runHook preInstall
dir="$out/tex/latex/syd-plex"
mkdir -p "$dir"
mv syd-plex.sty "$dir"
runHook postInstall
'';
})
+15
View File
@@ -0,0 +1,15 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{syd-plex}[2025/12/01 Configure IBM Plex fonts]
% Redefine some commands to make unicode-math work lol. See §3.1 of the
% unicode-math manual.
\renewcommand*{\mathrm}[1]{\symup{#1}}
\RequirePackage{plex-otf}
\RequirePackage{xeCJK}
\setmathfont{IBM Plex Math}
\setmainfont{IBM Plex Serif}
\setCJKmainfont{IBM Plex Sans KR}
% Use sans-serif for \operatorname
\setoperatorfont\mathsf