70 Commits

Author SHA1 Message Date
nikkuss f4c78d4916 claude-sync
check / build (push) Successful in 15m9s
check / build (pull_request) Successful in 18s
2026-06-01 03:10:04 +04:00
doloro af49f7b7c7 bump: electron 40 (#16)
cache / build (push) Successful in 36s
Reviewed-on: #16
Co-authored-by: Doloro1978 <doloroo@proton.me>
Co-committed-by: Doloro1978 <doloroo@proton.me>
2026-05-30 16:21:08 +04:00
nikkuss 563375e7a0 bump nixpkgs
cache / build (push) Failing after 19s
2026-05-29 18:18:03 +04:00
nikkuss bc24d47b6c bump firwmware version
cache / build (push) Has been cancelled
2026-05-29 17:42:50 +04:00
nikkuss c4626c6b94 refactor(flightcore): consume source from nvfetcher generated.nix (#14)
cache / build (push) Has been cancelled
Reviewed-on: #14
Co-authored-by: Nikkuss <Scuggo@pm.me>
Co-committed-by: Nikkuss <Scuggo@pm.me>
2026-05-29 17:39:57 +04:00
nikkuss 6489e22306 bump firwmware version (#13)
cache / build (push) Has been cancelled
Reviewed-on: #13
Co-authored-by: Nikkuss <Scuggo@pm.me>
Co-committed-by: Nikkuss <Scuggo@pm.me>
2026-05-29 17:39:21 +04:00
doloro e4244532c3 feat: grimorie (deadlock mod manager) (#12)
cache / build (push) Has been cancelled
Reviewed-on: #12
Reviewed-by: nikkuss <Scuggo@pm.me>
Co-authored-by: Doloro1978 <doloroo@proton.me>
Co-committed-by: Doloro1978 <doloroo@proton.me>
2026-05-29 17:36:14 +04:00
nikkuss 6c53c58475 Merge pull request 'Fix neovide exploding.' (#11) from h4rl/fix-neovide-hash:fix-meow into main
cache / build (push) Successful in 23m21s
Reviewed-on: #11
2026-05-18 00:40:51 +04:00
h4rl 89b93abc37 feat: bump skia, fix neovide fetching
check / build (pull_request) Failing after 13m56s
2026-05-17 21:29:39 +02:00
h4rl 2cab1e834e merge upstream 2026-05-17 23:28:53 +04:00
nikkuss fde697aebe Merge pull request 'enable unfree' (#10) from fix-build into main
cache / build (push) Successful in 18s
Reviewed-on: #10
2026-05-17 22:59:33 +04:00
nikkuss 6c81e4b873 enable unfree
check / build (push) Has been cancelled
check / build (pull_request) Has been cancelled
2026-05-17 22:59:03 +04:00
h4rl 4a09f079f5 begin attempt at fixing neovide 2026-05-17 20:30:09 +02:00
nikkuss d83254b344 Merge pull request 'remove helium' (#9) from remove-helium into main
cache / build (push) Failing after 19s
Reviewed-on: #9
2026-05-17 21:15:00 +04:00
nikkuss 15d1a80889 remove helium
check / build (push) Failing after 19s
check / build (pull_request) Failing after 18s
2026-05-17 21:11:08 +04:00
nikkuss a93e936203 Merge pull request 'chore: update neovide hash' (#6) from h4rl/fix-neovide-hash:fix-meow into main
cache / build (push) Failing after 4m27s
Reviewed-on: #6
2026-04-12 22:24:04 +04:00
h4rl 80330456f3 chore: update neovide hash
check / build (pull_request) Failing after 1h32m39s
2026-04-12 20:08:23 +02:00
nikkuss 6e29baf596 fix hash
cache / build (push) Failing after 4m47s
2026-04-10 00:35:41 +04:00
nikkuss 65e6519672 bump firwmware
cache / build (push) Has been cancelled
2026-04-10 00:32:16 +04:00
nikkuss 6948d2a668 Merge pull request 'added: neovide-nightly' (#5) from h4rl/add-neovide:main into main
cache / build (push) Failing after 1h31m28s
Reviewed-on: #5
2026-04-03 01:11:34 +04:00
h4rl 7190efff26 feat: add neovide-nightly
check / build (pull_request) Has been cancelled
2026-04-02 21:41:26 +02:00
nikkuss 18b15f1539 update helium
cache / build (push) Failing after 15s
2026-03-15 19:38:50 +04:00
nikkuss bfc37c6c70 switch to nvfetcher and add stuff
cache / build (push) Failing after 16m38s
2026-02-19 23:01:59 +04:00
nikkuss b6c43f6802 add arm laptop utils
cache / build (push) Failing after 5m38s
2026-02-15 01:25:32 +04:00
nikkuss af02b13cc1 add r2 mcp plugin
cache / build (push) Successful in 1m11s
2026-02-12 11:09:23 +04:00
nikkuss 7ee21ae6b0 change how actions work
cache / build (push) Has been cancelled
check / build (push) Successful in 15h26m1s
2026-02-01 14:52:09 +04:00
nikkuss ca90ea78aa Merge pull request 'bump helium' (#3) from bump-helium into main
cache / build (push) Has been cancelled
Reviewed-on: #3
2026-01-05 16:34:08 +00:00
nikkuss e2ea0e7dfa bump helium
cache / build (push) Failing after 3h14m8s
2026-01-04 13:29:49 +00:00
nikkuss 636b729964 fix warning
cache / build (push) Waiting to run
2025-12-09 21:59:34 +04:00
nikkuss f77541c4bf remove breakpoint hook
cache / build (push) Failing after 3h14m40s
2025-12-06 12:57:47 +04:00
nikkuss 34dbec903f bump helium and add aria2-fast
cache / build (push) Has been cancelled
2025-12-05 23:09:57 +04:00
nikkuss e8a67e136d Merge branch 'bump-helium'
cache / build (push) Successful in 20s
2025-11-11 21:30:54 +04:00
nikkuss b6dde58eca add overlays which use our custom nixpkgs
cache / build (push) Successful in 21s
2025-11-11 18:12:19 +04:00
nikkuss 981ad4307b fuck
cache / build (push) Successful in 2h19m19s
2025-11-11 16:56:24 +04:00
nikkuss 6443c3859f bump nixpkgs 2025-11-11 16:56:14 +04:00
nikkuss f8aff912c1 enable skip-cached
cache / build (push) Failing after 21m45s
2025-11-11 16:13:11 +04:00
nikkuss 8912f0bacd make actions build on any push
cache / build (push) Has been cancelled
2025-11-11 16:12:44 +04:00
nikkuss 0a196c5012 try update helium and other pkgs 2025-11-11 16:11:57 +04:00
nikkuss ddf51d782e fix flightcore build
checks / checks (push) Successful in 21s
2025-11-11 16:09:12 +04:00
nikkuss da12d408e9 prevent helium from being built on aarch64
checks / checks (push) Has been cancelled
2025-11-11 16:08:04 +04:00
nikkuss d8dc8d84a5 fix action
checks / checks (push) Has been cancelled
2025-11-11 15:28:04 +04:00
nikkuss ff4dd1a4eb add cache
checks / checks (push) Failing after 16s
2025-11-11 15:27:39 +04:00
nikkuss 51038c5b6c flightcore: cleanup
checks / checks (push) Successful in 5m15s
2025-10-27 18:45:17 +04:00
nikkuss 8f02cf55b2 flightcore: init
checks / checks (push) Has been cancelled
2025-10-27 18:44:24 +04:00
nikkuss 77fac19667 helium-browser: fix patcher
checks / checks (push) Successful in 2h50m23s
2025-10-20 09:55:10 +04:00
nikkuss 21673b7396 helium-browser: update
checks / checks (push) Failing after 4m1s
2025-10-20 09:50:41 +04:00
nikkuss 27a4764e00 claude-code-acp: init
checks / checks (push) Has been cancelled
2025-10-17 21:09:27 +00:00
nikkuss b26187ae7d helium-browser: version change
checks / checks (push) Successful in 2h40m35s
2025-10-09 10:12:44 +04:00
nikkuss 539624da38 update and change how version is set 2025-10-09 10:11:28 +04:00
nikkuss e5a7804eae helium-browser: update 2025-10-08 19:57:03 +04:00
nikkuss 18e2916e54 revert unfree fix
checks / checks (push) Successful in 2h18m37s
2025-10-07 16:03:19 +04:00
nikkuss baa4fcd4c2 fix build
checks / checks (push) Has been cancelled
2025-10-07 16:02:08 +04:00
nikkuss 63dd4c75bc fix unfree error
checks / checks (push) Has been cancelled
2025-10-07 15:59:52 +04:00
nikkuss 76536821fb add more options
checks / checks (push) Has been cancelled
2025-10-07 15:56:40 +04:00
nikkuss af6bedc09d delete old file
checks / checks (push) Has been cancelled
2025-10-07 13:34:11 +04:00
nikkuss 964aa04878 fix gitignore
checks / checks (push) Has been cancelled
2025-10-07 13:33:20 +04:00
nikkuss 4da830c97e fix 2025-10-07 13:32:55 +04:00
nikkuss 84f446e82c update helium 2025-10-07 13:27:00 +04:00
nikkuss 582deb42ab update surface firmware
checks / checks (push) Successful in 25s
2025-10-05 10:06:50 +04:00
nikkuss 18d0646948 helium-browser: fix build (again)
checks / checks (push) Successful in 2h18m43s
2025-09-28 20:30:43 +04:00
nikkuss d6a9713620 helium-browser: fix build
checks / checks (push) Successful in 27s
2025-09-28 14:34:25 +04:00
nikkuss ba2f6e9404 helium-browser: fix build
checks / checks (push) Failing after 27s
2025-09-28 14:33:17 +04:00
nikkuss 19dc5d7b4f helium-browser: replace stdenv with llvmstdenv
checks / checks (push) Failing after 2h19m32s
2025-09-28 12:00:35 +04:00
nikkuss 6a0bbb90d2 helium-browser: init
checks / checks (push) Failing after 14m38s
2025-09-28 11:37:05 +04:00
nikkuss b8c8735d42 update x1e firmware
checks / checks (push) Successful in 12s
2025-08-28 10:12:47 +04:00
nikkuss 1ef47a00bd add base24
checks / checks (push) Successful in 13s
2025-08-25 12:43:54 +04:00
nikkuss e7d58bb03a add x1e ath12k firmware patch
checks / checks (push) Successful in 2m7s
2025-07-30 11:15:14 +04:00
nikkuss 8e2ef04cce disable things
checks / checks (push) Successful in 21s
2025-07-29 21:52:11 +04:00
nikkuss 6436a82d58 add actions
checks / checks (push) Failing after 28s
2025-07-29 21:49:55 +04:00
nikkuss 9473348b57 make pkgs work! 2025-07-29 21:42:11 +04:00
30 changed files with 17238 additions and 42 deletions
+12
View File
@@ -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
+12
View File
@@ -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
+6
View File
@@ -0,0 +1,6 @@
/result
**/result
result
.envrc
.direnv
+260
View File
@@ -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"
}
}
+165
View File
@@ -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
View File
@@ -20,16 +20,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1753694789,
"narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=",
"lastModified": 1780011192,
"narHash": "sha256-luHrZG6I7Mwdt413XoDOYBpp9z1z6X23/5SNktwjM+k=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "dc9637876d0dcc8c9e5e22986b857632effeb727",
"rev": "3242faf14b7611a62ce0f0071619438a08b65c12",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
+44 -16
View File
@@ -2,7 +2,7 @@
description = "Scuggo Pkgs";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
flake-utils.url = "github:numtide/flake-utils";
};
@@ -11,14 +11,9 @@
self,
nixpkgs,
flake-utils,
}:
{
overlays.default =
final: prev: (import "${nixpkgs}/pkgs/top-level/by-name-overlay.nix" ./pkgs/by-name) final prev;
}
//
flake-utils.lib.eachSystem
}@inputs:
(nixpkgs.lib.recursiveUpdate
(flake-utils.lib.eachSystem
[
"x86_64-linux"
"aarch64-linux"
@@ -28,6 +23,9 @@
let
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
};
};
inherit (pkgs) lib;
scope = lib.makeScope pkgs.newScope (final: self.overlays.default (pkgs // final) pkgs);
@@ -36,8 +34,11 @@
let
isDrv = lib.isDerivation pkg;
isAttrs = lib.isAttrs pkg;
isSameSystem = lib.meta.availableOn pkgs.stdenv.hostPlatform pkg;
in
if isDrv then
if !isSameSystem then
[ ]
else if isDrv then
[
(lib.nameValuePair name pkg)
]
@@ -48,15 +49,42 @@
flatPackages = builtins.listToAttrs (
lib.lists.flatten (lib.mapAttrsToList (name: pkg: recursePackage name pkg) scope)
);
workingPackages = lib.filterAttrs (_: pkg: !pkg.meta.broken) self.packages.${system};
workingPackages = lib.filterAttrs (_: pkg: !pkg.meta.broken) flatPackages;
# Disable for now
# recursePackageSets =
# pkg:
# let
# isDrv = lib.isDerivation pkg;
# isAttrs = lib.isAttrs pkg;
# isSameSystem = lib.meta.availableOn pkgs.stdenv.hostPlatform pkg;
# in
# if isDrv && isSameSystem then
# pkg
# else if isAttrs then
# lib.mapAttrs (_: subPkg: recursePackageSets subPkg) pkg
# else
# null;
#
# # 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") (
# lib.mapAttrs (name: pkg: recursePackageSets pkg) scope
# );
in
{
inherit flatPackages;
inherit pkgs;
packages = lib.filterAttrs (
_: pkg: lib.isDerivation pkg && (lib.meta.availableOn pkgs.stdenv.hostPlatform pkg)
) scope;
overlays = final: prev: flatPackages;
packages = flatPackages;
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);
};
}
);
}
+51
View File
@@ -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"]
+4
View File
@@ -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";
pyproject = false;
inherit src;
sourceRoot = "source/tools/scripts/ath12k";
sourceRoot = "${src.name}/tools/scripts/ath12k";
installPhase = ''
ls -la
pwd
install -Dm755 "ath12k-bdencoder" "$out/bin/ath12k-bdencoder"
install -Dm755 "ath12k-check" "$out/bin/ath12k-check"
install -Dm755 "ath12k-fw-repo" "$out/bin/ath12k-fw-repo"
+5 -14
View File
@@ -2,21 +2,12 @@
lib,
newScope,
callPackage,
fetchFromGitHub,
...
}:
let
src = fetchFromGitHub {
owner = "qca";
repo = "qca-swiss-army-knife";
rev = "7c191e5530d32391105653b276ab587d2af9e02a";
hash = "sha256-iE4lqyr3zmLcgFnsrDvQ/CKUV15ijqmIbUIs9sgMECg=";
};
sources = callPackage ../../../../_sources/generated.nix { };
inherit (sources.ath-tools) src;
in
lib.packagesFromDirectoryRecursive {
inherit callPackage newScope;
directory = ./tools;
}
# lib.makeScope newScope (self: {
# ath12k-tools = self.callPackage ./ath12k-tools.nix { inherit src; };
# })
lib.makeScope newScope (self: {
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;
};
})
+28
View File
@@ -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
+70
View File
@@ -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";
};
})
+122
View File
@@ -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"];
};
}
+134
View File
@@ -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="
}
}
+63
View File
@@ -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/
'';
}
+29
View File
@@ -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}"
];
}
+99
View File
@@ -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" ];
};
})
+96
View File
@@ -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"
];
};
}
+25
View File
@@ -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];
})
+10 -6
View File
@@ -20,24 +20,28 @@ stdenv.mkDerivation (
"qcadsp8380.mbn"
"qccdsp8380.mbn"
"qcdxkmsuc8380.mbn"
"bdwlan01.e0b"
];
in
{
rec {
name = "x1e80100-firmware";
version = "26100_26.033.32430.0";
src = fetchurl {
url = "https://download.microsoft.com/download/b7ca2c3f-d320-4795-be0f-529a0117abb4/SurfaceLaptop7_ARM_Win11_26100_25.061.7304.0.msi";
sha256 = "sha256-x75NsuZZr64XfGhjghIoiymdhhb/rM0iaV9EohwPbrs=";
# 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";
hash = "sha256-KyHgMGk/oytVctE5AhdXer+x7mJk2uP8Vgc7v78wSRc=";
};
nativeBuildInputs = [
msitools
tree
];
unpackPhase = ''
msiextract -C . $src
msiextract -C . "$src"
'';
buildPhase = ''
mkdir -p $out/lib/firmware/qcom/x1e80100/microsoft/Romulus
mkdir -p "$out/lib/firmware/qcom/x1e80100/microsoft/Romulus"
for file in ${lib.concatStringsSep " " fw_files}; do
echo -e "\tSearching for $file..."
fw_path=$(find . -type f -name "$file" -print | head -n 1)
@@ -48,7 +52,7 @@ stdenv.mkDerivation (
exit 1
fi
done
cp $out/lib/firmware/qcom/x1e80100/microsoft/Romulus/qcdxkmsuc8380.mbn $out/lib/firmware/qcom/x1e80100/microsoft/qcdxkmsuc8380.mbn
cp "$out/lib/firmware/qcom/x1e80100/microsoft/Romulus/qcdxkmsuc8380.mbn" "$out/lib/firmware/qcom/x1e80100/microsoft/qcdxkmsuc8380.mbn"
'';
meta = {
platforms = [ "aarch64-linux" ];
@@ -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
'';
})