{ 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; }; }