pay-respects/flake.nix
2024-12-11 16:02:24 +01:00

69 lines
1.4 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.nixpkgs-fmt);
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";
};
};
});
};
}