You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

shell.nix 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. { nixpkgs-bootstrap ? import ./nix/nixpkgs-bootstrap.nix { },
  2. pkgs ? nixpkgs-bootstrap.pkgs,
  3. target-os ? "none" }:
  4. let
  5. project = import ./default.nix {
  6. inherit target-os pkgs nixpkgs-bootstrap;
  7. inherit (nixpkgs-bootstrap) config;
  8. };
  9. mkShell = pkgs.callPackage ./nix/bootstrapped-shell.nix {
  10. inherit stdenv target-os;
  11. inherit (pkgs) mkShell;
  12. };
  13. platform = pkgs.callPackage ./nix/platform.nix { inherit target-os; };
  14. # TODO: Try to use stdenv for iOS. The problem is with building iOS as the build is trying to pass parameters to Apple's ld that are meant for GNU's ld (e.g. -dynamiclib)
  15. stdenv = pkgs.stdenvNoCC;
  16. # those should always be present in a shell
  17. coreInputs = with pkgs; [
  18. # utilities
  19. bash
  20. curl
  21. file
  22. git
  23. gnumake
  24. jq
  25. wget
  26. ];
  27. in mkShell {
  28. name = "status-react-shell";
  29. # none means we shouldn't include project specific deps
  30. buildInputs = if target-os == "none" then
  31. coreInputs
  32. else
  33. with pkgs; [
  34. unzip
  35. ncurses
  36. lsof # used in scripts/start-react-native.sh
  37. ps # used in scripts/start-react-native.sh
  38. clojure
  39. leiningen
  40. maven
  41. watchman
  42. ] ++ coreInputs;
  43. inputsFrom = if target-os == "none" then
  44. []
  45. else
  46. [ project.shell ];
  47. shellHook = project.shell.shellHook;
  48. }