forked from nikkuss/pkgs
Compare commits
20 Commits
d83254b344
...
grimorie
| Author | SHA1 | Date | |
|---|---|---|---|
|
be39398615
|
|||
|
c8274e668e
|
|||
|
4a59b86a47
|
|||
|
8969f1cb5c
|
|||
|
67ca4c6edb
|
|||
|
888d1338cd
|
|||
|
9927693901
|
|||
|
c7c53eafae
|
|||
|
8d618dff18
|
|||
|
cccc55ef78
|
|||
|
2917e84200
|
|||
|
cb70ca0e90
|
|||
|
c2e51153c5
|
|||
|
6a2f59785b
|
|||
| 6c53c58475 | |||
|
89b93abc37
|
|||
| 2cab1e834e | |||
| fde697aebe | |||
| 6c81e4b873 | |||
|
4a09f079f5
|
@@ -1,3 +1,6 @@
|
|||||||
/result
|
/result
|
||||||
**/result
|
**/result
|
||||||
result
|
result
|
||||||
|
|
||||||
|
.envrc
|
||||||
|
.direnv
|
||||||
|
|||||||
+71
-24
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"ath-tools": {
|
"ath-tools": {
|
||||||
"cargoLock": null,
|
"cargoLock": null,
|
||||||
"date": "2026-03-03",
|
"date": "2026-04-15",
|
||||||
"extract": null,
|
"extract": null,
|
||||||
"name": "ath-tools",
|
"name": "ath-tools",
|
||||||
"passthru": null,
|
"passthru": null,
|
||||||
@@ -11,17 +11,17 @@
|
|||||||
"fetchSubmodules": false,
|
"fetchSubmodules": false,
|
||||||
"leaveDotGit": false,
|
"leaveDotGit": false,
|
||||||
"name": null,
|
"name": null,
|
||||||
"rev": "c8182015b0ec81da1d4c39841aca190deae77c2c",
|
"rev": "324903e86fbd30d601f404125da74b28d812be4b",
|
||||||
"sha256": "sha256-Va845WLEyB+l7cpLIvYpvwOyMZuLKcb3Afqqs/cUSmI=",
|
"sha256": "sha256-Gykx/uHPzbHPECtiCoRmo9YWxUpYc7Ky1lNBENLsRm4=",
|
||||||
"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": "c8182015b0ec81da1d4c39841aca190deae77c2c"
|
"version": "324903e86fbd30d601f404125da74b28d812be4b"
|
||||||
},
|
},
|
||||||
"base24-schemes": {
|
"base24-schemes": {
|
||||||
"cargoLock": null,
|
"cargoLock": null,
|
||||||
"date": "2026-04-12",
|
"date": "2026-05-03",
|
||||||
"extract": null,
|
"extract": null,
|
||||||
"name": "base24-schemes",
|
"name": "base24-schemes",
|
||||||
"passthru": null,
|
"passthru": null,
|
||||||
@@ -31,13 +31,13 @@
|
|||||||
"fetchSubmodules": false,
|
"fetchSubmodules": false,
|
||||||
"leaveDotGit": false,
|
"leaveDotGit": false,
|
||||||
"name": null,
|
"name": null,
|
||||||
"rev": "3e228732e93c107e8b65b8be30c36e5b3c507d95",
|
"rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795",
|
||||||
"sha256": "sha256-G34G4hri8H2XNwF0e15MFj3sjO8fTOphNk0WjBwnVew=",
|
"sha256": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=",
|
||||||
"sparseCheckout": [],
|
"sparseCheckout": [],
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/tinted-theming/schemes.git"
|
"url": "https://github.com/tinted-theming/schemes.git"
|
||||||
},
|
},
|
||||||
"version": "3e228732e93c107e8b65b8be30c36e5b3c507d95"
|
"version": "0c94645546f4f3ddac77a1a5fce54eb95bf50795"
|
||||||
},
|
},
|
||||||
"claude-code-acp": {
|
"claude-code-acp": {
|
||||||
"cargoLock": null,
|
"cargoLock": null,
|
||||||
@@ -53,12 +53,12 @@
|
|||||||
"name": null,
|
"name": null,
|
||||||
"owner": "zed-industries",
|
"owner": "zed-industries",
|
||||||
"repo": "claude-code-acp",
|
"repo": "claude-code-acp",
|
||||||
"rev": "v0.26.0",
|
"rev": "v0.35.0",
|
||||||
"sha256": "sha256-2G8gjMCnk3W1I2+4sNsumL15ts9bLXAOMguCmwnzWSA=",
|
"sha256": "sha256-xb6D4J+EmbK5XCrZCyv1LWYdfmaNDcw7Hk4nHg76uAo=",
|
||||||
"sparseCheckout": [],
|
"sparseCheckout": [],
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"version": "v0.26.0"
|
"version": "v0.35.0"
|
||||||
},
|
},
|
||||||
"flightcore": {
|
"flightcore": {
|
||||||
"cargoLock": null,
|
"cargoLock": null,
|
||||||
@@ -81,30 +81,51 @@
|
|||||||
},
|
},
|
||||||
"version": "v3.2.0"
|
"version": "v3.2.0"
|
||||||
},
|
},
|
||||||
|
"grimoire": {
|
||||||
|
"cargoLock": null,
|
||||||
|
"date": null,
|
||||||
|
"extract": null,
|
||||||
|
"name": "grimoire",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"owner": "Slush97",
|
||||||
|
"repo": "grimoire",
|
||||||
|
"rev": "v1.14.2",
|
||||||
|
"sha256": "sha256-iRZF06kjmJJJOeiUpWm8T2REO/FSdpwc73dOXu6Xs9w=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"version": "v1.14.2"
|
||||||
|
},
|
||||||
"neovide": {
|
"neovide": {
|
||||||
"cargoLock": {
|
"cargoLock": {
|
||||||
"Cargo.lock": [
|
"Cargo.lock": [
|
||||||
"sha256-JBV939TEfG44w59iUJ3KgiCrQ9aCcjmPxu2uoBD_Ank=/Cargo.lock",
|
"sha256-Ke8bM5o33s1h1fHY7Y10fYKpVwS3_pU7iOBpBOC0Dvw=/Cargo.lock",
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"date": null,
|
"date": "2026-05-16",
|
||||||
"extract": null,
|
"extract": null,
|
||||||
"name": "neovide",
|
"name": "neovide",
|
||||||
"passthru": null,
|
"passthru": null,
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"src": {
|
"src": {
|
||||||
"deepClone": true,
|
"deepClone": false,
|
||||||
"fetchSubmodules": true,
|
"fetchSubmodules": false,
|
||||||
"leaveDotGit": false,
|
"leaveDotGit": false,
|
||||||
"name": null,
|
"name": null,
|
||||||
"rev": "nightly",
|
"rev": "8c48a699e201aa5559227a96d879b2f57192b354",
|
||||||
"sha256": "sha256-JBV939TEfG44w59iUJ3KgiCrQ9aCcjmPxu2uoBD/Ank=",
|
"sha256": "sha256-Ke8bM5o33s1h1fHY7Y10fYKpVwS3/pU7iOBpBOC0Dvw=",
|
||||||
"sparseCheckout": [],
|
"sparseCheckout": [],
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/neovide/neovide.git"
|
"url": "https://github.com/neovide/neovide.git"
|
||||||
},
|
},
|
||||||
"version": "nightly"
|
"version": "8c48a699e201aa5559227a96d879b2f57192b354"
|
||||||
},
|
},
|
||||||
"qebspil": {
|
"qebspil": {
|
||||||
"cargoLock": null,
|
"cargoLock": null,
|
||||||
@@ -140,12 +161,12 @@
|
|||||||
"name": null,
|
"name": null,
|
||||||
"owner": "radareorg",
|
"owner": "radareorg",
|
||||||
"repo": "r2ghidra",
|
"repo": "r2ghidra",
|
||||||
"rev": "6.1.2",
|
"rev": "6.1.4",
|
||||||
"sha256": "sha256-bGA7izBSvlwnD4BZXNucYS39BDdmo+49cY3o4LjIpYM=",
|
"sha256": "sha256-uVMsONXethTq/BL9MBQkDP3iJ6t25PEnpeD/Y17dpxM=",
|
||||||
"sparseCheckout": [],
|
"sparseCheckout": [],
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"version": "6.1.2"
|
"version": "6.1.4"
|
||||||
},
|
},
|
||||||
"radare2-mcp": {
|
"radare2-mcp": {
|
||||||
"cargoLock": null,
|
"cargoLock": null,
|
||||||
@@ -161,12 +182,12 @@
|
|||||||
"name": null,
|
"name": null,
|
||||||
"owner": "radareorg",
|
"owner": "radareorg",
|
||||||
"repo": "radare2-mcp",
|
"repo": "radare2-mcp",
|
||||||
"rev": "1.7.2",
|
"rev": "1.8.0",
|
||||||
"sha256": "sha256-ToSvRmgOyrmsFWjfwuDit5hLXYJQD7YKGoy2utkqUe0=",
|
"sha256": "sha256-1tV3mG1hEIcq18cHn5kS4n9ocVZsHQ5A4TCTA3OKzn8=",
|
||||||
"sparseCheckout": [],
|
"sparseCheckout": [],
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"version": "1.7.2"
|
"version": "1.8.0"
|
||||||
},
|
},
|
||||||
"slbounce": {
|
"slbounce": {
|
||||||
"cargoLock": null,
|
"cargoLock": null,
|
||||||
@@ -188,5 +209,31 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"version": "v5"
|
"version": "v5"
|
||||||
|
},
|
||||||
|
"vpkmerge": {
|
||||||
|
"cargoLock": {
|
||||||
|
"Cargo.lock": [
|
||||||
|
"sha256-CaNyzN8kRtzKwIUAe1or6ZhcaZNeGCKNCkRUTK2f_H8=/Cargo.lock",
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"date": null,
|
||||||
|
"extract": null,
|
||||||
|
"name": "vpkmerge",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"owner": "Slush97",
|
||||||
|
"repo": "vpkmerge",
|
||||||
|
"rev": "v0.7.0",
|
||||||
|
"sha256": "sha256-CaNyzN8kRtzKwIUAe1or6ZhcaZNeGCKNCkRUTK2f/H8=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"version": "v0.7.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+59
-28
@@ -4,44 +4,45 @@
|
|||||||
fetchurl,
|
fetchurl,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
dockerTools,
|
dockerTools,
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
ath-tools = {
|
ath-tools = {
|
||||||
pname = "ath-tools";
|
pname = "ath-tools";
|
||||||
version = "c8182015b0ec81da1d4c39841aca190deae77c2c";
|
version = "324903e86fbd30d601f404125da74b28d812be4b";
|
||||||
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 = "c8182015b0ec81da1d4c39841aca190deae77c2c";
|
rev = "324903e86fbd30d601f404125da74b28d812be4b";
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
deepClone = false;
|
deepClone = false;
|
||||||
leaveDotGit = false;
|
leaveDotGit = false;
|
||||||
sparseCheckout = [];
|
sparseCheckout = [ ];
|
||||||
sha256 = "sha256-Va845WLEyB+l7cpLIvYpvwOyMZuLKcb3Afqqs/cUSmI=";
|
sha256 = "sha256-Gykx/uHPzbHPECtiCoRmo9YWxUpYc7Ky1lNBENLsRm4=";
|
||||||
};
|
};
|
||||||
date = "2026-03-03";
|
date = "2026-04-15";
|
||||||
};
|
};
|
||||||
base24-schemes = {
|
base24-schemes = {
|
||||||
pname = "base24-schemes";
|
pname = "base24-schemes";
|
||||||
version = "3e228732e93c107e8b65b8be30c36e5b3c507d95";
|
version = "0c94645546f4f3ddac77a1a5fce54eb95bf50795";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://github.com/tinted-theming/schemes.git";
|
url = "https://github.com/tinted-theming/schemes.git";
|
||||||
rev = "3e228732e93c107e8b65b8be30c36e5b3c507d95";
|
rev = "0c94645546f4f3ddac77a1a5fce54eb95bf50795";
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
deepClone = false;
|
deepClone = false;
|
||||||
leaveDotGit = false;
|
leaveDotGit = false;
|
||||||
sparseCheckout = [];
|
sparseCheckout = [ ];
|
||||||
sha256 = "sha256-G34G4hri8H2XNwF0e15MFj3sjO8fTOphNk0WjBwnVew=";
|
sha256 = "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=";
|
||||||
};
|
};
|
||||||
date = "2026-04-12";
|
date = "2026-05-03";
|
||||||
};
|
};
|
||||||
claude-code-acp = {
|
claude-code-acp = {
|
||||||
pname = "claude-code-acp";
|
pname = "claude-code-acp";
|
||||||
version = "v0.26.0";
|
version = "v0.35.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "zed-industries";
|
owner = "zed-industries";
|
||||||
repo = "claude-code-acp";
|
repo = "claude-code-acp";
|
||||||
rev = "v0.26.0";
|
rev = "v0.35.0";
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
sha256 = "sha256-2G8gjMCnk3W1I2+4sNsumL15ts9bLXAOMguCmwnzWSA=";
|
sha256 = "sha256-xb6D4J+EmbK5XCrZCyv1LWYdfmaNDcw7Hk4nHg76uAo=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
flightcore = {
|
flightcore = {
|
||||||
@@ -55,23 +56,36 @@
|
|||||||
sha256 = "sha256-MFnW9cXFzqmdtC31r8cRcihV3NjGAC6+2/DnNVMheCI=";
|
sha256 = "sha256-MFnW9cXFzqmdtC31r8cRcihV3NjGAC6+2/DnNVMheCI=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
grimoire = {
|
||||||
|
pname = "grimoire";
|
||||||
|
version = "v1.14.2";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Slush97";
|
||||||
|
repo = "grimoire";
|
||||||
|
rev = "v1.14.2";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
sha256 = "sha256-iRZF06kjmJJJOeiUpWm8T2REO/FSdpwc73dOXu6Xs9w=";
|
||||||
|
};
|
||||||
|
};
|
||||||
neovide = {
|
neovide = {
|
||||||
pname = "neovide";
|
pname = "neovide";
|
||||||
version = "nightly";
|
version = "8c48a699e201aa5559227a96d879b2f57192b354";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://github.com/neovide/neovide.git";
|
url = "https://github.com/neovide/neovide.git";
|
||||||
rev = "nightly";
|
rev = "8c48a699e201aa5559227a96d879b2f57192b354";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = false;
|
||||||
deepClone = true;
|
deepClone = false;
|
||||||
leaveDotGit = false;
|
leaveDotGit = false;
|
||||||
sparseCheckout = [];
|
sparseCheckout = [ ];
|
||||||
sha256 = "sha256-JBV939TEfG44w59iUJ3KgiCrQ9aCcjmPxu2uoBD/Ank=";
|
sha256 = "sha256-Ke8bM5o33s1h1fHY7Y10fYKpVwS3/pU7iOBpBOC0Dvw=";
|
||||||
};
|
};
|
||||||
cargoLock."Cargo.lock" = {
|
cargoLock."Cargo.lock" = {
|
||||||
lockFile = ./. + "/sha256-JBV939TEfG44w59iUJ3KgiCrQ9aCcjmPxu2uoBD_Ank=/Cargo.lock";
|
lockFile = ./. + "/sha256-Ke8bM5o33s1h1fHY7Y10fYKpVwS3_pU7iOBpBOC0Dvw=/Cargo.lock";
|
||||||
outputHashes = {
|
outputHashes = {
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
date = "2026-05-16";
|
||||||
};
|
};
|
||||||
qebspil = {
|
qebspil = {
|
||||||
pname = "qebspil";
|
pname = "qebspil";
|
||||||
@@ -82,31 +96,31 @@
|
|||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
deepClone = false;
|
deepClone = false;
|
||||||
leaveDotGit = false;
|
leaveDotGit = false;
|
||||||
sparseCheckout = [];
|
sparseCheckout = [ ];
|
||||||
sha256 = "sha256-kWUXzeYWNxGgmjt/p9yozrWc5ouUs0XXBRfiFMlu+QQ=";
|
sha256 = "sha256-kWUXzeYWNxGgmjt/p9yozrWc5ouUs0XXBRfiFMlu+QQ=";
|
||||||
};
|
};
|
||||||
date = "2025-10-25";
|
date = "2025-10-25";
|
||||||
};
|
};
|
||||||
radare2-ghidra = {
|
radare2-ghidra = {
|
||||||
pname = "radare2-ghidra";
|
pname = "radare2-ghidra";
|
||||||
version = "6.1.2";
|
version = "6.1.4";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "radareorg";
|
owner = "radareorg";
|
||||||
repo = "r2ghidra";
|
repo = "r2ghidra";
|
||||||
rev = "6.1.2";
|
rev = "6.1.4";
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
sha256 = "sha256-bGA7izBSvlwnD4BZXNucYS39BDdmo+49cY3o4LjIpYM=";
|
sha256 = "sha256-uVMsONXethTq/BL9MBQkDP3iJ6t25PEnpeD/Y17dpxM=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
radare2-mcp = {
|
radare2-mcp = {
|
||||||
pname = "radare2-mcp";
|
pname = "radare2-mcp";
|
||||||
version = "1.7.2";
|
version = "1.8.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "radareorg";
|
owner = "radareorg";
|
||||||
repo = "radare2-mcp";
|
repo = "radare2-mcp";
|
||||||
rev = "1.7.2";
|
rev = "1.8.0";
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
sha256 = "sha256-ToSvRmgOyrmsFWjfwuDit5hLXYJQD7YKGoy2utkqUe0=";
|
sha256 = "sha256-1tV3mG1hEIcq18cHn5kS4n9ocVZsHQ5A4TCTA3OKzn8=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
slbounce = {
|
slbounce = {
|
||||||
@@ -120,4 +134,21 @@
|
|||||||
sha256 = "sha256-w+0SKR0A/hcFU6iFEOgyG+vWwgAWF8h9D0/X7GSFm7w=";
|
sha256 = "sha256-w+0SKR0A/hcFU6iFEOgyG+vWwgAWF8h9D0/X7GSFm7w=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
vpkmerge = {
|
||||||
|
pname = "vpkmerge";
|
||||||
|
version = "v0.7.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Slush97";
|
||||||
|
repo = "vpkmerge";
|
||||||
|
rev = "v0.7.0";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
sha256 = "sha256-CaNyzN8kRtzKwIUAe1or6ZhcaZNeGCKNCkRUTK2f/H8=";
|
||||||
|
};
|
||||||
|
cargoLock."Cargo.lock" = {
|
||||||
|
lockFile = ./. + "/sha256-CaNyzN8kRtzKwIUAe1or6ZhcaZNeGCKNCkRUTK2f_H8=/Cargo.lock";
|
||||||
|
outputHashes = {
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
+13
-13
@@ -1593,7 +1593,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "neovide"
|
name = "neovide"
|
||||||
version = "0.16.1"
|
version = "0.16.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"approx",
|
"approx",
|
||||||
@@ -2579,9 +2579,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex"
|
name = "regex"
|
||||||
version = "1.12.2"
|
version = "1.12.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4"
|
checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aho-corasick",
|
"aho-corasick",
|
||||||
"memchr",
|
"memchr",
|
||||||
@@ -2849,9 +2849,9 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "skia-bindings"
|
name = "skia-bindings"
|
||||||
version = "0.93.1"
|
version = "0.97.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2359f7e30c9da3f322f8ca3d4ec0abbc12a40035ce758309db0cdab07b5d4476"
|
checksum = "d6e3bcf8f25bf047e83110838463e8d06696c12fccc3d3794adf448b4d81f34b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bindgen",
|
"bindgen",
|
||||||
"cc",
|
"cc",
|
||||||
@@ -2866,9 +2866,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "skia-safe"
|
name = "skia-safe"
|
||||||
version = "0.93.1"
|
version = "0.97.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7f9e837ea9d531c9efee8f980bfcdb7226b21db0285b0c3171d8be745829f940"
|
checksum = "935d4d174fb749bac9265eb41cad75039d32fda2d9c1a1e81b430df0e210a409"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.10.0",
|
"bitflags 2.10.0",
|
||||||
"skia-bindings",
|
"skia-bindings",
|
||||||
@@ -3051,9 +3051,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tar"
|
name = "tar"
|
||||||
version = "0.4.44"
|
version = "0.4.45"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a"
|
checksum = "22692a6476a21fa75fdfc11d452fda482af402c008cdbaf3476414e122040973"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"filetime",
|
"filetime",
|
||||||
"libc",
|
"libc",
|
||||||
@@ -3070,7 +3070,7 @@ dependencies = [
|
|||||||
"getrandom 0.3.4",
|
"getrandom 0.3.4",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"rustix 1.1.2",
|
"rustix 1.1.2",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -3341,9 +3341,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tracy-client-sys"
|
name = "tracy-client-sys"
|
||||||
version = "0.27.0"
|
version = "0.28.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2fb391ac70462b3097a755618fbf9c8f95ecc1eb379a414f7b46f202ed10db1f"
|
checksum = "c5f7c95348f20c1c913d72157b3c6dee6ea3e30b3d19502c5a7f6d3f160dacbf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"windows-targets 0.52.6",
|
"windows-targets 0.52.6",
|
||||||
@@ -3689,7 +3689,7 @@ version = "0.1.11"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
|
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
Generated
+3
-3
@@ -20,11 +20,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764897201,
|
"lastModified": 1780011192,
|
||||||
"narHash": "sha256-428X4sppU6k+tF2vxTy726E5BxbtoxoTRP+1FBbXqvM=",
|
"narHash": "sha256-luHrZG6I7Mwdt413XoDOYBpp9z1z6X23/5SNktwjM+k=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9cfae7bb77c5058a4cfa8006d0caf82af8e980dc",
|
"rev": "3242faf14b7611a62ce0f0071619438a08b65c12",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -23,6 +23,9 @@
|
|||||||
let
|
let
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
scope = lib.makeScope pkgs.newScope (final: self.overlays.default (pkgs // final) pkgs);
|
scope = lib.makeScope pkgs.newScope (final: self.overlays.default (pkgs // final) pkgs);
|
||||||
|
|||||||
+11
-3
@@ -32,8 +32,16 @@ src.git = "https://github.com/qca/qca-swiss-army-knife.git"
|
|||||||
fetch.git = "https://github.com/qca/qca-swiss-army-knife.git"
|
fetch.git = "https://github.com/qca/qca-swiss-army-knife.git"
|
||||||
|
|
||||||
[neovide]
|
[neovide]
|
||||||
src.manual = "nightly"
|
src.git = "https://github.com/neovide/neovide.git"
|
||||||
|
src.git_branch = "nightly"
|
||||||
fetch.git = "https://github.com/neovide/neovide.git"
|
fetch.git = "https://github.com/neovide/neovide.git"
|
||||||
git.fetchSubmodules = true
|
cargo_lock = ["Cargo.lock"]
|
||||||
git.deepClone = true
|
|
||||||
|
[grimoire]
|
||||||
|
src.github = "Slush97/grimoire"
|
||||||
|
fetch.github = "Slush97/grimoire"
|
||||||
|
|
||||||
|
[vpkmerge]
|
||||||
|
src.github = "Slush97/vpkmerge"
|
||||||
|
fetch.github = "Slush97/vpkmerge"
|
||||||
cargo_lock = ["Cargo.lock"]
|
cargo_lock = ["Cargo.lock"]
|
||||||
|
|||||||
@@ -13,61 +13,58 @@
|
|||||||
pkg-config,
|
pkg-config,
|
||||||
webkitgtk_4_1,
|
webkitgtk_4_1,
|
||||||
wrapGAppsHook4,
|
wrapGAppsHook4,
|
||||||
fetchFromGitHub,
|
callPackage,
|
||||||
}:
|
}: let
|
||||||
rustPlatform.buildRustPackage (finalAttrs: {
|
sources = callPackage ../../../../_sources/generated.nix {};
|
||||||
pname = "flightcore";
|
in
|
||||||
version = "3.2.0";
|
rustPlatform.buildRustPackage (finalAttrs: {
|
||||||
src = fetchFromGitHub {
|
pname = "flightcore";
|
||||||
owner = "R2NorthstarTools";
|
version = lib.removePrefix "v" sources.flightcore.version;
|
||||||
repo = "FlightCore";
|
inherit (sources.flightcore) src;
|
||||||
rev = "v${finalAttrs.version}";
|
patches = [./cargo-lock.patch];
|
||||||
sha256 = "sha256-MFnW9cXFzqmdtC31r8cRcihV3NjGAC6+2/DnNVMheCI=";
|
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||||
};
|
src = finalAttrs.src;
|
||||||
patches = [./cargo-lock.patch];
|
sourceRoot = "${finalAttrs.src.name}/${finalAttrs.cargoRoot}";
|
||||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
hash = "sha256-Jh0DAX4fGy2Z1+hpq+bkU/VYy2JAL2u+neUIsQ2QXBU=";
|
||||||
src = finalAttrs.src;
|
patchFlags = "-p2";
|
||||||
sourceRoot = "${finalAttrs.src.name}/${finalAttrs.cargoRoot}";
|
inherit (finalAttrs) patches;
|
||||||
hash = "sha256-Jh0DAX4fGy2Z1+hpq+bkU/VYy2JAL2u+neUIsQ2QXBU=";
|
};
|
||||||
patchFlags = "-p2";
|
postPatch = ''
|
||||||
inherit (finalAttrs) patches;
|
jq '.bundle.createUpdaterArtifacts = false' src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json
|
||||||
};
|
'';
|
||||||
postPatch = ''
|
npmDeps = fetchNpmDeps {
|
||||||
jq '.bundle.createUpdaterArtifacts = false' src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json
|
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
|
||||||
'';
|
src = "${finalAttrs.src}/src-vue";
|
||||||
npmDeps = fetchNpmDeps {
|
hash = "sha256-QhUPkCBK1kcAF7gByFxlg8Ca9PLF3evCl0QYEPP/Q2c=";
|
||||||
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
|
};
|
||||||
src = "${finalAttrs.src}/src-vue";
|
|
||||||
hash = "sha256-QhUPkCBK1kcAF7gByFxlg8Ca9PLF3evCl0QYEPP/Q2c=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
[
|
[
|
||||||
cargo-tauri.hook
|
cargo-tauri.hook
|
||||||
|
|
||||||
nodejs
|
nodejs
|
||||||
npmHooks.npmConfigHook
|
npmHooks.npmConfigHook
|
||||||
|
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
||||||
jq
|
jq
|
||||||
moreutils
|
moreutils
|
||||||
]
|
]
|
||||||
++ lib.optionals stdenv.hostPlatform.isLinux [wrapGAppsHook4];
|
++ lib.optionals stdenv.hostPlatform.isLinux [wrapGAppsHook4];
|
||||||
|
|
||||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||||
glib-networking
|
glib-networking
|
||||||
openssl
|
openssl
|
||||||
webkitgtk_4_1
|
webkitgtk_4_1
|
||||||
];
|
];
|
||||||
|
|
||||||
cargoRoot = "src-tauri";
|
cargoRoot = "src-tauri";
|
||||||
npmRoot = "src-vue";
|
npmRoot = "src-vue";
|
||||||
|
|
||||||
buildAndTestSubdir = finalAttrs.cargoRoot;
|
buildAndTestSubdir = finalAttrs.cargoRoot;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
platforms = ["x86_64-linux"];
|
platforms = ["x86_64-linux"];
|
||||||
description = "FlightCore A Northstar installer, updater, and mod-manager";
|
description = "FlightCore A Northstar installer, updater, and mod-manager";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -0,0 +1,122 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
fetchurl,
|
||||||
|
nodejs_22,
|
||||||
|
pnpm,
|
||||||
|
python3,
|
||||||
|
gcc,
|
||||||
|
gnumake,
|
||||||
|
pkg-config,
|
||||||
|
makeWrapper,
|
||||||
|
electron_40,
|
||||||
|
vpkmerge,
|
||||||
|
sqlite,
|
||||||
|
callPackage,
|
||||||
|
}: let
|
||||||
|
sources = callPackage ../../../../_sources/generated.nix {};
|
||||||
|
|
||||||
|
src = sources.grimoire.src;
|
||||||
|
version = src.rev;
|
||||||
|
|
||||||
|
# This would go into nvfetcher but it isnt versioned..
|
||||||
|
grimoire-social-src = fetchFromGitHub {
|
||||||
|
owner = "Slush97";
|
||||||
|
repo = "grimoire-social";
|
||||||
|
rev = "main";
|
||||||
|
hash = "sha256-f+wUZOR7dqigxd/IZtay1BrLS5rcSnaDage3NXxqsPE=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pnpmDeps = pnpm.fetchDeps {
|
||||||
|
pname = "grimoire";
|
||||||
|
inherit version src;
|
||||||
|
fetcherVersion = 3;
|
||||||
|
hash = "sha256-aSjELhEyEbQ7qT8fI5VfIDOHrsgHHL18Dsphm6sA8J4=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "grimoire";
|
||||||
|
inherit version src;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
nodejs_22
|
||||||
|
pnpm
|
||||||
|
pnpm.configHook
|
||||||
|
python3
|
||||||
|
gcc
|
||||||
|
gnumake
|
||||||
|
pkg-config
|
||||||
|
makeWrapper
|
||||||
|
electron_40
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
sqlite
|
||||||
|
];
|
||||||
|
|
||||||
|
inherit pnpmDeps;
|
||||||
|
|
||||||
|
env.GRIMOIRE_SOCIAL_BASE_URL = "https://grimoire-social.slusheliott.workers.dev";
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
cp -r ${grimoire-social-src} ../grimoire-social
|
||||||
|
chmod -R u+w ../grimoire-social
|
||||||
|
|
||||||
|
mkdir -p resources/vpkmerge
|
||||||
|
cp ${vpkmerge}/bin/vpkmerge resources/vpkmerge/vpkmerge-linux-x86_64
|
||||||
|
chmod +x resources/vpkmerge/vpkmerge-linux-x86_64
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
|
mkdir -p ../grimoire-social/node_modules
|
||||||
|
ln -sfn "$(realpath node_modules/zod)" ../grimoire-social/node_modules/zod
|
||||||
|
|
||||||
|
(
|
||||||
|
cd node_modules/better-sqlite3
|
||||||
|
HOME="$TMPDIR" node \
|
||||||
|
"${nodejs_22}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" \
|
||||||
|
rebuild \
|
||||||
|
--nodedir="${electron_40.headers}"
|
||||||
|
)
|
||||||
|
|
||||||
|
pnpm exec electron-vite build
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/lib/grimoire
|
||||||
|
cp -r dist $out/lib/grimoire/dist
|
||||||
|
|
||||||
|
mkdir -p $out/lib/grimoire/resources
|
||||||
|
cp -r resources/vpkmerge $out/lib/grimoire/resources/vpkmerge
|
||||||
|
echo '{"name":"grimoire","version":"${version}","main":"dist/main/index.js"}' \
|
||||||
|
> $out/lib/grimoire/package.json
|
||||||
|
|
||||||
|
cp -r node_modules $out/lib/grimoire/node_modules
|
||||||
|
|
||||||
|
rm -rf "$out/lib/grimoire/node_modules/@grimoire"
|
||||||
|
|
||||||
|
find "$out/lib/grimoire/node_modules" -type l | while read -r link; do
|
||||||
|
[ -e "$link" ] || rm -f "$link"
|
||||||
|
done
|
||||||
|
|
||||||
|
mkdir -p $out/bin
|
||||||
|
makeWrapper ${electron_40}/bin/electron $out/bin/grimoire \
|
||||||
|
--add-flags "$out/lib/grimoire" \
|
||||||
|
--set ELECTRON_RESOURCES_PATH "$out/lib/grimoire" \
|
||||||
|
--set NODE_ENV production
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Grimoire — Electron-based mod manager";
|
||||||
|
platforms = ["x86_64-linux"];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -44,8 +44,8 @@ in
|
|||||||
owner = "rust-skia";
|
owner = "rust-skia";
|
||||||
repo = "skia";
|
repo = "skia";
|
||||||
# see rust-skia:skia-bindings/Cargo.toml#package.metadata skia
|
# see rust-skia:skia-bindings/Cargo.toml#package.metadata skia
|
||||||
tag = "m145-0.92.0";
|
tag = "m148-0.97.0";
|
||||||
hash = "sha256-9N780AwheKBJRcZC4l/uWFNq+oOyoNp4M6dJAVVAFeo=";
|
hash = "sha256-uFnYX6ZDg+cJwLyCe6IGB6M3aCyI/+q2aYP4JfHm544=";
|
||||||
};
|
};
|
||||||
# The externals for skia are taken from skia/DEPS
|
# The externals for skia are taken from skia/DEPS
|
||||||
externals = linkFarm "skia-externals" (
|
externals = linkFarm "skia-externals" (
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"expat": {
|
"expat": {
|
||||||
"url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
|
"url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
|
||||||
"rev": "8e49998f003d693213b538ef765814c7d21abada",
|
"rev": "6154446fccefbf3ca644894f598969113b0c7bcd",
|
||||||
"sha256": "sha256-zP2kiB4nyLi0/I8OsRhxKG0qRGPe2ALLQ+HHfqlBJ6Y="
|
"sha256": "sha256-ifMDdEWu9H8iJ/VSKuXlisJKx1s1F8ecT74bwXnBWcA="
|
||||||
},
|
},
|
||||||
"libjpeg-turbo": {
|
"libjpeg-turbo": {
|
||||||
"url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
|
"url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
|
||||||
@@ -21,8 +21,8 @@
|
|||||||
},
|
},
|
||||||
"harfbuzz": {
|
"harfbuzz": {
|
||||||
"url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
|
"url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
|
||||||
"rev": "31695252eb6ed25096893aec7f848889dad874bc",
|
"rev": "9cb1fee51069b206effb4736e443b038d230789d",
|
||||||
"sha256": "sha256-Csyz08JTNXfY2fo27x1Eg1CqO/tt8Rt9udr3KflojSg="
|
"sha256": "sha256-EYItQuWvB4q2Q2iJfMyEtX9MTm3rEFlcwZ+NQEAVy0M="
|
||||||
},
|
},
|
||||||
"wuffs": {
|
"wuffs": {
|
||||||
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
|
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
},
|
},
|
||||||
"libpng": {
|
"libpng": {
|
||||||
"url": "https://skia.googlesource.com/third_party/libpng.git",
|
"url": "https://skia.googlesource.com/third_party/libpng.git",
|
||||||
"rev": "4e3f57d50f552841550a36eabbb3fbcecacb7750",
|
"rev": "d5515b5b8be3901aac04e5bd8bd5c89f287bcd33",
|
||||||
"sha256": "sha256-tNRrA9RUp6Mi7dbIB/70a/4tn/JxAsTUb9EI9nlXLjM="
|
"sha256": "sha256-N507gFyjXXsJ3dyQN0SlVy80WXlbNlZs/cnqLaCmFTk="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
rustPlatform,
|
||||||
|
callPackage,
|
||||||
|
pkg-config,
|
||||||
|
dbus,
|
||||||
|
glib,
|
||||||
|
cairo,
|
||||||
|
gtk3,
|
||||||
|
libsoup_3,
|
||||||
|
webkitgtk_4_1,
|
||||||
|
}: let
|
||||||
|
sources = callPackage ../../../../_sources/generated.nix {};
|
||||||
|
inherit (sources.vpkmerge) src cargoLock;
|
||||||
|
in
|
||||||
|
rustPlatform.buildRustPackage (finalAttrs: {
|
||||||
|
pname = "vpkmerge";
|
||||||
|
version = src.rev;
|
||||||
|
src = src;
|
||||||
|
cargoLock = sources.vpkmerge.cargoLock."Cargo.lock";
|
||||||
|
|
||||||
|
nativeBuildInputs = [pkg-config dbus.dev];
|
||||||
|
|
||||||
|
buildInputs = [dbus glib cairo gtk3 libsoup_3 webkitgtk_4_1];
|
||||||
|
})
|
||||||
@@ -27,11 +27,11 @@ stdenv.mkDerivation (
|
|||||||
|
|
||||||
rec {
|
rec {
|
||||||
name = "x1e80100-firmware";
|
name = "x1e80100-firmware";
|
||||||
version = "26100_26.011.9344.0";
|
version = "26100_26.033.32430.0";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
# https://www.microsoft.com/en-us/download/details.aspx?id=106120
|
# https://www.microsoft.com/en-us/download/details.aspx?id=106120
|
||||||
url = "https://download.microsoft.com/download/b7ca2c3f-d320-4795-be0f-529a0117abb4/SurfaceLaptop7_ARM_Win11_${version}.msi";
|
url = "https://download.microsoft.com/download/b7ca2c3f-d320-4795-be0f-529a0117abb4/SurfaceLaptop7_ARM_Win11_${version}.msi";
|
||||||
hash = "sha256-ZkZgmKz5ihrRaarAioWoc0dx9XbmobGwTTyY/VLzahk=";
|
hash = "sha256-KyHgMGk/oytVctE5AhdXer+x7mJk2uP8Vgc7v78wSRc=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
msitools
|
msitools
|
||||||
|
|||||||
Reference in New Issue
Block a user