First attempt at both Rust and snix-castore.
I'll start by putting together a single-file CLI app,
no splitting modules out until needed, no separation of concerns.

Currently, just the fetching is implemented:

```
$ sidx pkgs/dev*/cuda-*/cuda/manifests/*.json
```

npins: init
This commit is contained in:
Else, Someone 2025-04-15 14:07:49 +00:00
commit 65326b2dcb
15 changed files with 17844 additions and 0 deletions

51
default.nix Normal file
View file

@ -0,0 +1,51 @@
{
npins ? import ./npins,
nixpkgs ? npins.nixpkgs,
pkgs ? import nixpkgs { },
lib ? pkgs.lib,
...
}:
lib.makeScope pkgs.newScope (
self:
let
addProtobuf = oldAttrs: {
nativeBuildInputs = oldAttrs.nativeBuildInputs or [ ] ++ [
(self.callPackage ({ protobuf }: protobuf) { })
];
};
in
{
sidx-crate2nix = (
self.callPackage ./Cargo.nix {
defaultCrateOverrides = pkgs.defaultCrateOverrides // {
sidx = oldAttrs: {
src =
let
fs = pkgs.lib.fileset;
in
fs.toSource {
root = ./.;
fileset = fs.unions [
./src
./Cargo.toml
./Cargo.lock
];
};
};
snix-castore = addProtobuf;
# prost-wkt-types = addProtobuf;
# openssl-sys = oldAttrs: {
# nativeBuildInputs = oldAttrs.buildInputs or [ ] ++ [
# (self.callPackage ({ pkg-config }: pkg-config) { })
# ];
# buildInputs = oldAttrs.buildInputs or [ ] ++ [
# (self.callPackage ({ openssl }: openssl) { })
# ];
# };
};
}
);
sidx = self.sidx-crate2nix.rootCrate.build;
}
)