Compare commits
68 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f4c78d4916 | |||
| af49f7b7c7 | |||
| 563375e7a0 | |||
| bc24d47b6c | |||
| c4626c6b94 | |||
| 6489e22306 | |||
| e4244532c3 | |||
| 6c53c58475 | |||
|
89b93abc37
|
|||
| 2cab1e834e | |||
| fde697aebe | |||
| 6c81e4b873 | |||
|
4a09f079f5
|
|||
| d83254b344 | |||
| 15d1a80889 | |||
| a93e936203 | |||
|
80330456f3
|
|||
| 6e29baf596 | |||
| 65e6519672 | |||
| 6948d2a668 | |||
|
7190efff26
|
|||
| 18b15f1539 | |||
| bfc37c6c70 | |||
| b6c43f6802 | |||
| af02b13cc1 | |||
| 7ee21ae6b0 | |||
| ca90ea78aa | |||
| e2ea0e7dfa | |||
| 636b729964 | |||
| f77541c4bf | |||
| 34dbec903f | |||
| e8a67e136d | |||
| b6dde58eca | |||
| 981ad4307b | |||
| 6443c3859f | |||
| f8aff912c1 | |||
| 8912f0bacd | |||
| 0a196c5012 | |||
| ddf51d782e | |||
| da12d408e9 | |||
| d8dc8d84a5 | |||
| ff4dd1a4eb | |||
| 51038c5b6c | |||
| 8f02cf55b2 | |||
| 77fac19667 | |||
| 21673b7396 | |||
| 27a4764e00 | |||
| b26187ae7d | |||
| 539624da38 | |||
| e5a7804eae | |||
| 18e2916e54 | |||
| baa4fcd4c2 | |||
| 63dd4c75bc | |||
| 76536821fb | |||
| af6bedc09d | |||
| 964aa04878 | |||
| 4da830c97e | |||
| 84f446e82c | |||
| 582deb42ab | |||
| 18d0646948 | |||
| d6a9713620 | |||
| ba2f6e9404 | |||
| 19dc5d7b4f | |||
| 6a0bbb90d2 | |||
| b8c8735d42 | |||
| 1ef47a00bd | |||
| e7d58bb03a | |||
| 8e2ef04cce |
@@ -0,0 +1,12 @@
|
|||||||
|
name: cache
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: nix
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- run: attic login pkgs https://attic.scug.io ${{ secrets.ATTIC_TOKEN }}
|
||||||
|
- run: nix-fast-build --skip-cached --systems "x86_64-linux aarch64-linux" --no-nom --attic-cache pkgs
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
name: check
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches-ignore:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: nix
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- run: nix-fast-build --skip-cached --systems "x86_64-linux aarch64-linux" --no-nom
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
name: checks
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
jobs:
|
|
||||||
checks:
|
|
||||||
runs-on: nix
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- run: nix flake check -L --all-systems
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
/result
|
||||||
|
**/result
|
||||||
|
result
|
||||||
|
|
||||||
|
.envrc
|
||||||
|
.direnv
|
||||||
@@ -0,0 +1,260 @@
|
|||||||
|
{
|
||||||
|
"ath-tools": {
|
||||||
|
"cargoLock": null,
|
||||||
|
"date": "2026-04-15",
|
||||||
|
"extract": null,
|
||||||
|
"name": "ath-tools",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"rev": "324903e86fbd30d601f404125da74b28d812be4b",
|
||||||
|
"sha256": "sha256-Gykx/uHPzbHPECtiCoRmo9YWxUpYc7Ky1lNBENLsRm4=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/qca/qca-swiss-army-knife.git"
|
||||||
|
},
|
||||||
|
"version": "324903e86fbd30d601f404125da74b28d812be4b"
|
||||||
|
},
|
||||||
|
"base24-schemes": {
|
||||||
|
"cargoLock": null,
|
||||||
|
"date": "2026-05-03",
|
||||||
|
"extract": null,
|
||||||
|
"name": "base24-schemes",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795",
|
||||||
|
"sha256": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/tinted-theming/schemes.git"
|
||||||
|
},
|
||||||
|
"version": "0c94645546f4f3ddac77a1a5fce54eb95bf50795"
|
||||||
|
},
|
||||||
|
"claude-code-acp": {
|
||||||
|
"cargoLock": null,
|
||||||
|
"date": null,
|
||||||
|
"extract": null,
|
||||||
|
"name": "claude-code-acp",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"owner": "zed-industries",
|
||||||
|
"repo": "claude-code-acp",
|
||||||
|
"rev": "v0.35.0",
|
||||||
|
"sha256": "sha256-xb6D4J+EmbK5XCrZCyv1LWYdfmaNDcw7Hk4nHg76uAo=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"version": "v0.35.0"
|
||||||
|
},
|
||||||
|
"claude-sync": {
|
||||||
|
"cargoLock": null,
|
||||||
|
"date": null,
|
||||||
|
"extract": null,
|
||||||
|
"name": "claude-sync",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"owner": "tawanorg",
|
||||||
|
"repo": "claude-sync",
|
||||||
|
"rev": "v1.9.0",
|
||||||
|
"sha256": "sha256-5waB01wmSsFUkBB/PmT9yY5b1J/aapZJCnm5O21q+Q4=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"version": "v1.9.0"
|
||||||
|
},
|
||||||
|
"flightcore": {
|
||||||
|
"cargoLock": null,
|
||||||
|
"date": null,
|
||||||
|
"extract": null,
|
||||||
|
"name": "flightcore",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"owner": "R2NorthstarTools",
|
||||||
|
"repo": "FlightCore",
|
||||||
|
"rev": "v3.2.0",
|
||||||
|
"sha256": "sha256-MFnW9cXFzqmdtC31r8cRcihV3NjGAC6+2/DnNVMheCI=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"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": {
|
||||||
|
"cargoLock": {
|
||||||
|
"Cargo.lock": [
|
||||||
|
"sha256-Ke8bM5o33s1h1fHY7Y10fYKpVwS3_pU7iOBpBOC0Dvw=/Cargo.lock",
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"date": "2026-05-16",
|
||||||
|
"extract": null,
|
||||||
|
"name": "neovide",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"rev": "8c48a699e201aa5559227a96d879b2f57192b354",
|
||||||
|
"sha256": "sha256-Ke8bM5o33s1h1fHY7Y10fYKpVwS3/pU7iOBpBOC0Dvw=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/neovide/neovide.git"
|
||||||
|
},
|
||||||
|
"version": "8c48a699e201aa5559227a96d879b2f57192b354"
|
||||||
|
},
|
||||||
|
"qebspil": {
|
||||||
|
"cargoLock": null,
|
||||||
|
"date": "2025-10-25",
|
||||||
|
"extract": null,
|
||||||
|
"name": "qebspil",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": true,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"rev": "8e4d9e676a3b3afe136cda9b953a2139ff1a32d0",
|
||||||
|
"sha256": "sha256-kWUXzeYWNxGgmjt/p9yozrWc5ouUs0XXBRfiFMlu+QQ=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/stephan-gh/qebspil.git"
|
||||||
|
},
|
||||||
|
"version": "8e4d9e676a3b3afe136cda9b953a2139ff1a32d0"
|
||||||
|
},
|
||||||
|
"radare2-ghidra": {
|
||||||
|
"cargoLock": null,
|
||||||
|
"date": null,
|
||||||
|
"extract": null,
|
||||||
|
"name": "radare2-ghidra",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"owner": "radareorg",
|
||||||
|
"repo": "r2ghidra",
|
||||||
|
"rev": "6.1.4",
|
||||||
|
"sha256": "sha256-uVMsONXethTq/BL9MBQkDP3iJ6t25PEnpeD/Y17dpxM=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"version": "6.1.4"
|
||||||
|
},
|
||||||
|
"radare2-mcp": {
|
||||||
|
"cargoLock": null,
|
||||||
|
"date": null,
|
||||||
|
"extract": null,
|
||||||
|
"name": "radare2-mcp",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"owner": "radareorg",
|
||||||
|
"repo": "radare2-mcp",
|
||||||
|
"rev": "1.8.0",
|
||||||
|
"sha256": "sha256-1tV3mG1hEIcq18cHn5kS4n9ocVZsHQ5A4TCTA3OKzn8=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"version": "1.8.0"
|
||||||
|
},
|
||||||
|
"slbounce": {
|
||||||
|
"cargoLock": null,
|
||||||
|
"date": null,
|
||||||
|
"extract": null,
|
||||||
|
"name": "slbounce",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"owner": "TravMurav",
|
||||||
|
"repo": "slbounce",
|
||||||
|
"rev": "v5",
|
||||||
|
"sha256": "sha256-w+0SKR0A/hcFU6iFEOgyG+vWwgAWF8h9D0/X7GSFm7w=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,165 @@
|
|||||||
|
# This file was generated by nvfetcher, please do not modify it manually.
|
||||||
|
{
|
||||||
|
fetchgit,
|
||||||
|
fetchurl,
|
||||||
|
fetchFromGitHub,
|
||||||
|
dockerTools,
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
ath-tools = {
|
||||||
|
pname = "ath-tools";
|
||||||
|
version = "324903e86fbd30d601f404125da74b28d812be4b";
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/qca/qca-swiss-army-knife.git";
|
||||||
|
rev = "324903e86fbd30d601f404125da74b28d812be4b";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
deepClone = false;
|
||||||
|
leaveDotGit = false;
|
||||||
|
sparseCheckout = [ ];
|
||||||
|
sha256 = "sha256-Gykx/uHPzbHPECtiCoRmo9YWxUpYc7Ky1lNBENLsRm4=";
|
||||||
|
};
|
||||||
|
date = "2026-04-15";
|
||||||
|
};
|
||||||
|
base24-schemes = {
|
||||||
|
pname = "base24-schemes";
|
||||||
|
version = "0c94645546f4f3ddac77a1a5fce54eb95bf50795";
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/tinted-theming/schemes.git";
|
||||||
|
rev = "0c94645546f4f3ddac77a1a5fce54eb95bf50795";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
deepClone = false;
|
||||||
|
leaveDotGit = false;
|
||||||
|
sparseCheckout = [ ];
|
||||||
|
sha256 = "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=";
|
||||||
|
};
|
||||||
|
date = "2026-05-03";
|
||||||
|
};
|
||||||
|
claude-code-acp = {
|
||||||
|
pname = "claude-code-acp";
|
||||||
|
version = "v0.35.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "zed-industries";
|
||||||
|
repo = "claude-code-acp";
|
||||||
|
rev = "v0.35.0";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
sha256 = "sha256-xb6D4J+EmbK5XCrZCyv1LWYdfmaNDcw7Hk4nHg76uAo=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
claude-sync = {
|
||||||
|
pname = "claude-sync";
|
||||||
|
version = "v1.9.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "tawanorg";
|
||||||
|
repo = "claude-sync";
|
||||||
|
rev = "v1.9.0";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
sha256 = "sha256-5waB01wmSsFUkBB/PmT9yY5b1J/aapZJCnm5O21q+Q4=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
flightcore = {
|
||||||
|
pname = "flightcore";
|
||||||
|
version = "v3.2.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "R2NorthstarTools";
|
||||||
|
repo = "FlightCore";
|
||||||
|
rev = "v3.2.0";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
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 = {
|
||||||
|
pname = "neovide";
|
||||||
|
version = "8c48a699e201aa5559227a96d879b2f57192b354";
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/neovide/neovide.git";
|
||||||
|
rev = "8c48a699e201aa5559227a96d879b2f57192b354";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
deepClone = false;
|
||||||
|
leaveDotGit = false;
|
||||||
|
sparseCheckout = [ ];
|
||||||
|
sha256 = "sha256-Ke8bM5o33s1h1fHY7Y10fYKpVwS3/pU7iOBpBOC0Dvw=";
|
||||||
|
};
|
||||||
|
cargoLock."Cargo.lock" = {
|
||||||
|
lockFile = ./. + "/sha256-Ke8bM5o33s1h1fHY7Y10fYKpVwS3_pU7iOBpBOC0Dvw=/Cargo.lock";
|
||||||
|
outputHashes = {
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
date = "2026-05-16";
|
||||||
|
};
|
||||||
|
qebspil = {
|
||||||
|
pname = "qebspil";
|
||||||
|
version = "8e4d9e676a3b3afe136cda9b953a2139ff1a32d0";
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/stephan-gh/qebspil.git";
|
||||||
|
rev = "8e4d9e676a3b3afe136cda9b953a2139ff1a32d0";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
deepClone = false;
|
||||||
|
leaveDotGit = false;
|
||||||
|
sparseCheckout = [ ];
|
||||||
|
sha256 = "sha256-kWUXzeYWNxGgmjt/p9yozrWc5ouUs0XXBRfiFMlu+QQ=";
|
||||||
|
};
|
||||||
|
date = "2025-10-25";
|
||||||
|
};
|
||||||
|
radare2-ghidra = {
|
||||||
|
pname = "radare2-ghidra";
|
||||||
|
version = "6.1.4";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "radareorg";
|
||||||
|
repo = "r2ghidra";
|
||||||
|
rev = "6.1.4";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
sha256 = "sha256-uVMsONXethTq/BL9MBQkDP3iJ6t25PEnpeD/Y17dpxM=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
radare2-mcp = {
|
||||||
|
pname = "radare2-mcp";
|
||||||
|
version = "1.8.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "radareorg";
|
||||||
|
repo = "radare2-mcp";
|
||||||
|
rev = "1.8.0";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
sha256 = "sha256-1tV3mG1hEIcq18cHn5kS4n9ocVZsHQ5A4TCTA3OKzn8=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
slbounce = {
|
||||||
|
pname = "slbounce";
|
||||||
|
version = "v5";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "TravMurav";
|
||||||
|
repo = "slbounce";
|
||||||
|
rev = "v5";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
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
File diff suppressed because it is too large
Load Diff
Generated
+4
-4
@@ -20,16 +20,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753694789,
|
"lastModified": 1780011192,
|
||||||
"narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=",
|
"narHash": "sha256-luHrZG6I7Mwdt413XoDOYBpp9z1z6X23/5SNktwjM+k=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "dc9637876d0dcc8c9e5e22986b857632effeb727",
|
"rev": "3242faf14b7611a62ce0f0071619438a08b65c12",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable-small",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
description = "Scuggo Pkgs";
|
description = "Scuggo Pkgs";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -11,14 +11,9 @@
|
|||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
flake-utils,
|
flake-utils,
|
||||||
}:
|
}@inputs:
|
||||||
|
(nixpkgs.lib.recursiveUpdate
|
||||||
{
|
(flake-utils.lib.eachSystem
|
||||||
overlays.default =
|
|
||||||
final: prev: (import "${nixpkgs}/pkgs/top-level/by-name-overlay.nix" ./pkgs/by-name) final prev;
|
|
||||||
}
|
|
||||||
//
|
|
||||||
flake-utils.lib.eachSystem
|
|
||||||
[
|
[
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
@@ -28,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);
|
||||||
@@ -52,32 +50,41 @@
|
|||||||
lib.lists.flatten (lib.mapAttrsToList (name: pkg: recursePackage name pkg) scope)
|
lib.lists.flatten (lib.mapAttrsToList (name: pkg: recursePackage name pkg) scope)
|
||||||
);
|
);
|
||||||
workingPackages = lib.filterAttrs (_: pkg: !pkg.meta.broken) flatPackages;
|
workingPackages = lib.filterAttrs (_: pkg: !pkg.meta.broken) flatPackages;
|
||||||
|
# Disable for now
|
||||||
recursePackageSets =
|
# recursePackageSets =
|
||||||
pkg:
|
# pkg:
|
||||||
let
|
# let
|
||||||
isDrv = lib.isDerivation pkg;
|
# isDrv = lib.isDerivation pkg;
|
||||||
isAttrs = lib.isAttrs pkg;
|
# isAttrs = lib.isAttrs pkg;
|
||||||
isSameSystem = lib.meta.availableOn pkgs.stdenv.hostPlatform pkg;
|
# isSameSystem = lib.meta.availableOn pkgs.stdenv.hostPlatform pkg;
|
||||||
in
|
# in
|
||||||
if isDrv && isSameSystem then
|
# if isDrv && isSameSystem then
|
||||||
pkg
|
# pkg
|
||||||
else if isAttrs then
|
# else if isAttrs then
|
||||||
lib.mapAttrs (_: subPkg: recursePackageSets subPkg) pkg
|
# lib.mapAttrs (_: subPkg: recursePackageSets subPkg) pkg
|
||||||
else
|
# else
|
||||||
null;
|
# null;
|
||||||
|
#
|
||||||
# Recursively filter out nulls and remove overrides (probably a btter way to do this but it works for now)
|
# # Recursively filter out nulls and remove overrides (probably a btter way to do this but it works for now)
|
||||||
packageSets = lib.filterAttrsRecursive (k: v: v != null && k != "override") (
|
# packageSets = lib.filterAttrsRecursive (k: v: v != null && k != "override") (
|
||||||
lib.mapAttrs (name: pkg: recursePackageSets pkg) scope
|
# lib.mapAttrs (name: pkg: recursePackageSets pkg) scope
|
||||||
);
|
# );
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
inherit packageSets;
|
overlays = final: prev: flatPackages;
|
||||||
inherit flatPackages;
|
packages = flatPackages;
|
||||||
inherit pkgs;
|
|
||||||
packages = packageSets;
|
|
||||||
checks = lib.mapAttrs' (n: lib.nameValuePair "package-${n}") workingPackages;
|
checks = lib.mapAttrs' (n: lib.nameValuePair "package-${n}") workingPackages;
|
||||||
|
devShells.default = pkgs.mkShellNoCC {
|
||||||
|
packages = [ pkgs.nvfetcher ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
overlays = {
|
||||||
|
default =
|
||||||
|
final: prev: ((import "${nixpkgs}/pkgs/top-level/by-name-overlay.nix" ./pkgs/by-name) final prev);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
[claude-code-acp]
|
||||||
|
src.github = "zed-industries/claude-code-acp"
|
||||||
|
fetch.github = "zed-industries/claude-code-acp"
|
||||||
|
|
||||||
|
[claude-sync]
|
||||||
|
src.github = "tawanorg/claude-sync"
|
||||||
|
fetch.github = "tawanorg/claude-sync"
|
||||||
|
|
||||||
|
[flightcore]
|
||||||
|
src.github = "R2NorthstarTools/FlightCore"
|
||||||
|
fetch.github = "R2NorthstarTools/FlightCore"
|
||||||
|
|
||||||
|
[radare2-mcp]
|
||||||
|
src.github = "radareorg/radare2-mcp"
|
||||||
|
fetch.github = "radareorg/radare2-mcp"
|
||||||
|
|
||||||
|
[radare2-ghidra]
|
||||||
|
src.github = "radareorg/r2ghidra"
|
||||||
|
fetch.github = "radareorg/r2ghidra"
|
||||||
|
|
||||||
|
[slbounce]
|
||||||
|
src.github = "TravMurav/slbounce"
|
||||||
|
fetch.github = "TravMurav/slbounce"
|
||||||
|
|
||||||
|
[base24-schemes]
|
||||||
|
src.git = "https://github.com/tinted-theming/schemes.git"
|
||||||
|
fetch.git = "https://github.com/tinted-theming/schemes.git"
|
||||||
|
|
||||||
|
[qebspil]
|
||||||
|
src.git = "https://github.com/stephan-gh/qebspil.git"
|
||||||
|
fetch.git = "https://github.com/stephan-gh/qebspil.git"
|
||||||
|
git.fetchSubmodules = true
|
||||||
|
|
||||||
|
[ath-tools]
|
||||||
|
src.git = "https://github.com/qca/qca-swiss-army-knife.git"
|
||||||
|
fetch.git = "https://github.com/qca/qca-swiss-army-knife.git"
|
||||||
|
|
||||||
|
[neovide]
|
||||||
|
src.git = "https://github.com/neovide/neovide.git"
|
||||||
|
src.git_branch = "nightly"
|
||||||
|
fetch.git = "https://github.com/neovide/neovide.git"
|
||||||
|
cargo_lock = ["Cargo.lock"]
|
||||||
|
|
||||||
|
[grimoire]
|
||||||
|
src.github = "Slush97/grimoire"
|
||||||
|
fetch.github = "Slush97/grimoire"
|
||||||
|
|
||||||
|
[vpkmerge]
|
||||||
|
src.github = "Slush97/vpkmerge"
|
||||||
|
fetch.github = "Slush97/vpkmerge"
|
||||||
|
cargo_lock = ["Cargo.lock"]
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{ aria2 }:
|
||||||
|
aria2.overrideAttrs (oldAttrs: rec {
|
||||||
|
patches = oldAttrs.patches or [ ] ++ [ ./unlimited.patch ];
|
||||||
|
})
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
--- a/src/OptionHandlerFactory.cc
|
||||||
|
+++ b/src/OptionHandlerFactory.cc
|
||||||
|
@@ -440,7 +440,7 @@ std::vector<OptionHandler*> OptionHandlerFactory::createOptionHandlers()
|
||||||
|
{
|
||||||
|
OptionHandler* op(new NumberOptionHandler(PREF_MAX_CONNECTION_PER_SERVER,
|
||||||
|
TEXT_MAX_CONNECTION_PER_SERVER,
|
||||||
|
- "1", 1, 16, 'x'));
|
||||||
|
+ "1", 1, -1, 'x'));
|
||||||
|
op->addTag(TAG_BASIC);
|
||||||
|
op->addTag(TAG_FTP);
|
||||||
|
op->addTag(TAG_HTTP);
|
||||||
@@ -4,8 +4,10 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
name = "ath12k-tools";
|
name = "ath12k-tools";
|
||||||
pyproject = false;
|
pyproject = false;
|
||||||
inherit src;
|
inherit src;
|
||||||
sourceRoot = "source/tools/scripts/ath12k";
|
sourceRoot = "${src.name}/tools/scripts/ath12k";
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
ls -la
|
||||||
|
pwd
|
||||||
install -Dm755 "ath12k-bdencoder" "$out/bin/ath12k-bdencoder"
|
install -Dm755 "ath12k-bdencoder" "$out/bin/ath12k-bdencoder"
|
||||||
install -Dm755 "ath12k-check" "$out/bin/ath12k-check"
|
install -Dm755 "ath12k-check" "$out/bin/ath12k-check"
|
||||||
install -Dm755 "ath12k-fw-repo" "$out/bin/ath12k-fw-repo"
|
install -Dm755 "ath12k-fw-repo" "$out/bin/ath12k-fw-repo"
|
||||||
|
|||||||
@@ -2,16 +2,11 @@
|
|||||||
lib,
|
lib,
|
||||||
newScope,
|
newScope,
|
||||||
callPackage,
|
callPackage,
|
||||||
fetchFromGitHub,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
src = fetchFromGitHub {
|
sources = callPackage ../../../../_sources/generated.nix { };
|
||||||
owner = "qca";
|
inherit (sources.ath-tools) src;
|
||||||
repo = "qca-swiss-army-knife";
|
|
||||||
rev = "7c191e5530d32391105653b276ab587d2af9e02a";
|
|
||||||
hash = "sha256-iE4lqyr3zmLcgFnsrDvQ/CKUV15ijqmIbUIs9sgMECg=";
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
lib.makeScope newScope (self: {
|
lib.makeScope newScope (self: {
|
||||||
ath12k-tools = self.callPackage ./ath12k-tools.nix { inherit src; };
|
ath12k-tools = self.callPackage ./ath12k-tools.nix { inherit src; };
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
callPackage,
|
||||||
|
stdenv,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
sources = callPackage ../../../../_sources/generated.nix { };
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "base24-schemes";
|
||||||
|
version = "unstable-${sources.base24-schemes.date}";
|
||||||
|
|
||||||
|
inherit (sources.base24-schemes) src;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/share/themes/
|
||||||
|
install base24/*.yaml $out/share/themes/
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "All the color schemes for use in base24 packages";
|
||||||
|
homepage = finalAttrs.src.meta.homepage;
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
|
})
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
buildGoModule,
|
||||||
|
callPackage,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
sources = callPackage ../../../../_sources/generated.nix { };
|
||||||
|
in
|
||||||
|
buildGoModule (finalAttrs: {
|
||||||
|
pname = "claude-sync";
|
||||||
|
version = lib.removePrefix "v" sources.claude-sync.version;
|
||||||
|
inherit (sources.claude-sync) src;
|
||||||
|
|
||||||
|
vendorHash = "sha256-cHWP5m191QP4XxeOtgHaLsyavXWikUwViDivBMGP34M=";
|
||||||
|
|
||||||
|
subPackages = [ "cmd/claude-sync" ];
|
||||||
|
|
||||||
|
ldflags = [
|
||||||
|
"-s"
|
||||||
|
"-w"
|
||||||
|
"-X main.version=${finalAttrs.version}"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
mainProgram = "claude-sync";
|
||||||
|
platforms = lib.platforms.unix;
|
||||||
|
};
|
||||||
|
})
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,70 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
rustPlatform,
|
||||||
|
jq,
|
||||||
|
moreutils,
|
||||||
|
fetchNpmDeps,
|
||||||
|
cargo-tauri,
|
||||||
|
glib-networking,
|
||||||
|
nodejs,
|
||||||
|
npmHooks,
|
||||||
|
openssl,
|
||||||
|
pkg-config,
|
||||||
|
webkitgtk_4_1,
|
||||||
|
wrapGAppsHook4,
|
||||||
|
callPackage,
|
||||||
|
}: let
|
||||||
|
sources = callPackage ../../../../_sources/generated.nix {};
|
||||||
|
in
|
||||||
|
rustPlatform.buildRustPackage (finalAttrs: {
|
||||||
|
pname = "flightcore";
|
||||||
|
version = lib.removePrefix "v" sources.flightcore.version;
|
||||||
|
inherit (sources.flightcore) src;
|
||||||
|
patches = [./cargo-lock.patch];
|
||||||
|
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||||
|
src = finalAttrs.src;
|
||||||
|
sourceRoot = "${finalAttrs.src.name}/${finalAttrs.cargoRoot}";
|
||||||
|
hash = "sha256-Jh0DAX4fGy2Z1+hpq+bkU/VYy2JAL2u+neUIsQ2QXBU=";
|
||||||
|
patchFlags = "-p2";
|
||||||
|
inherit (finalAttrs) patches;
|
||||||
|
};
|
||||||
|
postPatch = ''
|
||||||
|
jq '.bundle.createUpdaterArtifacts = false' src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json
|
||||||
|
'';
|
||||||
|
npmDeps = fetchNpmDeps {
|
||||||
|
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
|
||||||
|
src = "${finalAttrs.src}/src-vue";
|
||||||
|
hash = "sha256-QhUPkCBK1kcAF7gByFxlg8Ca9PLF3evCl0QYEPP/Q2c=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs =
|
||||||
|
[
|
||||||
|
cargo-tauri.hook
|
||||||
|
|
||||||
|
nodejs
|
||||||
|
npmHooks.npmConfigHook
|
||||||
|
|
||||||
|
pkg-config
|
||||||
|
|
||||||
|
jq
|
||||||
|
moreutils
|
||||||
|
]
|
||||||
|
++ lib.optionals stdenv.hostPlatform.isLinux [wrapGAppsHook4];
|
||||||
|
|
||||||
|
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||||
|
glib-networking
|
||||||
|
openssl
|
||||||
|
webkitgtk_4_1
|
||||||
|
];
|
||||||
|
|
||||||
|
cargoRoot = "src-tauri";
|
||||||
|
npmRoot = "src-vue";
|
||||||
|
|
||||||
|
buildAndTestSubdir = finalAttrs.cargoRoot;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
platforms = ["x86_64-linux"];
|
||||||
|
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"];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,134 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
rustPlatform,
|
||||||
|
clangStdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
linkFarm,
|
||||||
|
fetchgit,
|
||||||
|
runCommand,
|
||||||
|
gn,
|
||||||
|
neovim,
|
||||||
|
ninja,
|
||||||
|
makeWrapper,
|
||||||
|
pkg-config,
|
||||||
|
python3,
|
||||||
|
removeReferencesTo,
|
||||||
|
cctools,
|
||||||
|
SDL2,
|
||||||
|
fontconfig,
|
||||||
|
libxrandr,
|
||||||
|
libxi,
|
||||||
|
libxext,
|
||||||
|
libxcursor,
|
||||||
|
libx11,
|
||||||
|
stdenv,
|
||||||
|
libglvnd,
|
||||||
|
libxkbcommon,
|
||||||
|
enableWayland ? stdenv.hostPlatform.isLinux,
|
||||||
|
wayland,
|
||||||
|
callPackage,
|
||||||
|
}: let
|
||||||
|
sources = callPackage ../../../../_sources/generated.nix {};
|
||||||
|
inherit (sources.neovide) src;
|
||||||
|
in
|
||||||
|
rustPlatform.buildRustPackage.override {stdenv = clangStdenv;} (finalAttrs: {
|
||||||
|
pname = "neovide";
|
||||||
|
version = src.rev;
|
||||||
|
src = src;
|
||||||
|
|
||||||
|
cargoLock = sources.neovide.cargoLock."Cargo.lock";
|
||||||
|
|
||||||
|
env = {
|
||||||
|
SKIA_SOURCE_DIR = let
|
||||||
|
repo = fetchFromGitHub {
|
||||||
|
owner = "rust-skia";
|
||||||
|
repo = "skia";
|
||||||
|
# see rust-skia:skia-bindings/Cargo.toml#package.metadata skia
|
||||||
|
tag = "m148-0.97.0";
|
||||||
|
hash = "sha256-uFnYX6ZDg+cJwLyCe6IGB6M3aCyI/+q2aYP4JfHm544=";
|
||||||
|
};
|
||||||
|
# The externals for skia are taken from skia/DEPS
|
||||||
|
externals = linkFarm "skia-externals" (
|
||||||
|
lib.mapAttrsToList (name: value: {
|
||||||
|
inherit name;
|
||||||
|
path = fetchgit value;
|
||||||
|
}) (lib.importJSON ./skia-externals.json)
|
||||||
|
);
|
||||||
|
in
|
||||||
|
runCommand "source" {} ''
|
||||||
|
cp -R ${repo} $out
|
||||||
|
chmod -R +w $out
|
||||||
|
ln -s ${externals} $out/third_party/externals
|
||||||
|
'';
|
||||||
|
|
||||||
|
SKIA_GN_COMMAND = "${gn}/bin/gn";
|
||||||
|
SKIA_NINJA_COMMAND = "${ninja}/bin/ninja";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs =
|
||||||
|
[
|
||||||
|
makeWrapper
|
||||||
|
pkg-config
|
||||||
|
python3 # skia
|
||||||
|
removeReferencesTo
|
||||||
|
]
|
||||||
|
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||||
|
cctools.libtool
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeCheckInputs = [neovim];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
SDL2
|
||||||
|
fontconfig
|
||||||
|
rustPlatform.bindgenHook
|
||||||
|
];
|
||||||
|
|
||||||
|
postFixup = let
|
||||||
|
libPath = lib.makeLibraryPath (
|
||||||
|
[
|
||||||
|
libglvnd
|
||||||
|
libxkbcommon
|
||||||
|
libx11
|
||||||
|
libxcursor
|
||||||
|
libxext
|
||||||
|
libxrandr
|
||||||
|
libxi
|
||||||
|
]
|
||||||
|
++ lib.optionals enableWayland [wayland]
|
||||||
|
);
|
||||||
|
in ''
|
||||||
|
# library skia embeds the path to its sources
|
||||||
|
remove-references-to -t "$SKIA_SOURCE_DIR" \
|
||||||
|
$out/bin/neovide
|
||||||
|
|
||||||
|
wrapProgram $out/bin/neovide \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${libPath}
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall =
|
||||||
|
lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||||
|
mkdir -p $out/Applications
|
||||||
|
cp -r extra/osx/Neovide.app $out/Applications
|
||||||
|
ln -s $out/bin $out/Applications/Neovide.app/Contents/MacOS
|
||||||
|
''
|
||||||
|
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||||
|
for n in 16x16 32x32 48x48 256x256; do
|
||||||
|
install -m444 -D "assets/neovide-$n.png" \
|
||||||
|
"$out/share/icons/hicolor/$n/apps/neovide.png"
|
||||||
|
done
|
||||||
|
install -m444 -Dt $out/share/icons/hicolor/scalable/apps assets/neovide.svg
|
||||||
|
install -m444 -Dt $out/share/applications assets/neovide.desktop
|
||||||
|
'';
|
||||||
|
|
||||||
|
disallowedReferences = [finalAttrs.env.SKIA_SOURCE_DIR];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Simple, no-nonsense, cross-platform graphical user interface for Neovim";
|
||||||
|
mainProgram = "neovide";
|
||||||
|
homepage = "https://neovide.dev/";
|
||||||
|
changelog = "https://github.com/neovide/neovide/releases/tag/${finalAttrs.version}";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
platforms = lib.platforms.unix;
|
||||||
|
};
|
||||||
|
})
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"expat": {
|
||||||
|
"url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
|
||||||
|
"rev": "6154446fccefbf3ca644894f598969113b0c7bcd",
|
||||||
|
"sha256": "sha256-ifMDdEWu9H8iJ/VSKuXlisJKx1s1F8ecT74bwXnBWcA="
|
||||||
|
},
|
||||||
|
"libjpeg-turbo": {
|
||||||
|
"url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
|
||||||
|
"rev": "e14cbfaa85529d47f9f55b0f104a579c1061f9ad",
|
||||||
|
"sha256": "sha256-Ig+tmprZDvlf/M72/DTar2pbxat9ZElgSqdXdoM0lPs="
|
||||||
|
},
|
||||||
|
"icu": {
|
||||||
|
"url": "https://chromium.googlesource.com/chromium/deps/icu.git",
|
||||||
|
"rev": "364118a1d9da24bb5b770ac3d762ac144d6da5a4",
|
||||||
|
"sha256": "sha256-frsmwYMiFixEULsE91x5+p98DvkyC0s0fNupqjoRnvg="
|
||||||
|
},
|
||||||
|
"zlib": {
|
||||||
|
"url": "https://chromium.googlesource.com/chromium/src/third_party/zlib",
|
||||||
|
"rev": "646b7f569718921d7d4b5b8e22572ff6c76f2596",
|
||||||
|
"sha256": "sha256-jNj6SuTZ5/a7crtYhxW3Q/TlfRMNMfYIVxDlr7bYdzQ="
|
||||||
|
},
|
||||||
|
"harfbuzz": {
|
||||||
|
"url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
|
||||||
|
"rev": "9cb1fee51069b206effb4736e443b038d230789d",
|
||||||
|
"sha256": "sha256-EYItQuWvB4q2Q2iJfMyEtX9MTm3rEFlcwZ+NQEAVy0M="
|
||||||
|
},
|
||||||
|
"wuffs": {
|
||||||
|
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
|
||||||
|
"rev": "e3f919ccfe3ef542cfc983a82146070258fb57f8",
|
||||||
|
"sha256": "sha256-373d2F/STcgCHEq+PO+SCHrKVOo6uO1rqqwRN5eeBCw="
|
||||||
|
},
|
||||||
|
"libpng": {
|
||||||
|
"url": "https://skia.googlesource.com/third_party/libpng.git",
|
||||||
|
"rev": "d5515b5b8be3901aac04e5bd8bd5c89f287bcd33",
|
||||||
|
"sha256": "sha256-N507gFyjXXsJ3dyQN0SlVy80WXlbNlZs/cnqLaCmFTk="
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
callPackage,
|
||||||
|
stdenv,
|
||||||
|
gnumake,
|
||||||
|
dtc,
|
||||||
|
glibc,
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
sources = callPackage ../../../../_sources/generated.nix { };
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "qebspil";
|
||||||
|
version = "unstable-${sources.qebspil.date}";
|
||||||
|
|
||||||
|
inherit (sources.qebspil) src;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
gnumake
|
||||||
|
dtc
|
||||||
|
];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
# Create a symlink to glibc's elf.h for gnu-efi
|
||||||
|
mkdir -p external/gnu-efi/inc/sys
|
||||||
|
ln -sf ${glibc.dev}/include/elf.h external/gnu-efi/inc/sys/elf.h
|
||||||
|
|
||||||
|
# Set up build environment
|
||||||
|
export SRCDIR=$PWD
|
||||||
|
export OUTDIR=$PWD/out
|
||||||
|
'';
|
||||||
|
|
||||||
|
makeFlags = [
|
||||||
|
"QEBSPIL_ALWAYS_START=1"
|
||||||
|
"CROSS_COMPILE="
|
||||||
|
"ARCH=aarch64"
|
||||||
|
];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
# Install the EFI binary
|
||||||
|
mkdir -p $out/share/efi
|
||||||
|
cp out/qebspilaa64.efi $out/share/efi/
|
||||||
|
|
||||||
|
# Also create a symlink in a more standard location
|
||||||
|
mkdir -p $out/lib/systemd/boot/efi
|
||||||
|
ln -s $out/share/efi/qebspilaa64.efi $out/lib/systemd/boot/efi/qebspilaa64.efi
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "UEFI boot driver to start co-processors on Qualcomm platforms late during the boot process";
|
||||||
|
homepage = "https://github.com/stephan-gh/qebspil";
|
||||||
|
license = licenses.gpl2Only;
|
||||||
|
platforms = [ "aarch64-linux" ];
|
||||||
|
mainProgram = "qebspilaa64.efi";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
{
|
||||||
|
callPackage,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
meson,
|
||||||
|
ninja,
|
||||||
|
pkg-config,
|
||||||
|
radare2,
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
sources = callPackage ../../../../_sources/generated.nix { };
|
||||||
|
|
||||||
|
ghidra-native = fetchFromGitHub {
|
||||||
|
owner = "radareorg";
|
||||||
|
repo = "ghidra-native";
|
||||||
|
rev = "0.6.4";
|
||||||
|
hash = "sha256-DFvHM/erGE9wFjcB3Dlyhv4oebzXwe2yGG+GzLaY7hU=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pugixml = fetchFromGitHub {
|
||||||
|
owner = "zeux";
|
||||||
|
repo = "pugixml";
|
||||||
|
rev = "v1.15";
|
||||||
|
hash = "sha256-t/57lg32KgKPc7qRGQtO/GOwHRqoj78lllSaE/A8Z9Q=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
inherit (sources.radare2-ghidra) pname version src;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
radare2
|
||||||
|
];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
cp -r ${ghidra-native} subprojects/ghidra-native
|
||||||
|
chmod -R u+w subprojects/ghidra-native
|
||||||
|
|
||||||
|
# Overlay packagefiles (meson.build, etc.)
|
||||||
|
cp -r subprojects/packagefiles/ghidra-native/* subprojects/ghidra-native/
|
||||||
|
|
||||||
|
# Apply diff patches listed in the wrap file
|
||||||
|
for p in subprojects/packagefiles/ghidra-native/patches/*.patch; do
|
||||||
|
[ -f "$p" ] || continue
|
||||||
|
echo "Applying patch: $p"
|
||||||
|
patch -d subprojects/ghidra-native -p1 < "$p" || true
|
||||||
|
done
|
||||||
|
|
||||||
|
# Fix sleighc link: it needs ghidra_decompiler_static for symbols from pcodeinject.cc
|
||||||
|
substituteInPlace subprojects/ghidra-native/meson.build \
|
||||||
|
--replace-fail "link_with: slgh_static," \
|
||||||
|
"link_with: [slgh_static, ghidra_decompiler_static],"
|
||||||
|
|
||||||
|
# Install into $out instead of radare2's store path
|
||||||
|
substituteInPlace meson.build \
|
||||||
|
--replace-fail "res = run_command(['radare2','-HR2_LIBR_PLUGINS'], capture:true, check:false)" \
|
||||||
|
"res = run_command(['false'], capture:true, check:false)"
|
||||||
|
|
||||||
|
# pugixml subproject
|
||||||
|
cp -r ${pugixml} subprojects/pugixml
|
||||||
|
chmod -R u+w subprojects/pugixml
|
||||||
|
cp -r subprojects/packagefiles/pugixml/* subprojects/pugixml/
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
callPackage,
|
||||||
|
stdenv,
|
||||||
|
meson,
|
||||||
|
ninja,
|
||||||
|
pkg-config,
|
||||||
|
radare2,
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
sources = callPackage ../../../../_sources/generated.nix { };
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
inherit (sources.radare2-mcp) pname version src;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
radare2
|
||||||
|
];
|
||||||
|
|
||||||
|
mesonFlags = [
|
||||||
|
"-Dr2_prefix=${radare2}"
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
callPackage,
|
||||||
|
stdenv,
|
||||||
|
fetchzip,
|
||||||
|
fetchgit,
|
||||||
|
fetchFromGitHub,
|
||||||
|
buildPackages,
|
||||||
|
dtc,
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
sources = callPackage ../../../../_sources/generated.nix { };
|
||||||
|
|
||||||
|
aarch64-system-register-xmls = fetchzip {
|
||||||
|
url = "https://developer.arm.com/-/media/developer/products/architecture/armv8-a-architecture/2020-06/SysReg_xml_v86A-2020-06.tar.gz";
|
||||||
|
stripRoot = false;
|
||||||
|
hash = "sha256-wpWMIdR4v4sGZ0FEn/j5+AzkpPFOF7lUKIFpVl5AMEE=";
|
||||||
|
};
|
||||||
|
|
||||||
|
arm64-sysreg-lib = stdenv.mkDerivation {
|
||||||
|
name = "arm64-sysreg-lib";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ashwio";
|
||||||
|
repo = "arm64-sysreg-lib";
|
||||||
|
sparseCheckout = [ "/" ];
|
||||||
|
rev = "d421e249a026f6f14653cb6f9c4edd8c5d898595";
|
||||||
|
hash = "sha256-vUuV8eddYAdwXGQe+L7lKiAwyqHPYmiOdVFKvwCMWkQ=";
|
||||||
|
};
|
||||||
|
nativeBuildInputs = [
|
||||||
|
(buildPackages.python3.withPackages (ps: [ ps.beautifulsoup4 ]))
|
||||||
|
];
|
||||||
|
buildPhase = ''
|
||||||
|
python ./run-build.py ${aarch64-system-register-xmls}/SysReg_xml_v86A-2020-06
|
||||||
|
'';
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/include
|
||||||
|
cp -r include $out/
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
gnu-efi = fetchFromGitHub {
|
||||||
|
owner = "ncroxon";
|
||||||
|
repo = "gnu-efi";
|
||||||
|
rev = "3.0.15";
|
||||||
|
hash = "sha256-flQJIRPKd0geQRAtJSu4vravJG0lTB6BfeIqpUM5P2I=";
|
||||||
|
};
|
||||||
|
|
||||||
|
dtc-src = fetchgit {
|
||||||
|
url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git";
|
||||||
|
rev = "v1.7.2";
|
||||||
|
hash = "sha256-KZCzrvdWd6zfQHppjyp4XzqNCfH2UnuRneu+BNIRVAY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "slbounce";
|
||||||
|
version = lib.removePrefix "v" sources.slbounce.version;
|
||||||
|
|
||||||
|
inherit (sources.slbounce) src;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ dtc ];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
rmdir external/{arm64-sysreg-lib,dtc}
|
||||||
|
ln -s ${arm64-sysreg-lib} external/arm64-sysreg-lib
|
||||||
|
ln -s ${dtc-src} external/dtc
|
||||||
|
|
||||||
|
cp -r ${gnu-efi}/* external/gnu-efi/
|
||||||
|
chmod -R u+w external/gnu-efi
|
||||||
|
'';
|
||||||
|
|
||||||
|
makeFlags = [
|
||||||
|
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
|
||||||
|
# Force EL2 switch regardless of DTB detection
|
||||||
|
# Without this, slbounce checks for 'dtbhack-el2-overlay' in DTB
|
||||||
|
"SLBOUNCE_ALWAYS_SWITCH=1"
|
||||||
|
# Enable debug output
|
||||||
|
"DEBUG=1"
|
||||||
|
"all"
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/slbounce
|
||||||
|
cp out/*.efi $out/share/slbounce/
|
||||||
|
|
||||||
|
# Also build and install DTB overlays
|
||||||
|
make dtbs || true
|
||||||
|
mkdir -p $out/share/slbounce/dtbo
|
||||||
|
cp out/dtbo/*.dtbo $out/share/slbounce/dtbo/ 2>/dev/null || true
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "EL2 (hypervisor mode) enabler for Qualcomm Windows-on-ARM devices";
|
||||||
|
homepage = "https://github.com/TravMurav/slbounce";
|
||||||
|
license = licenses.gpl2Only;
|
||||||
|
platforms = [ "aarch64-linux" ];
|
||||||
|
};
|
||||||
|
})
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
stdenv,
|
||||||
|
p7zip,
|
||||||
|
curl,
|
||||||
|
jq,
|
||||||
|
cacert,
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
version = "22621.6060";
|
||||||
|
# Fixed-Output Derivation to fetch winre.wim from Microsoft CDN via UUPDump API
|
||||||
|
winre-wim = stdenvNoCC.mkDerivation {
|
||||||
|
pname = "winre-wim";
|
||||||
|
inherit version;
|
||||||
|
nativeBuildInputs = [
|
||||||
|
curl
|
||||||
|
jq
|
||||||
|
cacert
|
||||||
|
];
|
||||||
|
|
||||||
|
UUP_ID = "b90029a9-23b4-4558-9687-2142f79e5ae2";
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
|
echo "Querying UUPDump API for winre.wim..."
|
||||||
|
WINRE_URL=$(curl -s "https://api.uupdump.net/get.php?id=$UUP_ID" | jq -r '.response.files["winre.wim"].url')
|
||||||
|
|
||||||
|
if [[ -z "$WINRE_URL" || "$WINRE_URL" == "null" ]]; then
|
||||||
|
echo "ERROR: Failed to get winre.wim URL from UUPDump API"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Downloading winre.wim from: $WINRE_URL"
|
||||||
|
curl -L -o winre.wim "$WINRE_URL"
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
cp winre.wim "$out"
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
outputHashMode = "flat";
|
||||||
|
outputHashAlgo = "sha256";
|
||||||
|
outputHash = "sha256-jEBM0ZXEqe7HEjbpQdWNumWH5/KmCuGnIcIlFGN3W6g=";
|
||||||
|
|
||||||
|
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "tcblaunch";
|
||||||
|
inherit version;
|
||||||
|
src = winre-wim;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ p7zip ];
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
echo "Extracting tcblaunch.exe from winre.wim..."
|
||||||
|
mkdir -p extracted
|
||||||
|
7z e "$src" -oextracted 'Windows/System32/tcblaunch.exe' -y
|
||||||
|
if [[ ! -f "extracted/tcblaunch.exe" ]]; then
|
||||||
|
echo "ERROR: tcblaunch.exe was not extracted"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
ls -lh extracted/tcblaunch.exe
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
mkdir -p "$out/share/tcblaunch"
|
||||||
|
cp extracted/tcblaunch.exe "$out/share/tcblaunch/tcblaunch.exe"
|
||||||
|
chmod 644 "$out/share/tcblaunch/tcblaunch.exe"
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Microsoft tcblaunch.exe for Qualcomm Secure Launch (required by slbounce)";
|
||||||
|
homepage = "https://github.com/TravMurav/slbounce";
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
platforms = [
|
||||||
|
"aarch64-linux"
|
||||||
|
"x86_64-linux"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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];
|
||||||
|
})
|
||||||
@@ -20,14 +20,18 @@ stdenv.mkDerivation (
|
|||||||
"qcadsp8380.mbn"
|
"qcadsp8380.mbn"
|
||||||
"qccdsp8380.mbn"
|
"qccdsp8380.mbn"
|
||||||
"qcdxkmsuc8380.mbn"
|
"qcdxkmsuc8380.mbn"
|
||||||
|
"bdwlan01.e0b"
|
||||||
];
|
];
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
|
||||||
|
rec {
|
||||||
name = "x1e80100-firmware";
|
name = "x1e80100-firmware";
|
||||||
|
version = "26100_26.033.32430.0";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.microsoft.com/download/b7ca2c3f-d320-4795-be0f-529a0117abb4/SurfaceLaptop7_ARM_Win11_26100_25.061.7304.0.msi";
|
# https://www.microsoft.com/en-us/download/details.aspx?id=106120
|
||||||
sha256 = "sha256-x75NsuZZr64XfGhjghIoiymdhhb/rM0iaV9EohwPbrs=";
|
url = "https://download.microsoft.com/download/b7ca2c3f-d320-4795-be0f-529a0117abb4/SurfaceLaptop7_ARM_Win11_${version}.msi";
|
||||||
|
hash = "sha256-KyHgMGk/oytVctE5AhdXer+x7mJk2uP8Vgc7v78wSRc=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
msitools
|
msitools
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
--- a/board-2.json 2025-07-24 19:46:44.712406478 +0000
|
||||||
|
+++ b/board-2.json 2025-07-24 19:46:42.655405480 +0000
|
||||||
|
@@ -27,7 +27,8 @@
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"names": [
|
||||||
|
- "bus=pci,vendor=17cb,device=1107,subsystem-vendor=17cb,subsystem-device=3378,qmi-chip-id=2,qmi-board-id=255"
|
||||||
|
+ "bus=pci,vendor=17cb,device=1107,subsystem-vendor=17cb,subsystem-device=3378,qmi-chip-id=2,qmi-board-id=255",
|
||||||
|
+ "bus=pci,vendor=17cb,device=1107,subsystem-vendor=17cb,subsystem-device=1107,qmi-chip-id=2,qmi-board-id=255"
|
||||||
|
],
|
||||||
|
"data": "bus=pci,vendor=17cb,device=1107,subsystem-vendor=17cb,subsystem-device=3378,qmi-chip-id=2,qmi-board-id=255.bin"
|
||||||
|
},
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{ ath-tools, linux-firmware }:
|
||||||
|
linux-firmware.overrideAttrs (final: {
|
||||||
|
postInstall = ''
|
||||||
|
mkdir temp
|
||||||
|
cd temp || exit
|
||||||
|
${ath-tools.ath12k-tools}/bin/ath12k-bdencoder -e $out/lib/firmware/ath12k/WCN7850/hw2.0/board-2.bin
|
||||||
|
patch -p1 < ${./firmware.patch}
|
||||||
|
${ath-tools.ath12k-tools}/bin/ath12k-bdencoder -c board-2.json
|
||||||
|
cp board-2.bin $out/lib/firmware/ath12k/WCN7850/hw2.0/board-2.bin
|
||||||
|
'';
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user