1
0
forked from nikkuss/pkgs

7 Commits

Author SHA1 Message Date
doloro c7c53eafae fix: uses rev from nvfetcher 2026-05-30 12:45:54 +01:00
doloro 8d618dff18 fix: bumped electron on grimoire 2026-05-30 12:40:33 +01:00
doloro cccc55ef78 lint: removed some comments 2026-05-29 14:35:07 +01:00
doloro 2917e84200 fix: vpkmerge and grimorie are using nvfetch now 2026-05-29 14:30:40 +01:00
doloro cb70ca0e90 add: vpkmerge (used by grimorie) 2026-05-29 14:30:17 +01:00
doloro c2e51153c5 lint 2026-05-29 12:02:03 +01:00
doloro 6a2f59785b add: grimorie (deadlock mod manager) 2026-05-29 11:47:53 +01:00
6 changed files with 5414 additions and 0 deletions
+47
View File
@@ -81,6 +81,27 @@
}, },
"version": "v3.2.0" "version": "v3.2.0"
}, },
"grimoire": {
"cargoLock": null,
"date": null,
"extract": null,
"name": "grimoire",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "Slush97",
"repo": "grimoire",
"rev": "v1.14.2",
"sha256": "sha256-iRZF06kjmJJJOeiUpWm8T2REO/FSdpwc73dOXu6Xs9w=",
"sparseCheckout": [],
"type": "github"
},
"version": "v1.14.2"
},
"neovide": { "neovide": {
"cargoLock": { "cargoLock": {
"Cargo.lock": [ "Cargo.lock": [
@@ -188,5 +209,31 @@
"type": "github" "type": "github"
}, },
"version": "v5" "version": "v5"
},
"vpkmerge": {
"cargoLock": {
"Cargo.lock": [
"sha256-CaNyzN8kRtzKwIUAe1or6ZhcaZNeGCKNCkRUTK2f_H8=/Cargo.lock",
{}
]
},
"date": null,
"extract": null,
"name": "vpkmerge",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "Slush97",
"repo": "vpkmerge",
"rev": "v0.7.0",
"sha256": "sha256-CaNyzN8kRtzKwIUAe1or6ZhcaZNeGCKNCkRUTK2f/H8=",
"sparseCheckout": [],
"type": "github"
},
"version": "v0.7.0"
} }
} }
+28
View File
@@ -56,6 +56,17 @@
sha256 = "sha256-MFnW9cXFzqmdtC31r8cRcihV3NjGAC6+2/DnNVMheCI="; sha256 = "sha256-MFnW9cXFzqmdtC31r8cRcihV3NjGAC6+2/DnNVMheCI=";
}; };
}; };
grimoire = {
pname = "grimoire";
version = "v1.14.2";
src = fetchFromGitHub {
owner = "Slush97";
repo = "grimoire";
rev = "v1.14.2";
fetchSubmodules = false;
sha256 = "sha256-iRZF06kjmJJJOeiUpWm8T2REO/FSdpwc73dOXu6Xs9w=";
};
};
neovide = { neovide = {
pname = "neovide"; pname = "neovide";
version = "8c48a699e201aa5559227a96d879b2f57192b354"; version = "8c48a699e201aa5559227a96d879b2f57192b354";
@@ -123,4 +134,21 @@
sha256 = "sha256-w+0SKR0A/hcFU6iFEOgyG+vWwgAWF8h9D0/X7GSFm7w="; sha256 = "sha256-w+0SKR0A/hcFU6iFEOgyG+vWwgAWF8h9D0/X7GSFm7w=";
}; };
}; };
vpkmerge = {
pname = "vpkmerge";
version = "v0.7.0";
src = fetchFromGitHub {
owner = "Slush97";
repo = "vpkmerge";
rev = "v0.7.0";
fetchSubmodules = false;
sha256 = "sha256-CaNyzN8kRtzKwIUAe1or6ZhcaZNeGCKNCkRUTK2f/H8=";
};
cargoLock."Cargo.lock" = {
lockFile = ./. + "/sha256-CaNyzN8kRtzKwIUAe1or6ZhcaZNeGCKNCkRUTK2f_H8=/Cargo.lock";
outputHashes = {
};
};
};
} }
File diff suppressed because it is too large Load Diff
+9
View File
@@ -36,3 +36,12 @@ src.git = "https://github.com/neovide/neovide.git"
src.git_branch = "nightly" src.git_branch = "nightly"
fetch.git = "https://github.com/neovide/neovide.git" fetch.git = "https://github.com/neovide/neovide.git"
cargo_lock = ["Cargo.lock"] 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"]
+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-CrVc0gO0CtesGHbGxnrFeDR3NahyaxGSI3lMHtbGfcM=";
};
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"];
};
}
+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];
})