2 Commits
Author SHA1 Message Date
nikkuss c3c5530dd7 drop the x1e packages; they live in x1e-nixos now (#28)
drop x1e pkgs

Reviewed-on: nikkuss/pkgs#28
Co-authored-by: Nikkuss <Scuggo@pm.me>
2026-09-20 03:14:40 +04:00
h4rl 16337d9143 pkgs/ne/neovide: bump nvfetcher lock + make versioning nightly + rev instead of just rev for easy distinction; pkgs/gr/grimoire: fix hashes for successful build (#27)
I wanted to bump it to make sure the neovide verison is as updated as possible + to make nix-store diffs :p

Reviewed-on: nikkuss/pkgs#27
Co-authored-by: h4rl <h4rldev@proton.me>
2026-08-17 17:10:06 +04:00
12 changed files with 146 additions and 524 deletions
+28 -28
View File
@@ -1,7 +1,7 @@
{ {
"ath-tools": { "ath-tools": {
"cargoLock": null, "cargoLock": null,
"date": "2026-07-16", "date": "2026-08-05",
"extract": null, "extract": null,
"name": "ath-tools", "name": "ath-tools",
"passthru": null, "passthru": null,
@@ -11,17 +11,17 @@
"fetchSubmodules": false, "fetchSubmodules": false,
"leaveDotGit": false, "leaveDotGit": false,
"name": null, "name": null,
"rev": "54367caab6cb4e6cd21310c64feadbacc8c9b574", "rev": "6df4dae3e2f5e4c2903f3cafd40996fc1b3639ce",
"sha256": "sha256-iH9RKyhGj1mIycK//8KJqbkO1ZbQaAdWgsQNd7AfWMc=", "sha256": "sha256-FFoV58YVK7KGBw/JPFWcvGkJOONrfKCvACprYCzIKeg=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "git", "type": "git",
"url": "https://github.com/qca/qca-swiss-army-knife.git" "url": "https://github.com/qca/qca-swiss-army-knife.git"
}, },
"version": "54367caab6cb4e6cd21310c64feadbacc8c9b574" "version": "6df4dae3e2f5e4c2903f3cafd40996fc1b3639ce"
}, },
"base24-schemes": { "base24-schemes": {
"cargoLock": null, "cargoLock": null,
"date": "2026-07-14", "date": "2026-08-09",
"extract": null, "extract": null,
"name": "base24-schemes", "name": "base24-schemes",
"passthru": null, "passthru": null,
@@ -31,13 +31,13 @@
"fetchSubmodules": false, "fetchSubmodules": false,
"leaveDotGit": false, "leaveDotGit": false,
"name": null, "name": null,
"rev": "010185535336bf94d815b900cd63bb0fc204e216", "rev": "fdca32a0d14ec80ad83a78a9ccb85592ca6cb9e1",
"sha256": "sha256-F+YMLW07YdZ4vUPt9h/gNKDU4GlXYYfSWjhY7M2RqRs=", "sha256": "sha256-LMHxSQJIv6QJJkO9W7sAkJujlwusFf9/Ct0SYJ6GyHQ=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "git", "type": "git",
"url": "https://github.com/tinted-theming/schemes.git" "url": "https://github.com/tinted-theming/schemes.git"
}, },
"version": "010185535336bf94d815b900cd63bb0fc204e216" "version": "fdca32a0d14ec80ad83a78a9ccb85592ca6cb9e1"
}, },
"claude-code-acp": { "claude-code-acp": {
"cargoLock": null, "cargoLock": null,
@@ -53,12 +53,12 @@
"name": null, "name": null,
"owner": "zed-industries", "owner": "zed-industries",
"repo": "claude-code-acp", "repo": "claude-code-acp",
"rev": "v0.60.0", "rev": "v0.69.0",
"sha256": "sha256-idyZcd8KD+bhAlKqqaTS6X8DcNjAzluln8it1V0vyUk=", "sha256": "sha256-x0k+5EhGx3y6Xd2rswTWMfYb0ZAYf5D+DaACr14uNMM=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "v0.60.0" "version": "v0.69.0"
}, },
"claude-sync": { "claude-sync": {
"cargoLock": null, "cargoLock": null,
@@ -74,12 +74,12 @@
"name": null, "name": null,
"owner": "tawanorg", "owner": "tawanorg",
"repo": "claude-sync", "repo": "claude-sync",
"rev": "v1.14.6", "rev": "v1.17.1",
"sha256": "sha256-i/V6Yf6f21KBriSpHG/9BZoUWTg5gHNisxQoUbuhBY0=", "sha256": "sha256-hsIski28Dr3k3+/0/+k6XySAeoQ6e5nTeLAGRtZ2kAQ=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "v1.14.6" "version": "v1.17.1"
}, },
"flightcore": { "flightcore": {
"cargoLock": null, "cargoLock": null,
@@ -116,21 +116,21 @@
"name": null, "name": null,
"owner": "Slush97", "owner": "Slush97",
"repo": "grimoire", "repo": "grimoire",
"rev": "v1.26.0", "rev": "v1.27.1",
"sha256": "sha256-E357W9BTeODo4ckuWs4HfGTFYAk7kh/7OmvpShArIFs=", "sha256": "sha256-vf0PU1NfDLv7MxQeJzggSEGlmUose3rdonJhxccuriQ=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "v1.26.0" "version": "v1.27.1"
}, },
"neovide": { "neovide": {
"cargoLock": { "cargoLock": {
"Cargo.lock": [ "Cargo.lock": [
"sha256-3Bi1GKVRu90eQa5e8bhgOW1T92INWbQNCARJKeBM6Y8=/Cargo.lock", "sha256-t_ayXFn2hXrSgAGZKn6FpZLbrMXekXL_+xhOXdsZvKU=/Cargo.lock",
{} {}
] ]
}, },
"date": "2026-07-18", "date": "2026-08-12",
"extract": null, "extract": null,
"name": "neovide", "name": "neovide",
"passthru": null, "passthru": null,
@@ -140,13 +140,13 @@
"fetchSubmodules": false, "fetchSubmodules": false,
"leaveDotGit": false, "leaveDotGit": false,
"name": null, "name": null,
"rev": "9477f53a9c5821bec8eb4488dee89842f96f5bd3", "rev": "ba8c41f423c9a8f0cb14ff19baa6f538c95e52bf",
"sha256": "sha256-3Bi1GKVRu90eQa5e8bhgOW1T92INWbQNCARJKeBM6Y8=", "sha256": "sha256-t/ayXFn2hXrSgAGZKn6FpZLbrMXekXL/+xhOXdsZvKU=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "git", "type": "git",
"url": "https://github.com/neovide/neovide.git" "url": "https://github.com/neovide/neovide.git"
}, },
"version": "9477f53a9c5821bec8eb4488dee89842f96f5bd3" "version": "ba8c41f423c9a8f0cb14ff19baa6f538c95e52bf"
}, },
"qebspil": { "qebspil": {
"cargoLock": null, "cargoLock": null,
@@ -182,12 +182,12 @@
"name": null, "name": null,
"owner": "radareorg", "owner": "radareorg",
"repo": "r2ghidra", "repo": "r2ghidra",
"rev": "6.1.8", "rev": "6.2.0",
"sha256": "sha256-f5iohbAUYG524KJqSvL3PQCFnLQc055Ta02G3CRSO9I=", "sha256": "sha256-+iHJpArFu1txVQ5chpg9/aBXDGoDAPlCRqRbgTSnCiQ=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "6.1.8" "version": "6.2.0"
}, },
"radare2-mcp": { "radare2-mcp": {
"cargoLock": null, "cargoLock": null,
@@ -203,12 +203,12 @@
"name": null, "name": null,
"owner": "radareorg", "owner": "radareorg",
"repo": "radare2-mcp", "repo": "radare2-mcp",
"rev": "1.8.4", "rev": "1.8.6",
"sha256": "sha256-EbkEbTATKxBOKWVqKkHp6h/hg4VUW0TsgGxN9TRI+pc=", "sha256": "sha256-btJfvsIC/xRfdQYJL0FYqUHsvP7zn/2EnUzLesWZPK4=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "1.8.4" "version": "1.8.6"
}, },
"slbounce": { "slbounce": {
"cargoLock": null, "cargoLock": null,
+28 -53
View File
@@ -8,52 +8,52 @@
{ {
ath-tools = { ath-tools = {
pname = "ath-tools"; pname = "ath-tools";
version = "54367caab6cb4e6cd21310c64feadbacc8c9b574"; version = "6df4dae3e2f5e4c2903f3cafd40996fc1b3639ce";
src = fetchgit { src = fetchgit {
url = "https://github.com/qca/qca-swiss-army-knife.git"; url = "https://github.com/qca/qca-swiss-army-knife.git";
rev = "54367caab6cb4e6cd21310c64feadbacc8c9b574"; rev = "6df4dae3e2f5e4c2903f3cafd40996fc1b3639ce";
fetchSubmodules = false; fetchSubmodules = false;
deepClone = false; deepClone = false;
leaveDotGit = false; leaveDotGit = false;
sparseCheckout = [ ]; sparseCheckout = [ ];
sha256 = "sha256-iH9RKyhGj1mIycK//8KJqbkO1ZbQaAdWgsQNd7AfWMc="; sha256 = "sha256-FFoV58YVK7KGBw/JPFWcvGkJOONrfKCvACprYCzIKeg=";
}; };
date = "2026-07-16"; date = "2026-08-05";
}; };
base24-schemes = { base24-schemes = {
pname = "base24-schemes"; pname = "base24-schemes";
version = "010185535336bf94d815b900cd63bb0fc204e216"; version = "fdca32a0d14ec80ad83a78a9ccb85592ca6cb9e1";
src = fetchgit { src = fetchgit {
url = "https://github.com/tinted-theming/schemes.git"; url = "https://github.com/tinted-theming/schemes.git";
rev = "010185535336bf94d815b900cd63bb0fc204e216"; rev = "fdca32a0d14ec80ad83a78a9ccb85592ca6cb9e1";
fetchSubmodules = false; fetchSubmodules = false;
deepClone = false; deepClone = false;
leaveDotGit = false; leaveDotGit = false;
sparseCheckout = [ ]; sparseCheckout = [ ];
sha256 = "sha256-F+YMLW07YdZ4vUPt9h/gNKDU4GlXYYfSWjhY7M2RqRs="; sha256 = "sha256-LMHxSQJIv6QJJkO9W7sAkJujlwusFf9/Ct0SYJ6GyHQ=";
}; };
date = "2026-07-14"; date = "2026-08-09";
}; };
claude-code-acp = { claude-code-acp = {
pname = "claude-code-acp"; pname = "claude-code-acp";
version = "v0.60.0"; version = "v0.69.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zed-industries"; owner = "zed-industries";
repo = "claude-code-acp"; repo = "claude-code-acp";
rev = "v0.60.0"; rev = "v0.69.0";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-idyZcd8KD+bhAlKqqaTS6X8DcNjAzluln8it1V0vyUk="; sha256 = "sha256-x0k+5EhGx3y6Xd2rswTWMfYb0ZAYf5D+DaACr14uNMM=";
}; };
}; };
claude-sync = { claude-sync = {
pname = "claude-sync"; pname = "claude-sync";
version = "v1.14.6"; version = "v1.17.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tawanorg"; owner = "tawanorg";
repo = "claude-sync"; repo = "claude-sync";
rev = "v1.14.6"; rev = "v1.17.1";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-i/V6Yf6f21KBriSpHG/9BZoUWTg5gHNisxQoUbuhBY0="; sha256 = "sha256-hsIski28Dr3k3+/0/+k6XySAeoQ6e5nTeLAGRtZ2kAQ=";
}; };
}; };
flightcore = { flightcore = {
@@ -69,80 +69,55 @@
}; };
grimoire = { grimoire = {
pname = "grimoire"; pname = "grimoire";
version = "v1.26.0"; version = "v1.27.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Slush97"; owner = "Slush97";
repo = "grimoire"; repo = "grimoire";
rev = "v1.26.0"; rev = "v1.27.1";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-E357W9BTeODo4ckuWs4HfGTFYAk7kh/7OmvpShArIFs="; sha256 = "sha256-vf0PU1NfDLv7MxQeJzggSEGlmUose3rdonJhxccuriQ=";
}; };
}; };
neovide = { neovide = {
pname = "neovide"; pname = "neovide";
version = "9477f53a9c5821bec8eb4488dee89842f96f5bd3"; version = "ba8c41f423c9a8f0cb14ff19baa6f538c95e52bf";
src = fetchgit { src = fetchgit {
url = "https://github.com/neovide/neovide.git"; url = "https://github.com/neovide/neovide.git";
rev = "9477f53a9c5821bec8eb4488dee89842f96f5bd3"; rev = "ba8c41f423c9a8f0cb14ff19baa6f538c95e52bf";
fetchSubmodules = false; fetchSubmodules = false;
deepClone = false; deepClone = false;
leaveDotGit = false; leaveDotGit = false;
sparseCheckout = [ ]; sparseCheckout = [ ];
sha256 = "sha256-3Bi1GKVRu90eQa5e8bhgOW1T92INWbQNCARJKeBM6Y8="; sha256 = "sha256-t/ayXFn2hXrSgAGZKn6FpZLbrMXekXL/+xhOXdsZvKU=";
}; };
cargoLock."Cargo.lock" = { cargoLock."Cargo.lock" = {
lockFile = ./. + "/sha256-3Bi1GKVRu90eQa5e8bhgOW1T92INWbQNCARJKeBM6Y8=/Cargo.lock"; lockFile = ./. + "/sha256-t_ayXFn2hXrSgAGZKn6FpZLbrMXekXL_+xhOXdsZvKU=/Cargo.lock";
outputHashes = { outputHashes = {
}; };
}; };
date = "2026-07-18"; date = "2026-08-12";
};
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 = { radare2-ghidra = {
pname = "radare2-ghidra"; pname = "radare2-ghidra";
version = "6.1.8"; version = "6.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "radareorg"; owner = "radareorg";
repo = "r2ghidra"; repo = "r2ghidra";
rev = "6.1.8"; rev = "6.2.0";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-f5iohbAUYG524KJqSvL3PQCFnLQc055Ta02G3CRSO9I="; sha256 = "sha256-+iHJpArFu1txVQ5chpg9/aBXDGoDAPlCRqRbgTSnCiQ=";
}; };
}; };
radare2-mcp = { radare2-mcp = {
pname = "radare2-mcp"; pname = "radare2-mcp";
version = "1.8.4"; version = "1.8.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "radareorg"; owner = "radareorg";
repo = "radare2-mcp"; repo = "radare2-mcp";
rev = "1.8.4"; rev = "1.8.6";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-EbkEbTATKxBOKWVqKkHp6h/hg4VUW0TsgGxN9TRI+pc="; sha256 = "sha256-btJfvsIC/xRfdQYJL0FYqUHsvP7zn/2EnUzLesWZPK4=";
};
};
slbounce = {
pname = "slbounce";
version = "v5";
src = fetchFromGitHub {
owner = "TravMurav";
repo = "slbounce";
rev = "v5";
fetchSubmodules = false;
sha256 = "sha256-w+0SKR0A/hcFU6iFEOgyG+vWwgAWF8h9D0/X7GSFm7w=";
}; };
}; };
vpkmerge = { vpkmerge = {
-9
View File
@@ -18,19 +18,10 @@ fetch.github = "radareorg/radare2-mcp"
src.github = "radareorg/r2ghidra" src.github = "radareorg/r2ghidra"
fetch.github = "radareorg/r2ghidra" fetch.github = "radareorg/r2ghidra"
[slbounce]
src.github = "TravMurav/slbounce"
fetch.github = "TravMurav/slbounce"
[base24-schemes] [base24-schemes]
src.git = "https://github.com/tinted-theming/schemes.git" src.git = "https://github.com/tinted-theming/schemes.git"
fetch.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] [ath-tools]
src.git = "https://github.com/qca/qca-swiss-army-knife.git" src.git = "https://github.com/qca/qca-swiss-army-knife.git"
fetch.git = "https://github.com/qca/qca-swiss-army-knife.git" fetch.git = "https://github.com/qca/qca-swiss-army-knife.git"
+89 -90
View File
@@ -15,9 +15,8 @@
callPackage, callPackage,
makeDesktopItem, makeDesktopItem,
copyDesktopItems, copyDesktopItems,
}: }: let
let sources = callPackage ../../../../_sources/generated.nix {};
sources = callPackage ../../../../_sources/generated.nix { };
src = sources.grimoire.src; src = sources.grimoire.src;
version = src.rev; version = src.rev;
@@ -27,14 +26,14 @@ let
owner = "Slush97"; owner = "Slush97";
repo = "grimoire-social"; repo = "grimoire-social";
rev = "main"; rev = "main";
hash = "sha256-f+wUZOR7dqigxd/IZtay1BrLS5rcSnaDage3NXxqsPE="; hash = "sha256-AR2rTNDuge19t+VAqL/I6dmB8f5niIqINmNnRL70k94=";
}; };
pnpmDeps = pnpm.fetchDeps { pnpmDeps = pnpm.fetchDeps {
pname = "grimoire"; pname = "grimoire";
inherit version src; inherit version src;
fetcherVersion = 4; fetcherVersion = 4;
hash = "sha256-Mqvvemc3oDCiuY/UnDOc73P+dLqMEFnwQotodVhrPao="; hash = "sha256-7Lh4Y3sr50tIO7vsVwfJNC2zKyiqMz6EO81egS/DC2k=";
# hash = lib.fakeHash; # hash = lib.fakeHash;
}; };
@@ -42,107 +41,107 @@ let
name = "grimoire"; name = "grimoire";
exec = "grimoire %u"; exec = "grimoire %u";
desktopName = "Grimoire"; desktopName = "Grimoire";
categories = [ "Utility" ]; categories = ["Utility"];
mimeTypes = [ "x-scheme-handler/grimoire" ]; mimeTypes = ["x-scheme-handler/grimoire"];
}; };
in in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "grimoire"; pname = "grimoire";
inherit version src; inherit version src;
nativeBuildInputs = [ nativeBuildInputs = [
nodejs_22 nodejs_22
pnpm pnpm
pnpm.configHook pnpm.configHook
python3 python3
gcc gcc
gnumake gnumake
pkg-config pkg-config
makeWrapper makeWrapper
electron_41 electron_41
copyDesktopItems copyDesktopItems
]; ];
desktopItems = [ desktopItem ]; desktopItems = [desktopItem];
buildInputs = [ buildInputs = [
sqlite sqlite
]; ];
inherit pnpmDeps; inherit pnpmDeps;
env = { env = {
GRIMOIRE_SOCIAL_BASE_URL = "https://grimoire-social.slusheliott.workers.dev"; GRIMOIRE_SOCIAL_BASE_URL = "https://grimoire-social.slusheliott.workers.dev";
# electron-builder must not try to fetch an Electron binary over the # electron-builder must not try to fetch an Electron binary over the
# network; we hand it the Nix one via --config.electronDist below. # network; we hand it the Nix one via --config.electronDist below.
ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
}; };
postPatch = '' postPatch = ''
cp -r ${grimoire-social-src} ../grimoire-social cp -r ${grimoire-social-src} ../grimoire-social
chmod -R u+w ../grimoire-social chmod -R u+w ../grimoire-social
mkdir -p resources/vpkmerge mkdir -p resources/vpkmerge
cp ${vpkmerge}/bin/vpkmerge resources/vpkmerge/vpkmerge-linux-x86_64 cp ${vpkmerge}/bin/vpkmerge resources/vpkmerge/vpkmerge-linux-x86_64
chmod +x resources/vpkmerge/vpkmerge-linux-x86_64 chmod +x resources/vpkmerge/vpkmerge-linux-x86_64
''; '';
buildPhase = '' buildPhase = ''
runHook preBuild runHook preBuild
mkdir -p ../grimoire-social/node_modules mkdir -p ../grimoire-social/node_modules
ln -sfn "$(realpath node_modules/zod)" ../grimoire-social/node_modules/zod ln -sfn "$(realpath node_modules/zod)" ../grimoire-social/node_modules/zod
# Rebuild the better-sqlite3 native addon against the Electron ABI. We do # Rebuild the better-sqlite3 native addon against the Electron ABI. We do
# this ourselves (and disable electron-builder's own rebuild below) so no # this ourselves (and disable electron-builder's own rebuild below) so no
# network fetch of Electron headers is needed inside the sandbox. # network fetch of Electron headers is needed inside the sandbox.
( (
cd node_modules/better-sqlite3 cd node_modules/better-sqlite3
patch -p1 < ${./patches/better-sqlite3-thistogetthis.patch} patch -p1 < ${./patches/better-sqlite3-thistogetthis.patch}
HOME="$TMPDIR" node \ HOME="$TMPDIR" node \
"${nodejs_22}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" \ "${nodejs_22}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" \
rebuild \ rebuild \
--nodedir="${electron_41.headers}" --nodedir="${electron_41.headers}"
) )
# Package the app the same way upstream CI does (release.yml): # Package the app the same way upstream CI does (release.yml):
# `electron-vite build && electron-builder`. We stop at the unpacked # `electron-vite build && electron-builder`. We stop at the unpacked
# `--dir` output instead of building AppImage/deb installers, then wrap # `--dir` output instead of building AppImage/deb installers, then wrap
# the Nix Electron around the produced app.asar. Building through # the Nix Electron around the produced app.asar. Building through
# electron-builder (rather than launching Electron on the raw dist/) # electron-builder (rather than launching Electron on the raw dist/)
# makes `app.isPackaged` true, which is what disables the dev-only # makes `app.isPackaged` true, which is what disables the dev-only
# DevTools auto-open and the dev vpkmerge lookup path. # DevTools auto-open and the dev vpkmerge lookup path.
export HOME="$TMPDIR" export HOME="$TMPDIR"
pnpm exec electron-vite build pnpm exec electron-vite build
pnpm exec electron-builder --linux dir \ pnpm exec electron-builder --linux dir \
--config.npmRebuild=false \ --config.npmRebuild=false \
--config.electronDist=${electron_41.dist} \ --config.electronDist=${electron_41.dist} \
--config.electronVersion=${electron_41.version} --config.electronVersion=${electron_41.version}
runHook postBuild runHook postBuild
''; '';
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p $out/lib/grimoire mkdir -p $out/lib/grimoire
# electron-builder emits the packaged app (app.asar, app.asar.unpacked, # electron-builder emits the packaged app (app.asar, app.asar.unpacked,
# and extraResources such as vpkmerge) under release/linux-unpacked/resources. # and extraResources such as vpkmerge) under release/linux-unpacked/resources.
cp -r release/linux-unpacked/resources $out/lib/grimoire/resources cp -r release/linux-unpacked/resources $out/lib/grimoire/resources
# Launch the Nix Electron against the packaged asar. process.resourcesPath # Launch the Nix Electron against the packaged asar. process.resourcesPath
# resolves to the directory holding app.asar, so the bundled vpkmerge at # resolves to the directory holding app.asar, so the bundled vpkmerge at
# resources/vpkmerge/ is found at runtime. # resources/vpkmerge/ is found at runtime.
mkdir -p $out/bin mkdir -p $out/bin
makeWrapper ${electron_41}/bin/electron $out/bin/grimoire \ makeWrapper ${electron_41}/bin/electron $out/bin/grimoire \
--add-flags "$out/lib/grimoire/resources/app.asar" \ --add-flags "$out/lib/grimoire/resources/app.asar" \
--set NODE_ENV production --set NODE_ENV production
runHook postInstall runHook postInstall
''; '';
meta = { meta = {
description = "Grimoire Electron-based mod manager"; description = "Grimoire Electron-based mod manager";
platforms = [ "x86_64-linux" ]; platforms = ["x86_64-linux"];
}; };
} }
+1 -1
View File
@@ -33,7 +33,7 @@
in in
rustPlatform.buildRustPackage.override {stdenv = clangStdenv;} (finalAttrs: { rustPlatform.buildRustPackage.override {stdenv = clangStdenv;} (finalAttrs: {
pname = "neovide"; pname = "neovide";
version = src.rev; version = "nightly-${src.rev}";
src = src; src = src;
cargoLock = sources.neovide.cargoLock."Cargo.lock"; cargoLock = sources.neovide.cargoLock."Cargo.lock";
-63
View File
@@ -1,63 +0,0 @@
{
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";
};
}
-99
View File
@@ -1,99 +0,0 @@
{
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
@@ -1,96 +0,0 @@
{
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"
];
};
}
@@ -1,62 +0,0 @@
{
msitools,
tree,
fetchurl,
lib,
stdenv,
...
}:
stdenv.mkDerivation (
let
fw_files = [
"adsp_dtbs.elf"
"adspr.jsn"
"adsps.jsn"
"adspua.jsn"
"battmgr.jsn"
"cdsp_dtbs.elf"
"cdspr.jsn"
"qcadsp8380.mbn"
"qccdsp8380.mbn"
"qcdxkmsuc8380.mbn"
"bdwlan01.e0b"
];
in
rec {
name = "x1e80100-firmware";
version = "26100_26.053.36539.0";
src = fetchurl {
# 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-ZrbhrOfl8BvFks1MmueKowu7DgSrV0kc0D7CqqbhIps=";
};
nativeBuildInputs = [
msitools
tree
];
unpackPhase = ''
msiextract -C . "$src"
'';
buildPhase = ''
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)
if [[ -n "$fw_path" ]]; then
cp -v "$fw_path" "$out/lib/firmware/qcom/x1e80100/microsoft/Romulus/"
else
echo "Error: $file not found!"
exit 1
fi
done
cp "$out/lib/firmware/qcom/x1e80100/microsoft/Romulus/qcdxkmsuc8380.mbn" "$out/lib/firmware/qcom/x1e80100/microsoft/qcdxkmsuc8380.mbn"
'';
meta = {
platforms = [ "aarch64-linux" ];
};
}
)
@@ -1,12 +0,0 @@
--- 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"
},
@@ -1,11 +0,0 @@
{ 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
'';
})