pay-respects/flake.nix
2024-12-11 17:34:15 +01:00

71 lines
1.7 KiB
Nix

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
outputs =
{ self, nixpkgs }:
let
inherit (nixpkgs.lib)
genAttrs
importTOML
licenses
maintainers
sourceByRegex
;
eachSystem =
f:
genAttrs [
"aarch64-darwin"
"aarch64-linux"
"x86_64-darwin"
"x86_64-linux"
] (system: f nixpkgs.legacyPackages.${system});
in
{
formatter = eachSystem (pkgs: pkgs.nixfmt-rfc-style);
packages = eachSystem (
pkgs:
let
src = sourceByRegex self [
"(core)(/.*)?"
"(module-runtime-rules)(/.*)?"
"(module-request-ai)(/.*)?"
"(rules)(/.*)?"
''Cargo\.(toml|lock)''
];
inherit (pkgs)
rustPlatform
openssl
pkg-config
;
in
{
default = rustPlatform.buildRustPackage {
pname = "pay-respects";
inherit ((importTOML (src + "/core/Cargo.toml")).package) version;
inherit src;
cargoLock = {
lockFile = src + "/Cargo.lock";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
meta = {
description = "Command suggestions, command-not-found and thefuck replacement written in Rust";
license = licenses.agpl3Plus;
homepage = "https://github.com/iffse/pay-respects";
maintainers = with maintainers; [ iff ];
mainProgram = "pay-respects";
};
};
}
);
};
}