nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 fetchFromGitHub,
3 installShellFiles,
4 lib,
5 pkg-config,
6 rustPlatform,
7 stdenv,
8 versionCheckHook,
9}:
10rustPlatform.buildRustPackage (finalAttrs: {
11 pname = "tmux-sessionizer";
12 version = "0.5.0";
13
14 src = fetchFromGitHub {
15 owner = "jrmoulton";
16 repo = "tmux-sessionizer";
17 rev = "v${finalAttrs.version}";
18 hash = "sha256-6eMKwp5639DIyhM6OD+db7jr4uF34JSt0Xg+lpyIPSI=";
19 };
20
21 cargoHash = "sha256-gIsqHbCmfYs1c3LPNbE4zLVjzU3GJ4MeHMt0DC5sS3c=";
22
23 nativeInstallCheckInputs = [
24 versionCheckHook
25 ];
26 versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
27 doInstallCheck = true;
28
29 nativeBuildInputs = [
30 pkg-config
31 installShellFiles
32 ];
33
34 postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
35 installShellCompletion --cmd tms \
36 --bash <(COMPLETE=bash $out/bin/tms) \
37 --fish <(COMPLETE=fish $out/bin/tms) \
38 --zsh <(COMPLETE=zsh $out/bin/tms)
39 '';
40
41 meta = {
42 description = "Fastest way to manage projects as tmux sessions";
43 homepage = "https://github.com/jrmoulton/tmux-sessionizer";
44 license = lib.licenses.mit;
45 maintainers = with lib.maintainers; [
46 vinnymeller
47 mrcjkb
48 ];
49 mainProgram = "tms";
50 };
51})