1
0
forked from nikkuss/pkgs

4 Commits

Author SHA1 Message Date
doloro 3588b81d6b fix(grimoire): not packaged shittly 2026-07-13 14:14:48 +01:00
doloro 1082e52e6b fix(grimoire): dev tool popup 2026-07-13 13:58:34 +01:00
doloro d1c6469384 bump(grimoire): 1.23.0 (#20)
![image.png](/attachments/ad8e7979-c93b-4def-8346-832f3832d3ae)

Reviewed-on: nikkuss/pkgs#20
Co-authored-by: Doloro1978 <doloroo@proton.me>
Co-committed-by: Doloro1978 <doloroo@proton.me>
2026-07-13 16:23:52 +04:00
nikkuss 6331a7c8ec bump firmware 2026-07-01 21:59:45 +04:00
9 changed files with 120 additions and 2464 deletions
+3 -24
View File
@@ -116,12 +116,12 @@
"name": null, "name": null,
"owner": "Slush97", "owner": "Slush97",
"repo": "grimoire", "repo": "grimoire",
"rev": "v1.14.2", "rev": "v1.23.0",
"sha256": "sha256-iRZF06kjmJJJOeiUpWm8T2REO/FSdpwc73dOXu6Xs9w=", "sha256": "sha256-GY1J/guggCc4fyEQKUoEHmRC8hMcSg6gBKU0maEYSPE=",
"sparseCheckout": [], "sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "v1.14.2" "version": "v1.23.0"
}, },
"neovide": { "neovide": {
"cargoLock": { "cargoLock": {
@@ -148,27 +148,6 @@
}, },
"version": "8c48a699e201aa5559227a96d879b2f57192b354" "version": "8c48a699e201aa5559227a96d879b2f57192b354"
}, },
"oh-my-pi": {
"cargoLock": null,
"date": null,
"extract": null,
"name": "oh-my-pi",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "can1357",
"repo": "oh-my-pi",
"rev": "v15.10.1",
"sha256": "sha256-SPVour0OyZmJ+G+p7SFAjB0vdTWuvUAQH82InOvSVZc=",
"sparseCheckout": [],
"type": "github"
},
"version": "v15.10.1"
},
"qebspil": { "qebspil": {
"cargoLock": null, "cargoLock": null,
"date": "2025-10-25", "date": "2025-10-25",
+3 -14
View File
@@ -69,13 +69,13 @@
}; };
grimoire = { grimoire = {
pname = "grimoire"; pname = "grimoire";
version = "v1.14.2"; version = "v1.23.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Slush97"; owner = "Slush97";
repo = "grimoire"; repo = "grimoire";
rev = "v1.14.2"; rev = "v1.23.0";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-iRZF06kjmJJJOeiUpWm8T2REO/FSdpwc73dOXu6Xs9w="; sha256 = "sha256-GY1J/guggCc4fyEQKUoEHmRC8hMcSg6gBKU0maEYSPE=";
}; };
}; };
neovide = { neovide = {
@@ -98,17 +98,6 @@
}; };
date = "2026-05-16"; date = "2026-05-16";
}; };
oh-my-pi = {
pname = "oh-my-pi";
version = "v15.10.1";
src = fetchFromGitHub {
owner = "can1357";
repo = "oh-my-pi";
rev = "v15.10.1";
fetchSubmodules = false;
sha256 = "sha256-SPVour0OyZmJ+G+p7SFAjB0vdTWuvUAQH82InOvSVZc=";
};
};
qebspil = { qebspil = {
pname = "qebspil"; pname = "qebspil";
version = "8e4d9e676a3b3afe136cda9b953a2139ff1a32d0"; version = "8e4d9e676a3b3afe136cda9b953a2139ff1a32d0";
Generated
+1 -82
View File
@@ -1,52 +1,8 @@
{ {
"nodes": { "nodes": {
"bun2nix": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1778446047,
"narHash": "sha256-oQvcadh2BCkrog+SGrG6YffKJrveYpjj3TdQJWaKhaM=",
"owner": "nix-community",
"repo": "bun2nix",
"rev": "f2bc12af1a6369648aac41041ceeaa0b866599c6",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "bun2nix",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"bun2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1777988971,
"narHash": "sha256-qIoWPDs+0/8JecyYgE3gpKQxW/4bLW/gp45vow9ioCQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "0678d8986be1661af6bb555f3489f2fdfc31f6ff",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -80,7 +36,6 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"bun2nix": "bun2nix",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
} }
@@ -99,42 +54,6 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"bun2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1775636079,
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",
+23 -22
View File
@@ -4,49 +4,48 @@
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
# Added for oh-my-pi
bun2nix.url = "github:nix-community/bun2nix";
bun2nix.inputs.nixpkgs.follows = "nixpkgs";
}; };
outputs = { outputs =
{
self, self,
nixpkgs, nixpkgs,
bun2nix,
flake-utils, flake-utils,
} @ inputs: ( }@inputs:
nixpkgs.lib.recursiveUpdate (nixpkgs.lib.recursiveUpdate
( (flake-utils.lib.eachSystem
flake-utils.lib.eachSystem
[ [
"x86_64-linux" "x86_64-linux"
"aarch64-linux" "aarch64-linux"
] ]
( (
system: let system:
let
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system; inherit system;
overlays = [bun2nix.overlays.default];
config = { config = {
allowUnfree = true; 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);
recursePackage = name: pkg: let recursePackage =
name: pkg:
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 !isSameSystem if !isSameSystem then
then [] [ ]
else if isDrv else if isDrv then
then [ [
(lib.nameValuePair name pkg) (lib.nameValuePair name pkg)
] ]
else if isAttrs else if isAttrs then
then lib.mapAttrsToList (nameNew: subPkg: recursePackage "${name}-${nameNew}" subPkg) pkg lib.mapAttrsToList (nameNew: subPkg: recursePackage "${name}-${nameNew}" subPkg) pkg
else []; else
[ ];
flatPackages = builtins.listToAttrs ( flatPackages = builtins.listToAttrs (
lib.lists.flatten (lib.mapAttrsToList (name: pkg: recursePackage name pkg) scope) lib.lists.flatten (lib.mapAttrsToList (name: pkg: recursePackage name pkg) scope)
); );
@@ -70,19 +69,21 @@
# 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
{
overlays = final: prev: flatPackages; overlays = final: prev: flatPackages;
packages = flatPackages; packages = flatPackages;
checks = lib.mapAttrs' (n: lib.nameValuePair "package-${n}") workingPackages; checks = lib.mapAttrs' (n: lib.nameValuePair "package-${n}") workingPackages;
devShells.default = pkgs.mkShellNoCC { devShells.default = pkgs.mkShellNoCC {
packages = [pkgs.nvfetcher]; packages = [ pkgs.nvfetcher ];
}; };
} }
) )
) )
{ {
overlays = { overlays = {
default = final: prev: ((import "${nixpkgs}/pkgs/top-level/by-name-overlay.nix" ./pkgs/by-name) final prev); default =
final: prev: ((import "${nixpkgs}/pkgs/top-level/by-name-overlay.nix" ./pkgs/by-name) final prev);
}; };
} }
); );
-4
View File
@@ -49,7 +49,3 @@ fetch.github = "Slush97/grimoire"
src.github = "Slush97/vpkmerge" src.github = "Slush97/vpkmerge"
fetch.github = "Slush97/vpkmerge" fetch.github = "Slush97/vpkmerge"
cargo_lock = ["Cargo.lock"] cargo_lock = ["Cargo.lock"]
[oh-my-pi]
src.github = "can1357/oh-my-pi"
fetch.github = "can1357/oh-my-pi"
@@ -2,7 +2,6 @@
lib, lib,
stdenv, stdenv,
fetchFromGitHub, fetchFromGitHub,
fetchurl,
nodejs_22, nodejs_22,
pnpm, pnpm,
python3, python3,
@@ -34,12 +33,12 @@
pname = "grimoire"; pname = "grimoire";
inherit version src; inherit version src;
fetcherVersion = 3; fetcherVersion = 3;
hash = "sha256-aSjELhEyEbQ7qT8fI5VfIDOHrsgHHL18Dsphm6sA8J4="; hash = "sha256-X7KLUag9HPHVit0l/tA3BxQZ2/Cj0A5KiG4Oevx2268=";
}; };
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
name = "grimoire"; name = "grimoire";
exec = "/bin/grimoire %u"; exec = "grimoire %u";
desktopName = "Grimoire"; desktopName = "Grimoire";
categories = ["Utility"]; categories = ["Utility"];
mimeTypes = ["x-scheme-handler/grimoire"]; mimeTypes = ["x-scheme-handler/grimoire"];
@@ -70,7 +69,12 @@ in
inherit pnpmDeps; inherit pnpmDeps;
env.GRIMOIRE_SOCIAL_BASE_URL = "https://grimoire-social.slusheliott.workers.dev"; 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 = '' postPatch = ''
cp -r ${grimoire-social-src} ../grimoire-social cp -r ${grimoire-social-src} ../grimoire-social
@@ -87,6 +91,9 @@ in
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
# 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 cd node_modules/better-sqlite3
HOME="$TMPDIR" node \ HOME="$TMPDIR" node \
@@ -95,7 +102,19 @@ in
--nodedir="${electron_40.headers}" --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-vite build
pnpm exec electron-builder --linux dir \
--config.npmRebuild=false \
--config.electronDist=${electron_40.dist} \
--config.electronVersion=${electron_40.version}
runHook postBuild runHook postBuild
''; '';
@@ -104,25 +123,16 @@ in
runHook preInstall runHook preInstall
mkdir -p $out/lib/grimoire mkdir -p $out/lib/grimoire
cp -r dist $out/lib/grimoire/dist # electron-builder emits the packaged app (app.asar, app.asar.unpacked,
# and extraResources such as vpkmerge) under release/linux-unpacked/resources.
mkdir -p $out/lib/grimoire/resources cp -r release/linux-unpacked/resources $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
# 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 mkdir -p $out/bin
makeWrapper ${electron_40}/bin/electron $out/bin/grimoire \ makeWrapper ${electron_40}/bin/electron $out/bin/grimoire \
--add-flags "$out/lib/grimoire" \ --add-flags "$out/lib/grimoire/resources/app.asar" \
--set ELECTRON_RESOURCES_PATH "$out/lib/grimoire" \
--set NODE_ENV production --set NODE_ENV production
runHook postInstall runHook postInstall
File diff suppressed because it is too large Load Diff
-38
View File
@@ -1,38 +0,0 @@
{
lib,
callPackage,
stdenv,
bun2nix,
}: let
sources = callPackage ../../../../_sources/generated.nix {};
in
stdenv.mkDerivation {
pname = "oh-my-pi";
version = "unstable-${sources.oh-my-pi.version}";
inherit (sources.oh-my-pi) src;
nativeBuildInputs = [
bun2nix.hook
];
bunDeps = bun2nix.fetchBunDeps {
bunNix = ./bun.nix;
};
preBuild = ''
'';
installPhase = ''
runHook preInstall
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/can1357/oh-my-pi";
license = licenses.mit;
platforms = ["aarch64-linux" "x86_64-linux"];
mainProgram = "omp";
};
}
@@ -27,11 +27,11 @@ stdenv.mkDerivation (
rec { rec {
name = "x1e80100-firmware"; name = "x1e80100-firmware";
version = "26100_26.033.32430.0"; version = "26100_26.053.36539.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-KyHgMGk/oytVctE5AhdXer+x7mJk2uP8Vgc7v78wSRc="; hash = "sha256-ZrbhrOfl8BvFks1MmueKowu7DgSrV0kc0D7CqqbhIps=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
msitools msitools