forked from hswaw/hscloud
Serge Bazanski
d9567b3b99
This is needed for newer versions of the gerrit owners plugin. We also need to add zlib to our shell, as binary builds of JDK11 used by Bazel require it. Change-Id: Idbbc5e0d88cac13daf2e5f201be6032412bf1a5d Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1641 Reviewed-by: implr <implr@hackerspace.pl>
78 lines
2 KiB
Nix
78 lines
2 KiB
Nix
# 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" ''
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
|
<fontconfig>
|
|
<include>/etc/fonts/fonts.conf</include>
|
|
<dir>${pkgs.roboto}</dir>
|
|
</fontconfig>
|
|
'';
|
|
|
|
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}"
|
|
|
|
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
|