1 Commits
Author SHA1 Message Date
doloro a621ecbbe9 add: VRCNext (vrchat companion desktop app)
check / build (pull_request) Successful in 57s
2026-08-07 22:04:06 +01:00
8 changed files with 461 additions and 147 deletions
+49 -28
View File
@@ -1,7 +1,28 @@
{ {
"VRCNext": {
"cargoLock": null,
"date": null,
"extract": null,
"name": "VRCNext",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "shinyflvre",
"repo": "VRCNext",
"rev": "v2026.40.6",
"sha256": "sha256-qJdYFj1hBLVeDmQcUcbteKJIALMDEP1Tk77ds5tP0T8=",
"sparseCheckout": [],
"type": "github"
},
"version": "v2026.40.6"
},
"ath-tools": { "ath-tools": {
"cargoLock": null, "cargoLock": null,
"date": "2026-08-05", "date": "2026-07-16",
"extract": null, "extract": null,
"name": "ath-tools", "name": "ath-tools",
"passthru": null, "passthru": null,
@@ -11,17 +32,17 @@
"fetchSubmodules": false, "fetchSubmodules": false,
"leaveDotGit": false, "leaveDotGit": false,
"name": null, "name": null,
"rev": "6df4dae3e2f5e4c2903f3cafd40996fc1b3639ce", "rev": "54367caab6cb4e6cd21310c64feadbacc8c9b574",
"sha256": "sha256-FFoV58YVK7KGBw/JPFWcvGkJOONrfKCvACprYCzIKeg=", "sha256": "sha256-iH9RKyhGj1mIycK//8KJqbkO1ZbQaAdWgsQNd7AfWMc=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "git", "type": "git",
"url": "https://github.com/qca/qca-swiss-army-knife.git" "url": "https://github.com/qca/qca-swiss-army-knife.git"
}, },
"version": "6df4dae3e2f5e4c2903f3cafd40996fc1b3639ce" "version": "54367caab6cb4e6cd21310c64feadbacc8c9b574"
}, },
"base24-schemes": { "base24-schemes": {
"cargoLock": null, "cargoLock": null,
"date": "2026-08-09", "date": "2026-07-14",
"extract": null, "extract": null,
"name": "base24-schemes", "name": "base24-schemes",
"passthru": null, "passthru": null,
@@ -31,13 +52,13 @@
"fetchSubmodules": false, "fetchSubmodules": false,
"leaveDotGit": false, "leaveDotGit": false,
"name": null, "name": null,
"rev": "fdca32a0d14ec80ad83a78a9ccb85592ca6cb9e1", "rev": "010185535336bf94d815b900cd63bb0fc204e216",
"sha256": "sha256-LMHxSQJIv6QJJkO9W7sAkJujlwusFf9/Ct0SYJ6GyHQ=", "sha256": "sha256-F+YMLW07YdZ4vUPt9h/gNKDU4GlXYYfSWjhY7M2RqRs=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "git", "type": "git",
"url": "https://github.com/tinted-theming/schemes.git" "url": "https://github.com/tinted-theming/schemes.git"
}, },
"version": "fdca32a0d14ec80ad83a78a9ccb85592ca6cb9e1" "version": "010185535336bf94d815b900cd63bb0fc204e216"
}, },
"claude-code-acp": { "claude-code-acp": {
"cargoLock": null, "cargoLock": null,
@@ -53,12 +74,12 @@
"name": null, "name": null,
"owner": "zed-industries", "owner": "zed-industries",
"repo": "claude-code-acp", "repo": "claude-code-acp",
"rev": "v0.69.0", "rev": "v0.60.0",
"sha256": "sha256-x0k+5EhGx3y6Xd2rswTWMfYb0ZAYf5D+DaACr14uNMM=", "sha256": "sha256-idyZcd8KD+bhAlKqqaTS6X8DcNjAzluln8it1V0vyUk=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "v0.69.0" "version": "v0.60.0"
}, },
"claude-sync": { "claude-sync": {
"cargoLock": null, "cargoLock": null,
@@ -74,12 +95,12 @@
"name": null, "name": null,
"owner": "tawanorg", "owner": "tawanorg",
"repo": "claude-sync", "repo": "claude-sync",
"rev": "v1.17.1", "rev": "v1.14.6",
"sha256": "sha256-hsIski28Dr3k3+/0/+k6XySAeoQ6e5nTeLAGRtZ2kAQ=", "sha256": "sha256-i/V6Yf6f21KBriSpHG/9BZoUWTg5gHNisxQoUbuhBY0=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "v1.17.1" "version": "v1.14.6"
}, },
"flightcore": { "flightcore": {
"cargoLock": null, "cargoLock": null,
@@ -116,21 +137,21 @@
"name": null, "name": null,
"owner": "Slush97", "owner": "Slush97",
"repo": "grimoire", "repo": "grimoire",
"rev": "v1.27.1", "rev": "v1.26.0",
"sha256": "sha256-vf0PU1NfDLv7MxQeJzggSEGlmUose3rdonJhxccuriQ=", "sha256": "sha256-E357W9BTeODo4ckuWs4HfGTFYAk7kh/7OmvpShArIFs=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "v1.27.1" "version": "v1.26.0"
}, },
"neovide": { "neovide": {
"cargoLock": { "cargoLock": {
"Cargo.lock": [ "Cargo.lock": [
"sha256-t_ayXFn2hXrSgAGZKn6FpZLbrMXekXL_+xhOXdsZvKU=/Cargo.lock", "sha256-3Bi1GKVRu90eQa5e8bhgOW1T92INWbQNCARJKeBM6Y8=/Cargo.lock",
{} {}
] ]
}, },
"date": "2026-08-12", "date": "2026-07-18",
"extract": null, "extract": null,
"name": "neovide", "name": "neovide",
"passthru": null, "passthru": null,
@@ -140,13 +161,13 @@
"fetchSubmodules": false, "fetchSubmodules": false,
"leaveDotGit": false, "leaveDotGit": false,
"name": null, "name": null,
"rev": "ba8c41f423c9a8f0cb14ff19baa6f538c95e52bf", "rev": "9477f53a9c5821bec8eb4488dee89842f96f5bd3",
"sha256": "sha256-t/ayXFn2hXrSgAGZKn6FpZLbrMXekXL/+xhOXdsZvKU=", "sha256": "sha256-3Bi1GKVRu90eQa5e8bhgOW1T92INWbQNCARJKeBM6Y8=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "git", "type": "git",
"url": "https://github.com/neovide/neovide.git" "url": "https://github.com/neovide/neovide.git"
}, },
"version": "ba8c41f423c9a8f0cb14ff19baa6f538c95e52bf" "version": "9477f53a9c5821bec8eb4488dee89842f96f5bd3"
}, },
"qebspil": { "qebspil": {
"cargoLock": null, "cargoLock": null,
@@ -182,12 +203,12 @@
"name": null, "name": null,
"owner": "radareorg", "owner": "radareorg",
"repo": "r2ghidra", "repo": "r2ghidra",
"rev": "6.2.0", "rev": "6.1.8",
"sha256": "sha256-+iHJpArFu1txVQ5chpg9/aBXDGoDAPlCRqRbgTSnCiQ=", "sha256": "sha256-f5iohbAUYG524KJqSvL3PQCFnLQc055Ta02G3CRSO9I=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "6.2.0" "version": "6.1.8"
}, },
"radare2-mcp": { "radare2-mcp": {
"cargoLock": null, "cargoLock": null,
@@ -203,12 +224,12 @@
"name": null, "name": null,
"owner": "radareorg", "owner": "radareorg",
"repo": "radare2-mcp", "repo": "radare2-mcp",
"rev": "1.8.6", "rev": "1.8.4",
"sha256": "sha256-btJfvsIC/xRfdQYJL0FYqUHsvP7zn/2EnUzLesWZPK4=", "sha256": "sha256-EbkEbTATKxBOKWVqKkHp6h/hg4VUW0TsgGxN9TRI+pc=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "1.8.6" "version": "1.8.4"
}, },
"slbounce": { "slbounce": {
"cargoLock": null, "cargoLock": null,
+40 -29
View File
@@ -6,54 +6,65 @@
dockerTools, dockerTools,
}: }:
{ {
ath-tools = { VRCNext = {
pname = "VRCNext";
version = "v2026.40.6";
src = fetchFromGitHub {
owner = "shinyflvre";
repo = "VRCNext";
rev = "v2026.40.6";
fetchSubmodules = false;
sha256 = "sha256-qJdYFj1hBLVeDmQcUcbteKJIALMDEP1Tk77ds5tP0T8=";
};
};
ath-tools = {
pname = "ath-tools"; pname = "ath-tools";
version = "6df4dae3e2f5e4c2903f3cafd40996fc1b3639ce"; version = "54367caab6cb4e6cd21310c64feadbacc8c9b574";
src = fetchgit { src = fetchgit {
url = "https://github.com/qca/qca-swiss-army-knife.git"; url = "https://github.com/qca/qca-swiss-army-knife.git";
rev = "6df4dae3e2f5e4c2903f3cafd40996fc1b3639ce"; rev = "54367caab6cb4e6cd21310c64feadbacc8c9b574";
fetchSubmodules = false; fetchSubmodules = false;
deepClone = false; deepClone = false;
leaveDotGit = false; leaveDotGit = false;
sparseCheckout = [ ]; sparseCheckout = [ ];
sha256 = "sha256-FFoV58YVK7KGBw/JPFWcvGkJOONrfKCvACprYCzIKeg="; sha256 = "sha256-iH9RKyhGj1mIycK//8KJqbkO1ZbQaAdWgsQNd7AfWMc=";
}; };
date = "2026-08-05"; date = "2026-07-16";
}; };
base24-schemes = { base24-schemes = {
pname = "base24-schemes"; pname = "base24-schemes";
version = "fdca32a0d14ec80ad83a78a9ccb85592ca6cb9e1"; version = "010185535336bf94d815b900cd63bb0fc204e216";
src = fetchgit { src = fetchgit {
url = "https://github.com/tinted-theming/schemes.git"; url = "https://github.com/tinted-theming/schemes.git";
rev = "fdca32a0d14ec80ad83a78a9ccb85592ca6cb9e1"; rev = "010185535336bf94d815b900cd63bb0fc204e216";
fetchSubmodules = false; fetchSubmodules = false;
deepClone = false; deepClone = false;
leaveDotGit = false; leaveDotGit = false;
sparseCheckout = [ ]; sparseCheckout = [ ];
sha256 = "sha256-LMHxSQJIv6QJJkO9W7sAkJujlwusFf9/Ct0SYJ6GyHQ="; sha256 = "sha256-F+YMLW07YdZ4vUPt9h/gNKDU4GlXYYfSWjhY7M2RqRs=";
}; };
date = "2026-08-09"; date = "2026-07-14";
}; };
claude-code-acp = { claude-code-acp = {
pname = "claude-code-acp"; pname = "claude-code-acp";
version = "v0.69.0"; version = "v0.60.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zed-industries"; owner = "zed-industries";
repo = "claude-code-acp"; repo = "claude-code-acp";
rev = "v0.69.0"; rev = "v0.60.0";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-x0k+5EhGx3y6Xd2rswTWMfYb0ZAYf5D+DaACr14uNMM="; sha256 = "sha256-idyZcd8KD+bhAlKqqaTS6X8DcNjAzluln8it1V0vyUk=";
}; };
}; };
claude-sync = { claude-sync = {
pname = "claude-sync"; pname = "claude-sync";
version = "v1.17.1"; version = "v1.14.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tawanorg"; owner = "tawanorg";
repo = "claude-sync"; repo = "claude-sync";
rev = "v1.17.1"; rev = "v1.14.6";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-hsIski28Dr3k3+/0/+k6XySAeoQ6e5nTeLAGRtZ2kAQ="; sha256 = "sha256-i/V6Yf6f21KBriSpHG/9BZoUWTg5gHNisxQoUbuhBY0=";
}; };
}; };
flightcore = { flightcore = {
@@ -69,34 +80,34 @@
}; };
grimoire = { grimoire = {
pname = "grimoire"; pname = "grimoire";
version = "v1.27.1"; version = "v1.26.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Slush97"; owner = "Slush97";
repo = "grimoire"; repo = "grimoire";
rev = "v1.27.1"; rev = "v1.26.0";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-vf0PU1NfDLv7MxQeJzggSEGlmUose3rdonJhxccuriQ="; sha256 = "sha256-E357W9BTeODo4ckuWs4HfGTFYAk7kh/7OmvpShArIFs=";
}; };
}; };
neovide = { neovide = {
pname = "neovide"; pname = "neovide";
version = "ba8c41f423c9a8f0cb14ff19baa6f538c95e52bf"; version = "9477f53a9c5821bec8eb4488dee89842f96f5bd3";
src = fetchgit { src = fetchgit {
url = "https://github.com/neovide/neovide.git"; url = "https://github.com/neovide/neovide.git";
rev = "ba8c41f423c9a8f0cb14ff19baa6f538c95e52bf"; rev = "9477f53a9c5821bec8eb4488dee89842f96f5bd3";
fetchSubmodules = false; fetchSubmodules = false;
deepClone = false; deepClone = false;
leaveDotGit = false; leaveDotGit = false;
sparseCheckout = [ ]; sparseCheckout = [ ];
sha256 = "sha256-t/ayXFn2hXrSgAGZKn6FpZLbrMXekXL/+xhOXdsZvKU="; sha256 = "sha256-3Bi1GKVRu90eQa5e8bhgOW1T92INWbQNCARJKeBM6Y8=";
}; };
cargoLock."Cargo.lock" = { cargoLock."Cargo.lock" = {
lockFile = ./. + "/sha256-t_ayXFn2hXrSgAGZKn6FpZLbrMXekXL_+xhOXdsZvKU=/Cargo.lock"; lockFile = ./. + "/sha256-3Bi1GKVRu90eQa5e8bhgOW1T92INWbQNCARJKeBM6Y8=/Cargo.lock";
outputHashes = { outputHashes = {
}; };
}; };
date = "2026-08-12"; date = "2026-07-18";
}; };
qebspil = { qebspil = {
pname = "qebspil"; pname = "qebspil";
@@ -114,24 +125,24 @@
}; };
radare2-ghidra = { radare2-ghidra = {
pname = "radare2-ghidra"; pname = "radare2-ghidra";
version = "6.2.0"; version = "6.1.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "radareorg"; owner = "radareorg";
repo = "r2ghidra"; repo = "r2ghidra";
rev = "6.2.0"; rev = "6.1.8";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-+iHJpArFu1txVQ5chpg9/aBXDGoDAPlCRqRbgTSnCiQ="; sha256 = "sha256-f5iohbAUYG524KJqSvL3PQCFnLQc055Ta02G3CRSO9I=";
}; };
}; };
radare2-mcp = { radare2-mcp = {
pname = "radare2-mcp"; pname = "radare2-mcp";
version = "1.8.6"; version = "1.8.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "radareorg"; owner = "radareorg";
repo = "radare2-mcp"; repo = "radare2-mcp";
rev = "1.8.6"; rev = "1.8.4";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-btJfvsIC/xRfdQYJL0FYqUHsvP7zn/2EnUzLesWZPK4="; sha256 = "sha256-EbkEbTATKxBOKWVqKkHp6h/hg4VUW0TsgGxN9TRI+pc=";
}; };
}; };
slbounce = { slbounce = {
+4
View File
@@ -49,3 +49,7 @@ fetch.github = "Slush97/grimoire"
src.github = "Slush97/vpkmerge" src.github = "Slush97/vpkmerge"
fetch.github = "Slush97/vpkmerge" fetch.github = "Slush97/vpkmerge"
cargo_lock = ["Cargo.lock"] cargo_lock = ["Cargo.lock"]
[VRCNext]
src.github = "shinyflvre/VRCNext"
fetch.github = "shinyflvre/VRCNext"
+11 -10
View File
@@ -15,8 +15,9 @@
callPackage, callPackage,
makeDesktopItem, makeDesktopItem,
copyDesktopItems, copyDesktopItems,
}: let }:
sources = callPackage ../../../../_sources/generated.nix {}; let
sources = callPackage ../../../../_sources/generated.nix { };
src = sources.grimoire.src; src = sources.grimoire.src;
version = src.rev; version = src.rev;
@@ -26,14 +27,14 @@
owner = "Slush97"; owner = "Slush97";
repo = "grimoire-social"; repo = "grimoire-social";
rev = "main"; rev = "main";
hash = "sha256-AR2rTNDuge19t+VAqL/I6dmB8f5niIqINmNnRL70k94="; hash = "sha256-f+wUZOR7dqigxd/IZtay1BrLS5rcSnaDage3NXxqsPE=";
}; };
pnpmDeps = pnpm.fetchDeps { pnpmDeps = pnpm.fetchDeps {
pname = "grimoire"; pname = "grimoire";
inherit version src; inherit version src;
fetcherVersion = 4; fetcherVersion = 4;
hash = "sha256-7Lh4Y3sr50tIO7vsVwfJNC2zKyiqMz6EO81egS/DC2k="; hash = "sha256-Mqvvemc3oDCiuY/UnDOc73P+dLqMEFnwQotodVhrPao=";
# hash = lib.fakeHash; # hash = lib.fakeHash;
}; };
@@ -41,11 +42,11 @@
name = "grimoire"; name = "grimoire";
exec = "grimoire %u"; exec = "grimoire %u";
desktopName = "Grimoire"; desktopName = "Grimoire";
categories = ["Utility"]; categories = [ "Utility" ];
mimeTypes = ["x-scheme-handler/grimoire"]; mimeTypes = [ "x-scheme-handler/grimoire" ];
}; };
in in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "grimoire"; pname = "grimoire";
inherit version src; inherit version src;
@@ -62,7 +63,7 @@ in
copyDesktopItems copyDesktopItems
]; ];
desktopItems = [desktopItem]; desktopItems = [ desktopItem ];
buildInputs = [ buildInputs = [
sqlite sqlite
@@ -142,6 +143,6 @@ in
meta = { meta = {
description = "Grimoire Electron-based mod manager"; description = "Grimoire Electron-based mod manager";
platforms = ["x86_64-linux"]; platforms = [ "x86_64-linux" ];
}; };
} }
+1 -1
View File
@@ -33,7 +33,7 @@
in in
rustPlatform.buildRustPackage.override {stdenv = clangStdenv;} (finalAttrs: { rustPlatform.buildRustPackage.override {stdenv = clangStdenv;} (finalAttrs: {
pname = "neovide"; pname = "neovide";
version = "nightly-${src.rev}"; version = src.rev;
src = src; src = src;
cargoLock = sources.neovide.cargoLock."Cargo.lock"; cargoLock = sources.neovide.cargoLock."Cargo.lock";
+142
View File
@@ -0,0 +1,142 @@
[
{
"pname": "JsonSubTypes",
"version": "2.0.1",
"hash": "sha256-1Sh5MkvJfOVGo83D5EJJzmJYu5LFSOMAFwQCNRNvFc4="
},
{
"pname": "Microsoft.Data.Sqlite",
"version": "9.0.0",
"hash": "sha256-SGUV8GJAY8shZwHs4SpfrjsVh5foE0E9qGjO3FiSqFQ="
},
{
"pname": "Microsoft.Data.Sqlite.Core",
"version": "9.0.0",
"hash": "sha256-zxVvQSpfECqsjawJVIUBuE82pG5mN2F7iPCRLoK7Q4c="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "8.0.0",
"hash": "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "8.0.0",
"hash": "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="
},
{
"pname": "Microsoft.Win32.SystemEvents",
"version": "9.0.0",
"hash": "sha256-sN16l3f89HTDlf80BRZQIIbYg33B4Z0BRtyjDcNf6IU="
},
{
"pname": "NativeFileDialogSharp",
"version": "0.5.0",
"hash": "sha256-9K+nc25ZNcAPrTFokWwPXAjuF0shVVhxWMNhZZSabdU="
},
{
"pname": "Newtonsoft.Json",
"version": "13.0.3",
"hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="
},
{
"pname": "NuGet.Versioning",
"version": "6.12.1",
"hash": "sha256-f/ejCuzCAwKs4N4Ec6yf2RovrhBT0nj0hRDP+03/Iy4="
},
{
"pname": "Otp.NET",
"version": "1.4.0",
"hash": "sha256-J0tWqpW5lSZjcV1hV2sAuAQwLR1VK37rEmcLzlUGXC8="
},
{
"pname": "Photino.Native",
"version": "4.0.22",
"hash": "sha256-owM7RGwFd6X5bw1ttMgaQ6qf+157d2OHv5IJp+VlYXs="
},
{
"pname": "Photino.NET",
"version": "4.0.16",
"hash": "sha256-cbxDN4nuuwYF4kYoXeZr2HGFwB0GTu8QXrED7Hzz6ps="
},
{
"pname": "Polly",
"version": "8.1.0",
"hash": "sha256-l8ZqXsPCYnOErJqrh/RP4kbNgno7y3V01NR7awy93Cs="
},
{
"pname": "Polly.Core",
"version": "8.1.0",
"hash": "sha256-5fhL27CDKUgWZLMSoGsQuT6d3IzJOqx5rNg+EQZ5f28="
},
{
"pname": "Rsync.Delta",
"version": "1.0.1",
"hash": "sha256-DVB8028j+XWMWZ6YASiXCY+6l9bb7v7zHGFg+ipBcZo="
},
{
"pname": "SkiaSharp",
"version": "2.88.8",
"hash": "sha256-rD5gc4SnlRTXwz367uHm8XG5eAIQpZloGqLRGnvNu0A="
},
{
"pname": "SkiaSharp.NativeAssets.Linux.NoDependencies",
"version": "2.88.8",
"hash": "sha256-1A00g0D1BhXU6l1iDHlaC30iWJpiGh9Z5JRpFtfohUY="
},
{
"pname": "SkiaSharp.NativeAssets.macOS",
"version": "2.88.8",
"hash": "sha256-CdcrzQHwCcmOCPtS8EGtwsKsgdljnH41sFytW7N9PmI="
},
{
"pname": "SkiaSharp.NativeAssets.Win32",
"version": "2.88.8",
"hash": "sha256-b8Vb94rNjwPKSJDQgZ0Xv2dWV7gMVFl5GwTK/QiZPPM="
},
{
"pname": "SQLitePCLRaw.bundle_e_sqlite3",
"version": "2.1.10",
"hash": "sha256-kZIWjH/TVTXRIsHPZSl7zoC4KAMBMWmgFYGLrQ15Occ="
},
{
"pname": "SQLitePCLRaw.core",
"version": "2.1.10",
"hash": "sha256-gpZcYwiJVCVwCyJu0R6hYxyMB39VhJDmYh9LxcIVAA8="
},
{
"pname": "SQLitePCLRaw.lib.e_sqlite3",
"version": "2.1.10",
"hash": "sha256-m2v2RQWol+1MNGZsx+G2N++T9BNtQGLLHXUjcwkdCnc="
},
{
"pname": "SQLitePCLRaw.provider.e_sqlite3",
"version": "2.1.10",
"hash": "sha256-MLs3jiETLZ7k/TgkHynZegCWuAbgHaDQKTPB0iNv7Fg="
},
{
"pname": "System.Drawing.Common",
"version": "9.0.0",
"hash": "sha256-fOGssTUHAkZtPMVCvxzcB39CSXRI+Gj4QFLWkR15iz0="
},
{
"pname": "System.IO.Pipelines",
"version": "4.7.0",
"hash": "sha256-5FWgqBisFxCWetwUCQi6nNMK7+JWM+GhAuN+uARdprM="
},
{
"pname": "System.Memory",
"version": "4.5.3",
"hash": "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="
},
{
"pname": "Velopack",
"version": "0.0.915",
"hash": "sha256-L31qPk7/MLexF+5FP4gdNfwAWB6kNlvMFL2nfkQBSQU="
},
{
"pname": "VRChat.API",
"version": "2.20.7",
"hash": "sha256-iyMZzsXzNBFTZTsZbHCrzxWyc0m3k0SxU4P/b2VQYfE="
}
]
+135
View File
@@ -0,0 +1,135 @@
{
lib,
stdenv,
buildDotnetModule,
dotnetCorePackages,
wrapGAppsHook3,
copyDesktopItems,
gdk-pixbuf,
webkitgtk_4_1,
gtk3,
glib,
libnotify,
fontconfig,
gst_all_1,
zenity,
makeDesktopItem,
callPackage,
}:
let
sources = callPackage ../../../../_sources/generated.nix { };
src = sources.VRCNext.src;
# Version from the nvfetcher tag (v2026.40.6); AppInfo.cs may lag the tag.
version = lib.removePrefix "v" sources.VRCNext.version;
in
buildDotnetModule rec {
pname = "vrcnext";
inherit version src;
projectFile = "VRCNext.csproj";
nugetDeps = ./deps.json;
# This csproj picks its TFM via `$(RuntimeIdentifier.StartsWith('linux'))`.
# `dotnet restore --runtime` does NOT set RuntimeIdentifier during project
# evaluation (only build/publish do), so pass it as a property or restore
# targets net9.0-windows and fails with NETSDK1100.
dotnetRestoreFlags = [
"-p:RuntimeIdentifier=${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}"
];
dotnet-sdk = dotnetCorePackages.sdk_9_0;
executables = [ "VRCNext" ];
nativeBuildInputs = [
wrapGAppsHook3
copyDesktopItems
];
# gdk-pixbuf so wrapGAppsHook3 emits GDK_PIXBUF_MODULE_FILE (GTK file
# dialogs via libnfd.so need icon loaders).
buildInputs = [ gdk-pixbuf ];
# buildDotnetModule already wraps with makeWrapper (dotnetFixupPhase);
# fold the gapps args in there instead of double-wrapping.
dontWrapGApps = true;
# Prebuilt native libs (Photino.Native.so, libnfd.so, libSkiaSharp.so)
# have no RUNPATH; these get suffixed onto LD_LIBRARY_PATH.
runtimeDeps = [
webkitgtk_4_1
gtk3
glib
gdk-pixbuf
libnotify
fontconfig
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-libav
];
makeWrapperArgs = [
# WebKitGTK's web process dies on Wayland with "Error 71 (Protocol
# error) dispatching to Wayland display" when the DMA-BUF renderer
# handshake fails (well-known NixOS issue); disable it.
"--set"
"WEBKIT_DISABLE_DMABUF_RENDERER"
"1"
# WebKitGTK discovers gstreamer plugins via the plugin path, not LD_LIBRARY_PATH.
"--prefix"
"GST_PLUGIN_SYSTEM_PATH"
":"
(lib.makeSearchPath "lib/gstreamer-1.0" [
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-libav
])
# The app shells out to zenity (dialogs) and notify-send (libnotify).
"--prefix"
"PATH"
":"
(lib.makeBinPath [
zenity
libnotify
])
];
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
postInstall = ''
install -Dm644 "$src/frontend/logo.png" "$out/share/icons/hicolor/512x512/apps/vrcnext.png"
'';
desktopItems = [
(makeDesktopItem {
name = "vrcnext";
exec = "VRCNext %u";
icon = "vrcnext";
comment = "VRChat companion app";
desktopName = "VRCNext";
categories = [
"Game"
"Utility"
"Network"
];
mimeTypes = [ "x-scheme-handler/vrcn" ];
startupWMClass = "VRCNext";
})
];
meta = {
description = "VRChat launcher and management system";
homepage = "https://github.com/shinyflvre/VRCNext";
license = {
fullName = "VRCNext Non-Commercial Open Source License (VNCOL) 1.0";
shortName = "vncol";
url = "https://github.com/shinyflvre/VRCNext/blob/master/LICENSE";
free = false;
};
mainProgram = "VRCNext";
platforms = [ "x86_64-linux" ];
};
}