base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / misc / onefetch / default.nix
blob2beca6a815012cf8ab6f33482d753dbed422a493
1 { lib
2 , rustPlatform
3 , fetchFromGitHub
4 , cmake
5 , installShellFiles
6 , pkg-config
7 , zstd
8 , stdenv
9 , CoreFoundation
10 , libresolv
11 , Security
12 , git
15 rustPlatform.buildRustPackage rec {
16   pname = "onefetch";
17   version = "2.21.0";
19   src = fetchFromGitHub {
20     owner = "o2sh";
21     repo = pname;
22     rev = version;
23     hash = "sha256-KQs7b+skXQhHbfHIJkgowNY2FB6oS2V8TQFdkmElC/k=";
24   };
26   cargoHash = "sha256-gKA1MMahoaDFia8LR33GG3jRttZzHwpUpFawlCQcy7g=";
28   cargoPatches = [
29     # enable pkg-config feature of zstd
30     ./zstd-pkg-config.patch
31   ];
33   nativeBuildInputs = [ cmake installShellFiles pkg-config ];
35   buildInputs = [ zstd ]
36     ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreFoundation libresolv Security ];
38   nativeCheckInputs = [
39     git
40   ];
42   preCheck = ''
43     git init
44     git config user.name nixbld
45     git config user.email nixbld@example.com
46     git add .
47     git commit -m test
48   '';
50   postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
51     installShellCompletion --cmd onefetch \
52       --bash <($out/bin/onefetch --generate bash) \
53       --fish <($out/bin/onefetch --generate fish) \
54       --zsh <($out/bin/onefetch --generate zsh)
55   '';
57   meta = with lib; {
58     description = "Git repository summary on your terminal";
59     homepage = "https://github.com/o2sh/onefetch";
60     changelog = "https://github.com/o2sh/onefetch/blob/v${version}/CHANGELOG.md";
61     license = licenses.mit;
62     maintainers = with maintainers; [ Br1ght0ne figsoda kloenk ];
63     mainProgram = "onefetch";
64   };