mirror of
https://gerrit.hackerspace.pl/hscloud
synced 2024-10-07 18:37:44 +00:00
Piotr Dobrowolski
ebae01636e
Somehow SHELL variable from host was still kept in pure shell. This should prevent colmena deploys failing when host is built against libc newer than the one in our fhsuserenv. Change-Id: Ia98e35e71d8d3a0ae2920a18ff2fe6a2e8ed2d53 Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1910 Reviewed-by: q3k <q3k@hackerspace.pl>
82 lines
2.1 KiB
Nix
82 lines
2.1 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}"
|
|
export SHELL="${pkgs.bash}/bin/bash"
|
|
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
|
|
|
|
colmena
|
|
];
|
|
multiPkgs = pkgs: [
|
|
(pkgs.runCommand "protocols" {}
|
|
''
|
|
mkdir -p $out/etc
|
|
ln -s ${pkgs.iana-etc}/etc/protocols $out/etc/protocols
|
|
'')
|
|
];
|
|
runScript = wrapper;
|
|
}).env
|