1
Fork 0
shimmeringmoon/flake.nix

75 lines
2.2 KiB
Nix
Raw Normal View History

{
inputs = {
2024-09-23 19:46:53 +02:00
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
fenix.url = "github:nix-community/fenix";
fenix.inputs.nixpkgs.follows = "nixpkgs";
2024-09-23 19:46:53 +02:00
rust-overlay.url = "github:oxalica/rust-overlay";
rust-overlay.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
2024-09-23 19:46:53 +02:00
inputs:
inputs.flake-utils.lib.eachSystem (with inputs.flake-utils.lib.system; [ x86_64-linux ]) (
system:
let
2024-09-23 19:46:53 +02:00
pkgs = inputs.nixpkgs.legacyPackages.${system}.extend (import inputs.rust-overlay);
# toolchain = pkgs.rust-bin.selectLatestNightlyWith (toolchain: toolchain.default);
# toolchain = pkgs.rust-bin.stable.latest.default;
toolchain = inputs.fenix.packages.${system}.complete.toolchain;
inherit (pkgs) lib;
in
{
2024-09-09 18:06:07 +02:00
packages.shimmeringmoon = pkgs.rustPlatform.buildRustPackage {
pname = "shimmeringmoon";
version = "unstable-2024-09-06";
src = lib.cleanSource ./.;
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"hypertesseract-0.1.0" = "sha256-G0dos5yvvcfBKznAo1IIzLgXqRDxmyZwB93QQ6hVZSo=";
"plotters-0.4.0" = "sha256-9wtd7lig1vQ2RJVaEHdicfPZy2AyuoNav8shPMZ1EuE=";
};
};
};
2024-09-23 19:46:53 +02:00
devShell = pkgs.mkShell {
nativeBuildInputs = with pkgs; [
toolchain
# ruff
# imagemagick
pkg-config
2024-09-23 19:46:53 +02:00
# clang
# llvmPackages.clang
];
buildInputs = with pkgs; [
toolchain
freetype
fontconfig
leptonica
tesseract
2024-09-23 19:46:53 +02:00
# openssl
sqlite
];
2024-09-23 19:46:53 +02:00
# LD_LIBRARY_PATH = lib.makeLibraryPath buildInputs;
# compilation of -sys packages requires manually setting LIBCLANG_PATH
2024-09-23 19:46:53 +02:00
# LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib";
};
}
);
# {{{ Caching and whatnot
nixConfig = {
extra-substituters = [ "https://nix-community.cachix.org" ];
extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
# }}}
}