nixos-hardware/apple/t2/pkgs/tiny-dfr.nix

52 lines
1.1 KiB
Nix

{ pkgs, fetchFromGitHub, rustPlatform, ... }:
let
repo = fetchFromGitHub {
owner = "kekrby";
repo = "tiny-dfr";
rev = "8a5d413cb1dbe2a25b77a9e7f3cb5b9c88ef3ffb";
hash = "sha256-l4D7aePz/CYpkRorrvsgIYrvSzoZl59OGcFGJqqJftk=";
};
in
rustPlatform.buildRustPackage rec {
pname = "tiny-dfr";
version = repo.rev;
src = repo;
cargoLock.lockFile = "${src}/Cargo.lock";
nativeBuildInputs = with pkgs; [
pkg-config
];
buildInputs = with pkgs; [
udev
glib
pango
cairo
gdk-pixbuf
libxml2
libinput
];
postPatch = ''
substituteInPlace src/main.rs --replace "/usr/share/tiny-dfr/" "$out/share/tiny-dfr/"
'';
postInstall = ''
mkdir -p $out/etc $out/share
cp -r etc/udev $out/etc/
cp -r share/tiny-dfr $out/share/
'';
meta = with pkgs.lib; {
description = "The most basic dynamic function row daemon possible";
homepage = "https://github.com/kekrby/tiny-dfr";
license = with licenses; [ asl20 bsd3 cc0 isc lgpl21Plus mit mpl20 unicode-dfs-2016 asl20 asl20-llvm mit unlicense ];
maintainers = [];
};
}