base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / misc / tmux-sessionizer / default.nix
blob2d2deb07dbd26a31b9237008ecfd06db83f1f211
1 { lib
2 , fetchFromGitHub
3 , stdenv
4 , rustPlatform
5 , openssl
6 , pkg-config
7 , Security
8 , testers
9 , tmux-sessionizer
10 , installShellFiles
12 let
14   name = "tmux-sessionizer";
15   version = "0.4.4";
18 rustPlatform.buildRustPackage {
19   pname = name;
20   inherit version;
22   src = fetchFromGitHub {
23     owner = "jrmoulton";
24     repo = name;
25     rev = "v${version}";
26     hash = "sha256-4xwpenoAVGKdVO3eSS4BhaEcwpNPGA5Ozie53focDlA=";
27   };
29   cargoHash = "sha256-ajeCB1w/JHMT5e7mSwsh++lzLNfp0qfutONStpJpFDo=";
31   passthru.tests.version = testers.testVersion {
32     package = tmux-sessionizer;
33     version = version;
34   };
36   # Needed to get openssl-sys to use pkg-config.
37   OPENSSL_NO_VENDOR = 1;
39   nativeBuildInputs = [ pkg-config installShellFiles ];
40   buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ];
42   postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
43     installShellCompletion --cmd tms \
44       --bash <($out/bin/tms --generate bash) \
45       --fish <($out/bin/tms --generate fish) \
46       --zsh <($out/bin/tms --generate zsh)
47   '';
49   meta = with lib; {
50     description = "Fastest way to manage projects as tmux sessions";
51     homepage = "https://github.com/jrmoulton/tmux-sessionizer";
52     license = licenses.mit;
53     maintainers = with maintainers; [ vinnymeller mrcjkb ];
54     mainProgram = "tms";
55   };