{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; }; outputs = { self, nixpkgs }: let pkgs = nixpkgs.legacyPackages.x86_64-linux; inherit (pkgs) lib; system = "x86_64-linux"; in rec { formatter."${system}" = pkgs.nixfmt-rfc-style; devShells."${system}".default = pkgs.mkShell { packages = [ pkgs.mkvtoolnix-cli ]; }; overlays.default = final: prev: let cargo-toml = builtins.fromTOML (builtins.readFile ./Cargo.toml); in { subtitle-merge = final.rustPlatform.buildRustPackage { pname = cargo-toml.package.name; version = cargo-toml.package.version; src = ./.; cargoLock.lockFile = ./Cargo.lock; buildInputs = builtins.attrValues { inherit (final) installShellFiles mkvtoolnix-cli; }; postInstall = '' installShellCompletion --cmd subtitle-merge \ --bash ./target/release-tmp/build/*/out/subtitle-merge.bash \ --fish ./target/release-tmp/build/*/out/subtitle-merge.fish \ --zsh ./target/release-tmp/build/*/out/_subtitle-merge ''; }; }; packages."${system}" = rec { inherit (overlays.default pkgs pkgs) subtitle-merge; default = subtitle-merge; }; }; }