1
0
forked from nikkuss/pkgs

11 Commits

Author SHA1 Message Date
doloro 3525cbfbe6 mreow 2026-06-07 18:57:14 +01:00
doloro 80985b89d4 meow 2026-06-07 18:36:02 +01:00
doloro e23169c699 add(flake.nix): bun2nix 2026-06-07 18:21:56 +01:00
doloro 5ae28029ef feat(grimoire): desktop file (#19)
Reviewed-on: nikkuss/pkgs#19
Co-authored-by: Doloro1978 <doloroo@proton.me>
Co-committed-by: Doloro1978 <doloroo@proton.me>
2026-06-05 12:46:04 +04:00
nikkuss 142a4e46cb claude-sync (#17)
Reviewed-on: nikkuss/pkgs#17
Co-authored-by: Nikkuss <Scuggo@pm.me>
Co-committed-by: Nikkuss <Scuggo@pm.me>
2026-06-01 03:10:25 +04:00
doloro af49f7b7c7 bump: electron 40 (#16)
Reviewed-on: nikkuss/pkgs#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 2026-05-29 18:18:03 +04:00
nikkuss bc24d47b6c bump firwmware version 2026-05-29 17:42:50 +04:00
nikkuss c4626c6b94 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-29 17:39:57 +04:00
nikkuss 6489e22306 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-29 17:39:21 +04:00
doloro e4244532c3 feat: grimorie (deadlock mod manager) (#12)
Reviewed-on: nikkuss/pkgs#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
13 changed files with 7976 additions and 134 deletions
+89
View File
@@ -60,6 +60,27 @@
}, },
"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,
@@ -81,6 +102,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": [
@@ -106,6 +148,27 @@
}, },
"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",
@@ -188,5 +251,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"
} }
} }
+50
View File
@@ -45,6 +45,17 @@
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";
@@ -56,6 +67,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";
@@ -76,6 +98,17 @@
}; };
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";
@@ -123,4 +156,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
Generated
+85 -4
View File
@@ -1,8 +1,52 @@
{ {
"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" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -20,11 +64,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1764897201, "lastModified": 1780011192,
"narHash": "sha256-428X4sppU6k+tF2vxTy726E5BxbtoxoTRP+1FBbXqvM=", "narHash": "sha256-luHrZG6I7Mwdt413XoDOYBpp9z1z6X23/5SNktwjM+k=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9cfae7bb77c5058a4cfa8006d0caf82af8e980dc", "rev": "3242faf14b7611a62ce0f0071619438a08b65c12",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -36,6 +80,7 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"bun2nix": "bun2nix",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
} }
@@ -54,6 +99,42 @@
"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",
+77 -78
View File
@@ -4,87 +4,86 @@
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" [
"aarch64-linux" "x86_64-linux"
] "aarch64-linux"
( ]
system: (
let system: let
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system; inherit system;
config = { overlays = [bun2nix.overlays.default];
allowUnfree = true; config = {
}; allowUnfree = true;
}; };
inherit (pkgs) lib; };
scope = lib.makeScope pkgs.newScope (final: self.overlays.default (pkgs // final) pkgs); inherit (pkgs) lib;
recursePackage = scope = lib.makeScope pkgs.newScope (final: self.overlays.default (pkgs // final) pkgs);
name: pkg: recursePackage = name: pkg: let
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
if !isSameSystem then
[ ]
else if isDrv then
[
(lib.nameValuePair name pkg)
]
else if isAttrs then
lib.mapAttrsToList (nameNew: subPkg: recursePackage "${name}-${nameNew}" subPkg) pkg
else
[ ];
flatPackages = builtins.listToAttrs (
lib.lists.flatten (lib.mapAttrsToList (name: pkg: recursePackage name pkg) scope)
);
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 in
{ if !isSameSystem
overlays = final: prev: flatPackages; then []
packages = flatPackages; else if isDrv
checks = lib.mapAttrs' (n: lib.nameValuePair "package-${n}") workingPackages; then [
devShells.default = pkgs.mkShellNoCC { (lib.nameValuePair name pkg)
packages = [ pkgs.nvfetcher ]; ]
}; else if isAttrs
} then lib.mapAttrsToList (nameNew: subPkg: recursePackage "${name}-${nameNew}" subPkg) pkg
) else [];
flatPackages = builtins.listToAttrs (
lib.lists.flatten (lib.mapAttrsToList (name: pkg: recursePackage name pkg) scope)
);
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 {
overlays = final: prev: flatPackages;
packages = flatPackages;
checks = lib.mapAttrs' (n: lib.nameValuePair "package-${n}") workingPackages;
devShells.default = pkgs.mkShellNoCC {
packages = [pkgs.nvfetcher];
};
}
) )
{ )
overlays = { {
default = overlays = {
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);
}; };
} }
); );
} }
+17
View File
@@ -2,6 +2,10 @@
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"
@@ -36,3 +40,16 @@ 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"]
[oh-my-pi]
src.github = "can1357/oh-my-pi"
fetch.github = "can1357/oh-my-pi"
+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;
};
})
+47 -50
View File
@@ -13,61 +13,58 @@
pkg-config, pkg-config,
webkitgtk_4_1, webkitgtk_4_1,
wrapGAppsHook4, wrapGAppsHook4,
fetchFromGitHub, callPackage,
}: }: let
rustPlatform.buildRustPackage (finalAttrs: { sources = callPackage ../../../../_sources/generated.nix {};
pname = "flightcore"; in
version = "3.2.0"; rustPlatform.buildRustPackage (finalAttrs: {
src = fetchFromGitHub { pname = "flightcore";
owner = "R2NorthstarTools"; version = lib.removePrefix "v" sources.flightcore.version;
repo = "FlightCore"; inherit (sources.flightcore) src;
rev = "v${finalAttrs.version}"; patches = [./cargo-lock.patch];
sha256 = "sha256-MFnW9cXFzqmdtC31r8cRcihV3NjGAC6+2/DnNVMheCI="; cargoDeps = rustPlatform.fetchCargoVendor {
}; src = finalAttrs.src;
patches = [./cargo-lock.patch]; sourceRoot = "${finalAttrs.src.name}/${finalAttrs.cargoRoot}";
cargoDeps = rustPlatform.fetchCargoVendor { hash = "sha256-Jh0DAX4fGy2Z1+hpq+bkU/VYy2JAL2u+neUIsQ2QXBU=";
src = finalAttrs.src; patchFlags = "-p2";
sourceRoot = "${finalAttrs.src.name}/${finalAttrs.cargoRoot}"; inherit (finalAttrs) patches;
hash = "sha256-Jh0DAX4fGy2Z1+hpq+bkU/VYy2JAL2u+neUIsQ2QXBU="; };
patchFlags = "-p2"; postPatch = ''
inherit (finalAttrs) patches; jq '.bundle.createUpdaterArtifacts = false' src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json
}; '';
postPatch = '' npmDeps = fetchNpmDeps {
jq '.bundle.createUpdaterArtifacts = false' src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
''; src = "${finalAttrs.src}/src-vue";
npmDeps = fetchNpmDeps { hash = "sha256-QhUPkCBK1kcAF7gByFxlg8Ca9PLF3evCl0QYEPP/Q2c=";
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps"; };
src = "${finalAttrs.src}/src-vue";
hash = "sha256-QhUPkCBK1kcAF7gByFxlg8Ca9PLF3evCl0QYEPP/Q2c=";
};
nativeBuildInputs = nativeBuildInputs =
[ [
cargo-tauri.hook cargo-tauri.hook
nodejs nodejs
npmHooks.npmConfigHook npmHooks.npmConfigHook
pkg-config pkg-config
jq jq
moreutils moreutils
] ]
++ lib.optionals stdenv.hostPlatform.isLinux [wrapGAppsHook4]; ++ lib.optionals stdenv.hostPlatform.isLinux [wrapGAppsHook4];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
glib-networking glib-networking
openssl openssl
webkitgtk_4_1 webkitgtk_4_1
]; ];
cargoRoot = "src-tauri"; cargoRoot = "src-tauri";
npmRoot = "src-vue"; npmRoot = "src-vue";
buildAndTestSubdir = finalAttrs.cargoRoot; buildAndTestSubdir = finalAttrs.cargoRoot;
meta = { meta = {
platforms = ["x86_64-linux"]; platforms = ["x86_64-linux"];
description = "FlightCore A Northstar installer, updater, and mod-manager"; description = "FlightCore A Northstar installer, updater, and mod-manager";
}; };
}) })
+135
View File
@@ -0,0 +1,135 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchurl,
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-aSjELhEyEbQ7qT8fI5VfIDOHrsgHHL18Dsphm6sA8J4=";
};
desktopItem = makeDesktopItem {
name = "grimoire";
exec = "/bin/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";
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"];
};
}
File diff suppressed because it is too large Load Diff
+38
View File
@@ -0,0 +1,38 @@
{
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";
};
}
+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];
})
@@ -27,11 +27,11 @@ stdenv.mkDerivation (
rec { rec {
name = "x1e80100-firmware"; name = "x1e80100-firmware";
version = "26100_26.011.9344.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-ZkZgmKz5ihrRaarAioWoc0dx9XbmobGwTTyY/VLzahk="; hash = "sha256-KyHgMGk/oytVctE5AhdXer+x7mJk2uP8Vgc7v78wSRc=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
msitools msitools