CalCalist/flake.nix

54 lines
1.5 KiB
Nix
Raw Normal View History

{
description = "Aggregate and sync events between CalDAV, Google Calendar and iCal feeds";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs =
{ self, nixpkgs }:
let
systems = [
"x86_64-linux"
"aarch64-linux"
];
forEachSystem = nixpkgs.lib.genAttrs systems;
cargoToml = builtins.fromTOML (builtins.readFile ./Cargo.toml);
in
{
packages = forEachSystem (
system:
let
pkgs = import nixpkgs { inherit system; };
in
rec {
calcalist = pkgs.rustPlatform.buildRustPackage {
pname = "calcalist";
version = cargoToml.package.version;
src = pkgs.lib.cleanSource ./.;
cargoLock.lockFile = ./Cargo.lock;
# tests/caldav.rs spins up radicale and pimsync as real
# processes; it's a dev-time integration gate (devbox run
# check), not something a package build should re-run.
doCheck = false;
meta = {
description = cargoToml.package.description;
license = pkgs.lib.licenses.mit;
mainProgram = "calcalist";
platforms = pkgs.lib.platforms.linux;
};
};
default = calcalist;
}
);
apps = forEachSystem (system: rec {
calcalist = {
type = "app";
program = "${self.packages.${system}.calcalist}/bin/calcalist";
};
default = calcalist;
});
};
}