restream/flake.nix

50 lines
1.5 KiB
Nix
Raw Normal View History

2021-11-04 16:31:37 +01:00
{
description = "Stream the reMarkable screen to your computer";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
};
outputs = {self, nixpkgs, flake-utils, rust-overlay, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
overlays = [ (import rust-overlay) ];
pkgs = import nixpkgs {
inherit system overlays;
};
in
with pkgs;
{
devShell = mkShell {
buildInputs = [
remarkable-toolchain
(rust-bin.stable.latest.default.override {
targets = [ "armv7-unknown-linux-gnueabihf" ];
extensions = [ "rust-src" ];
})
openssl.dev
pkg-config
cargo-watch
cargo-limit
shellcheck
lz4
];
CARGO_BUILD_TARGET="armv7-unknown-linux-gnueabihf";
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER="${pkgs.remarkable-toolchain}/sysroots/x86_64-codexsdk-linux/usr/bin/arm-remarkable-linux-gnueabi/arm-remarkable-linux-gnueabi-gcc";
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUSTFLAGS=[
"-C link-arg=-march=armv7-a"
"-C link-arg=-marm"
"-C link-arg=-mfpu=neon"
"-C link-arg=-mfloat-abi=hard"
"-C link-arg=-mcpu=cortex-a9"
"-C link-arg=--sysroot=${pkgs.remarkable-toolchain}/sysroots/cortexa9hf-neon-remarkable-linux-gnueabi"
];
};
});
}