Add nix files

This commit is contained in:
2026-03-11 10:39:00 -07:00
parent c03fac0e37
commit b36b62150c
4 changed files with 101 additions and 0 deletions

52
default.nix Normal file
View File

@@ -0,0 +1,52 @@
let
rustOverlay = import (
builtins.fetchTarball {
url = "https://github.com/oxalica/rust-overlay/archive/master.tar.gz";
sha256 = "0qgrkgc695a7gja83dngxrcx4gdg9056gvg5325i5yyjxg0ni6c9";
}
);
pkgsDefault = import <nixpkgs> { overlays = [ rustOverlay ]; };
rustToolchain = pkgsDefault.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
rustPlatformDefault = pkgsDefault.makeRustPlatform {
cargo = rustToolchain;
rustc = rustToolchain;
};
in
{
pkgs ? pkgsDefault,
pileRustPlatform ? rustPlatformDefault,
}:
pileRustPlatform.buildRustPackage {
pname = "pile";
version = "0.0.1";
src = ./.;
cargoLock.lockFile = ./Cargo.lock;
PDFIUM_LIB_DIR = "${pkgs.pdfium-binaries}/lib";
buildInputs = [
pkgs.pdfium-binaries
pkgs.openssl
]
++ pkgs.lib.optionals pkgs.stdenv.isDarwin [
pkgs.darwin.apple_sdk.frameworks.Security
pkgs.darwin.apple_sdk.frameworks.SystemConfiguration
];
nativeBuildInputs = [
pkgs.pkg-config
pkgs.makeWrapper
];
postInstall = ''
wrapProgram $out/bin/pile \
--prefix LD_LIBRARY_PATH : ${pkgs.lib.makeLibraryPath [ pkgs.pdfium-binaries ]}
'';
meta = {
description = "pile - flexible file indexing";
mainProgram = "pile";
};
}