You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.5 KiB
Nix
59 lines
1.5 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
inherit (lib) mkIf mkMerge mkThenElse;
|
|
cfg = config.r6d.config-generator;
|
|
computers = config.r6d.computers;
|
|
profiles = config.r6d.profiles;
|
|
in
|
|
|
|
mkIf cfg.hydra-core {
|
|
|
|
# Paquets
|
|
environment.systemPackages = with pkgs; [
|
|
];
|
|
|
|
# Services
|
|
|
|
## Hydra
|
|
# 2. créer un utilisateur pour gérer hydra
|
|
# su - hydra
|
|
# hydra-create-user jpierre03 --password xxx --role 'admin'
|
|
|
|
services.hydra = {
|
|
enable = true;
|
|
hydraURL = "http://hydra.${config.networking.hostName}";
|
|
notificationSender = "hydra@${config.networking.hostName}";
|
|
listenHost = "localhost";
|
|
minimumDiskFree = 50; # Go
|
|
};
|
|
|
|
## Ménage
|
|
nix.gc = {
|
|
automatic = true;
|
|
};
|
|
|
|
## Délégation des actions de compilation à la compilefarm
|
|
|
|
### Machines connues
|
|
# 2. récupérer la clef publique du serveur ssh : ssh-keyscan localhost + l'ajouter dans les knownHosts
|
|
|
|
programs.ssh.knownHosts = {
|
|
"pedro.dubronetwork.fr".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM7fjo2ysLqlfSo6BKnc6I6m1ayoPrbwEEyTKZmUzsOD";
|
|
};
|
|
|
|
# une fois installé :
|
|
# 1. créer chef SSH : ssh-keygen -C "hydra@pedro.dubronetwork.fr" -N "" -f /etc/nixos/id_buildfarm
|
|
# accessible à hydra.pedro.dubnronetwork.fr
|
|
|
|
|
|
nix = {
|
|
distributedBuilds = true;
|
|
buildMachines = [
|
|
# { hostName = "pedro.dubronetwork.fr"; maxJobs = 2; speedFactor = 10; sshKey = "/etc/nixos/id_buildfarm"; sshUser = "root"; system = "x86_64-linux"; }
|
|
];
|
|
extraOptions = "auto-optimise-store = true";
|
|
};
|
|
|
|
}
|