infra/build01/configuration.nix
2021-03-24 18:28:27 +01:00

53 lines
1.5 KiB
Nix

{ config, pkgs, lib, ... }:
# Boot recovery:
# Activate 64-bit Rescue system in https://robot.your-server.de/server
# ssh root@build03.nix-community.org "mount /dev/md* /mnt && /mnt/kexec_bundle"
#
# In kexec image:
# # stop autoreboot
# $ systemctl stop autoreboot.timer
# $ zpool import -f zroot && mount -t zfs zroot/root /mnt && mount -t zfs zroot/root/home /mnt/home && mount -t zfs zroot/root/nix /mnt/nix && mount /dev/md* /mnt/boot
# nixos-enter
{
imports = [
./hardware-configuration.nix
../roles/buildkite.nix
../roles/common.nix
../roles/docker.nix
../roles/gitlab-runner.nix
../roles/hetzner-network.nix
../roles/nginx.nix
../roles/nix-community-cache.nix
../services/hydra
../services/marvin-mk2.nix
../services/matterbridge.nix
];
# /boot is a mirror raid
boot.loader.grub.devices = [ "/dev/sda" "/dev/sdb" ];
boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
boot.loader.grub.extraConfig = ''
# for mdraid 1.1
insmod mdraid1x
'';
networking.hostName = "nix-community-build01";
networking.hostId = "d2905767";
# Emulate armv7 until we have proper builders
boot.binfmt.emulatedSystems = [ "armv7l-linux" ];
networking.nix-community.ipv6.address = "2a01:4f8:13b:2ceb::1";
systemd.services.healthcheck-ping = {
startAt = "*:0/5"; # every 5 minutes
serviceConfig.ExecStart = "${pkgs.curl}/bin/curl -X POST -sfL https://hc-ping.com/fcf6c029-5b57-44aa-b392-923f3d894dd9";
};
boot.kernelPackages = pkgs.linuxPackages_latest;
system.stateVersion = "20.03";
}