base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / nix / nixci / default.nix
blob5075705a2c888be8b4ea60fcd134c83b8ecf2689
1 { lib, stdenv
2 , rustPlatform
3 , fetchCrate
4 , fetchFromGitHub
5 , openssl
6 , pkg-config
7 , Security
8 , SystemConfiguration
9 , IOKit
10 , installShellFiles
11 , nix
14 rustPlatform.buildRustPackage rec {
15   pname = "nixci";
16   version = "1.0.0";
18   src = fetchCrate {
19     inherit version;
20     pname = "nixci";
21     hash = "sha256-49I09hXYoVo6vzv1b6mkeiFwzfj6g1SkXTL/tCEdOYc=";
22   };
24   cargoHash = "sha256-trmWeYJNev7jYJtGp9XR/emmQiiI94NM0cPFrAuD7m0=";
26   nativeBuildInputs = [ pkg-config installShellFiles nix ];
28   buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
29     openssl
30   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
31     IOKit
32     Security
33     SystemConfiguration
34   ];
36   postInstall = ''
37     installShellCompletion --cmd nixci \
38       --bash <($out/bin/nixci completion bash) \
39       --fish <($out/bin/nixci completion fish) \
40       --zsh <($out/bin/nixci completion zsh)
41   '';
43   # The rust program expects an environment (at build time) that points to the
44   # devour-flake flake.
45   env.DEVOUR_FLAKE = fetchFromGitHub {
46     owner = "srid";
47     repo = "devour-flake";
48     rev = "v4";
49     hash = "sha256-Vey9n9hIlWiSAZ6CCTpkrL6jt4r2JvT2ik9wa2bjeC0=";
50   };
52   meta = with lib; {
53     description = "Define and build CI for Nix projects anywhere";
54     homepage = "https://github.com/srid/nixci";
55     license = licenses.agpl3Only;
56     maintainers = with maintainers; [ srid shivaraj-bh rsrohitsingh682 ];
57     mainProgram = "nixci";
58   };