forked from rarias/jungle
53 lines
1.5 KiB
Nix
53 lines
1.5 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
{
|
|
services.hydra = {
|
|
enable = true;
|
|
|
|
# Wrap hydra so it puts quiet flag every time... This is dumb and annoying,
|
|
# but i can't override the systemd ExecStart without running into infinite
|
|
# recursion.
|
|
package = pkgs.symlinkJoin {
|
|
name = "hydra-quiet";
|
|
paths = [ pkgs.hydra ];
|
|
postBuild = ''
|
|
for prog in hydra-queue-runner hydra-evaluator ; do
|
|
prev=$(realpath $out/bin/$prog)
|
|
rm $out/bin/$prog
|
|
cat >$out/bin/$prog <<EOF
|
|
#!/bin/sh
|
|
args=()
|
|
for arg in "\$@"; do
|
|
if [ "\$arg" != "-v" ]; then
|
|
args+=("\$arg")
|
|
fi
|
|
done
|
|
exec $prev --quiet "\''${args[@]}"
|
|
EOF
|
|
|
|
chmod +x $out/bin/$prog
|
|
done
|
|
'';
|
|
};
|
|
|
|
hydraURL = "http://localhost:3001"; # externally visible URL
|
|
notificationSender = "hydra@jungle.bsc.es"; # e-mail of Hydra service
|
|
port = 3001;
|
|
# a standalone Hydra will require you to unset the buildMachinesFiles list to avoid using a nonexistant /etc/nix/machines
|
|
buildMachinesFiles = [ ];
|
|
# you will probably also want, otherwise *everything* will be built from scratch
|
|
useSubstitutes = true;
|
|
listenHost = "0.0.0.0"; # Force IPv4
|
|
};
|
|
|
|
systemd.services.hydra-send-stats.enable = lib.mkForce false;
|
|
|
|
networking.firewall.allowedTCPPorts = [ config.services.hydra.port ];
|
|
|
|
nix.settings.extra-allowed-uris = [
|
|
"git+ssh://git@bscpm04.bsc.es"
|
|
"git+ssh://git@gitlab-internal.bsc.es"
|
|
"https://github.com"
|
|
"git+ssh://github.com"
|
|
];
|
|
}
|