relfa 0.2.7

A gentle digital gravedigger to lovingly archive your old files.
{ ... }:
{
  perSystem =
    { config, pkgs, ... }:
    let
      cargoToml = builtins.fromTOML (builtins.readFile ../Cargo.toml);
    in
    {
      packages.relfa = pkgs.rustPlatform.buildRustPackage {
        pname = "relfa";
        version = cargoToml.package.version;

        src = ../.;

        outputs = [
          "out"
          "man"
        ];

        cargoLock = {
          lockFile = ../Cargo.lock;
        };

        nativeBuildInputs = with pkgs; [
          pkg-config
        ];

        buildInputs =
          with pkgs;
          [
            dbus
          ]
          ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [
            pkgs.darwin.apple_sdk.frameworks.Foundation
            pkgs.darwin.apple_sdk.frameworks.UserNotifications
          ];

        postInstall = ''
          # Install man page to man output
          install -Dm644 relfa.1 $man/share/man/man1/relfa.1
        '';

        meta = with pkgs.lib; {
          description = cargoToml.package.description;
          homepage = cargoToml.package.homepage;
          license = licenses.mit;
          maintainers = with maintainers; [ nilp0inter ];
          mainProgram = "relfa";
          outputsToInstall = [
            "out"
            "man"
          ];
        };
      };

      # Make relfa the default package
      packages.default = config.packages.relfa;
    };
}