Serge Bazanski | c97461e | 2021-02-17 20:29:48 +0100 | [diff] [blame] | 1 | # Shell for being able to use bazel on NixOS (or on any operating system with Nix installed). |
| 2 | |
| 3 | let |
| 4 | |
| 5 | hscloud = import ./default.nix {}; |
| 6 | |
Bartosz Stebel | 56ff18c | 2021-08-30 23:28:45 +0200 | [diff] [blame] | 7 | in with hscloud.pkgs; let |
Serge Bazanski | c97461e | 2021-02-17 20:29:48 +0100 | [diff] [blame] | 8 | |
| 9 | wrapper = pkgs.writeScript "wrapper.sh" |
| 10 | '' |
| 11 | source /etc/profile |
| 12 | source ${toString ./.}/env.sh |
| 13 | ${toString ./.}/tools/install.sh |
| 14 | |
Serge Bazanski | 69ff603 | 2021-09-11 01:14:13 +0200 | [diff] [blame] | 15 | # Fancy colorful PS1 to make people notice easily they're in hscloud. |
| 16 | PS1='\[\033]0;\u/hscloud:\w\007\]' |
| 17 | if type -P dircolors >/dev/null ; then |
| 18 | PS1+='\[\033[01;35m\]\u/hscloud\[\033[01;34m\] \w \$\[\033[00m\] ' |
| 19 | fi |
| 20 | export PS1 |
| 21 | |
Serge Bazanski | c97461e | 2021-02-17 20:29:48 +0100 | [diff] [blame] | 22 | exec bash "$@" |
| 23 | ''; |
| 24 | |
| 25 | in (pkgs.buildFHSUserEnv { |
| 26 | name = "hscloud-build"; |
| 27 | targetPkgs = pkgs: with pkgs; [ |
| 28 | bazel |
| 29 | postgresql |
| 30 | python38 |
| 31 | openjdk11 |
| 32 | openldap.dev cyrus_sasl.dev # for python-ldap |
| 33 | wkhtmltopdf |
Serge Bazanski | dce10ba | 2021-03-11 23:16:10 +0000 | [diff] [blame] | 34 | gcc binutils |
Serge Bazanski | 43b0e09 | 2021-06-06 12:50:54 +0000 | [diff] [blame] | 35 | pwgen |
| 36 | tmate |
Mateusz Lenik | 51f6c10 | 2021-07-18 16:33:03 +0200 | [diff] [blame] | 37 | git |
Piotr Dobrowolski | cb9cbb3 | 2021-09-14 18:37:10 +0200 | [diff] [blame] | 38 | which |
Piotr Dobrowolski | 0c59cb3 | 2021-09-14 19:57:03 +0200 | [diff] [blame] | 39 | gnupg |
Piotr Dobrowolski | cb9cbb3 | 2021-09-14 18:37:10 +0200 | [diff] [blame] | 40 | nettools |
Serge Bazanski | c97461e | 2021-02-17 20:29:48 +0100 | [diff] [blame] | 41 | ]; |
| 42 | multiPkgs = pkgs: [ |
| 43 | (pkgs.runCommand "protocols" {} |
| 44 | '' |
| 45 | mkdir -p $out/etc |
| 46 | ln -s ${pkgs.iana-etc}/etc/protocols $out/etc/protocols |
| 47 | '') |
| 48 | ]; |
| 49 | runScript = wrapper; |
| 50 | }).env |