libime-history-merge 0.3.0

Merge fcitx5 histories from multiple machines
Documentation
{
  description = "A simple CLI for inspecting, merging and editing libime pinyin histories from multiple machines.";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
    flake-utils.url = "github:numtide/flake-utils";
    hsz = {
      url = "gitlab:highsunz/flames";
      inputs = {
        nixpkgs.follows = "nixpkgs";
        flake-utils.follows = "flake-utils";
      };
    };
  };

  outputs = { self, nixpkgs, flake-utils, hsz, ... }: flake-utils.lib.eachSystem ["x86_64-linux" "aarch64-linux"] (system: let
    pkgs = import nixpkgs { inherit system; };
    lib = nixpkgs.lib;
  in {
    packages = rec {
      default = libime-history-merge;
      libime-history-merge = pkgs.rustPlatform.buildRustPackage {
        pname = "libime-history-merge";
        version = "0.3.0";
        src = lib.cleanSource ./.;
        cargoLock.lockFile = ./Cargo.lock;
        meta = {
          homepage = "https://github.com/blurgyy/libime-history-merge";
          description = "A simple CLI for inspecting, merging and editing libime pinyin histories from multiple machines.";
          license = lib.licenses.lgpl21;
        };
      };
    };
    devShells = rec {
      default = libime-history-merge;
      libime-history-merge = pkgs.mkShell {
        buildInputs = with pkgs; [
          rustc
          cargo
          cargo-edit
          rust-analyzer
          rustfmt
        ];
        shellHook = ''
          source ${hsz.packages.${system}.common-shell-hook}
        '';
      };
    };
  }) // {
    hydraJobs = self.packages;
  };
}