1
0
forked from nikkuss/pkgs

14 Commits

Author SHA1 Message Date
doloro be39398615 fix: hash 2026-05-30 12:54:18 +01:00
doloro c8274e668e lint: removed some comments 2026-05-30 12:48:07 +01:00
doloro 4a59b86a47 fix: vpkmerge and grimorie are using nvfetch now 2026-05-30 12:48:07 +01:00
nikkuss 8969f1cb5c bump nixpkgs 2026-05-30 12:48:07 +01:00
nikkuss 67ca4c6edb bump firwmware version 2026-05-30 12:48:07 +01:00
nikkuss 888d1338cd refactor(flightcore): consume source from nvfetcher generated.nix (#14)
Reviewed-on: nikkuss/pkgs#14
Co-authored-by: Nikkuss <Scuggo@pm.me>
Co-committed-by: Nikkuss <Scuggo@pm.me>
2026-05-30 12:48:07 +01:00
nikkuss 9927693901 bump firwmware version (#13)
Reviewed-on: nikkuss/pkgs#13
Co-authored-by: Nikkuss <Scuggo@pm.me>
Co-committed-by: Nikkuss <Scuggo@pm.me>
2026-05-30 12:48:06 +01:00
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
7 changed files with 130 additions and 217 deletions
+3 -24
View File
@@ -60,27 +60,6 @@
}, },
"version": "v0.35.0" "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": { "flightcore": {
"cargoLock": null, "cargoLock": null,
"date": null, "date": null,
@@ -116,12 +95,12 @@
"name": null, "name": null,
"owner": "Slush97", "owner": "Slush97",
"repo": "grimoire", "repo": "grimoire",
"rev": "v1.23.0", "rev": "v1.14.2",
"sha256": "sha256-GY1J/guggCc4fyEQKUoEHmRC8hMcSg6gBKU0maEYSPE=", "sha256": "sha256-iRZF06kjmJJJOeiUpWm8T2REO/FSdpwc73dOXu6Xs9w=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "v1.23.0" "version": "v1.14.2"
}, },
"neovide": { "neovide": {
"cargoLock": { "cargoLock": {
+3 -14
View File
@@ -45,17 +45,6 @@
sha256 = "sha256-xb6D4J+EmbK5XCrZCyv1LWYdfmaNDcw7Hk4nHg76uAo="; 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 = { flightcore = {
pname = "flightcore"; pname = "flightcore";
version = "v3.2.0"; version = "v3.2.0";
@@ -69,13 +58,13 @@
}; };
grimoire = { grimoire = {
pname = "grimoire"; pname = "grimoire";
version = "v1.23.0"; version = "v1.14.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Slush97"; owner = "Slush97";
repo = "grimoire"; repo = "grimoire";
rev = "v1.23.0"; rev = "v1.14.2";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-GY1J/guggCc4fyEQKUoEHmRC8hMcSg6gBKU0maEYSPE="; sha256 = "sha256-iRZF06kjmJJJOeiUpWm8T2REO/FSdpwc73dOXu6Xs9w=";
}; };
}; };
neovide = { neovide = {
-4
View File
@@ -2,10 +2,6 @@
src.github = "zed-industries/claude-code-acp" src.github = "zed-industries/claude-code-acp"
fetch.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] [flightcore]
src.github = "R2NorthstarTools/FlightCore" src.github = "R2NorthstarTools/FlightCore"
fetch.github = "R2NorthstarTools/FlightCore" fetch.github = "R2NorthstarTools/FlightCore"
-28
View File
@@ -1,28 +0,0 @@
{
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;
};
})
-145
View File
@@ -1,145 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
nodejs_22,
pnpm,
python3,
gcc,
gnumake,
pkg-config,
makeWrapper,
electron_40,
vpkmerge,
sqlite,
callPackage,
makeDesktopItem,
copyDesktopItems,
}: 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-X7KLUag9HPHVit0l/tA3BxQZ2/Cj0A5KiG4Oevx2268=";
};
desktopItem = makeDesktopItem {
name = "grimoire";
exec = "grimoire %u";
desktopName = "Grimoire";
categories = ["Utility"];
mimeTypes = ["x-scheme-handler/grimoire"];
};
in
stdenv.mkDerivation {
pname = "grimoire";
inherit version src;
nativeBuildInputs = [
nodejs_22
pnpm
pnpm.configHook
python3
gcc
gnumake
pkg-config
makeWrapper
electron_40
copyDesktopItems
];
desktopItems = [desktopItem];
buildInputs = [
sqlite
];
inherit pnpmDeps;
env = {
GRIMOIRE_SOCIAL_BASE_URL = "https://grimoire-social.slusheliott.workers.dev";
# electron-builder must not try to fetch an Electron binary over the
# network; we hand it the Nix one via --config.electronDist below.
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
};
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
# Rebuild the better-sqlite3 native addon against the Electron ABI. We do
# this ourselves (and disable electron-builder's own rebuild below) so no
# network fetch of Electron headers is needed inside the sandbox.
(
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}"
)
# Package the app the same way upstream CI does (release.yml):
# `electron-vite build && electron-builder`. We stop at the unpacked
# `--dir` output instead of building AppImage/deb installers, then wrap
# the Nix Electron around the produced app.asar. Building through
# electron-builder (rather than launching Electron on the raw dist/)
# makes `app.isPackaged` true, which is what disables the dev-only
# DevTools auto-open and the dev vpkmerge lookup path.
export HOME="$TMPDIR"
pnpm exec electron-vite build
pnpm exec electron-builder --linux dir \
--config.npmRebuild=false \
--config.electronDist=${electron_40.dist} \
--config.electronVersion=${electron_40.version}
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/lib/grimoire
# electron-builder emits the packaged app (app.asar, app.asar.unpacked,
# and extraResources such as vpkmerge) under release/linux-unpacked/resources.
cp -r release/linux-unpacked/resources $out/lib/grimoire/resources
# Launch the Nix Electron against the packaged asar. process.resourcesPath
# resolves to the directory holding app.asar, so the bundled vpkmerge at
# resources/vpkmerge/ is found at runtime.
mkdir -p $out/bin
makeWrapper ${electron_40}/bin/electron $out/bin/grimoire \
--add-flags "$out/lib/grimoire/resources/app.asar" \
--set NODE_ENV production
runHook postInstall
'';
meta = {
description = "Grimoire Electron-based mod manager";
platforms = ["x86_64-linux"];
};
}
+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"];
};
}
@@ -27,11 +27,11 @@ stdenv.mkDerivation (
rec { rec {
name = "x1e80100-firmware"; name = "x1e80100-firmware";
version = "26100_26.053.36539.0"; version = "26100_26.033.32430.0";
src = fetchurl { src = fetchurl {
# https://www.microsoft.com/en-us/download/details.aspx?id=106120 # https://www.microsoft.com/en-us/download/details.aspx?id=106120
url = "https://download.microsoft.com/download/b7ca2c3f-d320-4795-be0f-529a0117abb4/SurfaceLaptop7_ARM_Win11_${version}.msi"; url = "https://download.microsoft.com/download/b7ca2c3f-d320-4795-be0f-529a0117abb4/SurfaceLaptop7_ARM_Win11_${version}.msi";
hash = "sha256-ZrbhrOfl8BvFks1MmueKowu7DgSrV0kc0D7CqqbhIps="; hash = "sha256-KyHgMGk/oytVctE5AhdXer+x7mJk2uP8Vgc7v78wSRc=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
msitools msitools