subtitle-merge/flake.nix

42 lines
1.4 KiB
Nix

{
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;
};
env.mkvmerge = "${final.mkvtoolnix-cli}/bin/mkvmerge";
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;
};
};
}