# Shell for being able to use bazel on NixOS (or on any operating system with Nix installed). let hscloud = import ./default.nix {}; in with hscloud.pkgs; let fontconfig = pkgs.writeText "fc-00-nixos-cache.conf" '' /etc/fonts/fonts.conf ${pkgs.roboto} ''; wrapper = pkgs.writeScript "wrapper.sh" '' export NIX_SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt" export SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt" export FONTCONFIG_FILE="${fontconfig}" export HSCLOUD_NIX=yes source ${toString ./.}/env.sh # FIXME: //tools:install runs in a different PATH which thrashes our cache # and causes massive rebuilds on every launch... This next line is the only # important part off tools/install.sh # bazel run //tools:install #bazel build //tools/... //cluster/tools/... # Fancy colorful PS1 to make people notice easily they're in hscloud. PS1='\[\033]0;\u/hscloud:\w\007\]' if type -P dircolors >/dev/null ; then PS1+='\[\033[01;35m\]\u/hscloud\[\033[01;34m\] \w \$\[\033[00m\] ' fi export PS1 exec bash --noprofile --norc "$@" ''; in (pkgs.buildFHSUserEnv { name = "hscloud-build"; targetPkgs = pkgs: with pkgs; [ bazel_5 postgresql python310 openjdk11 openldap.dev cyrus_sasl.dev # for python-ldap # No wkhtmltopdf as it got yoten from the hydra build set, and building it # takes ages. Run locally in docker container instead. #wkhtmltopdf gcc binutils clang libxcrypt-legacy pwgen tmate git which gnupg nettools file curl netcat nix vim openssh libxcrypt zlib ]; multiPkgs = pkgs: [ (pkgs.runCommand "protocols" {} '' mkdir -p $out/etc ln -s ${pkgs.iana-etc}/etc/protocols $out/etc/protocols '') ]; runScript = wrapper; }).env