add Puenktchen builder

This commit is contained in:
willifan 2025-01-04 13:56:22 +01:00
parent 87fa30b294
commit ff8caa5192
7 changed files with 52 additions and 17 deletions

View file

@ -21,13 +21,18 @@
server.enable = true; server.enable = true;
common.syncthing = { common = {
enable = true;
basePath = "/mnt/data/services/syncthing/data"; builder.enable = true;
devices = {
Lenni = { id = "NDERY5Q-N7L6CPD-RMIFA65-OC3HP6T-ONZOB7Y-7FLS4VR-UWBKBZV-XJJVGQG"; }; syncthing = {
Puenktchen = { id = "REVJKI3-3QYKRZN-QDKQ24V-UNZQ4L2-R7XHQCE-N4H3FSY-IARCHM3-PMWBJQP"; }; enable = true;
Damin = { id = "HAGKFGG-EMCPKHG-Y7V2ACJ-DJVAIIA-A6TNGTQ-VWPB3F5-PES673W-W2YBJAD"; }; basePath = "/mnt/data/services/syncthing/data";
devices = {
Lenni = { id = "NDERY5Q-N7L6CPD-RMIFA65-OC3HP6T-ONZOB7Y-7FLS4VR-UWBKBZV-XJJVGQG"; };
Puenktchen = { id = "REVJKI3-3QYKRZN-QDKQ24V-UNZQ4L2-R7XHQCE-N4H3FSY-IARCHM3-PMWBJQP"; };
Damin = { id = "HAGKFGG-EMCPKHG-Y7V2ACJ-DJVAIIA-A6TNGTQ-VWPB3F5-PES673W-W2YBJAD"; };
};
}; };
}; };

View file

@ -20,10 +20,15 @@
}; };
}; };
common.syncthing = { common = {
enable = true;
devices = { builder.enable = true;
Anton = { id = "SIMFE5V-UHVQLHM-3ES7TAM-XIGP6TL-WCC37VY-B5ET6LJ-LPC2QIL-MYG4OQR"; };
syncthing = {
enable = true;
devices = {
Anton = { id = "SIMFE5V-UHVQLHM-3ES7TAM-XIGP6TL-WCC37VY-B5ET6LJ-LPC2QIL-MYG4OQR"; };
};
}; };
}; };

View file

@ -1,5 +1,5 @@
{ lib, config, ... }: { lib, config, ... }:
lib.mkIf config.server.enable { lib.mkIf config.common.builder.enable {
users.users.builder = { users.users.builder = {
group = "builder"; group = "builder";
isNormalUser = true; isNormalUser = true;

View file

@ -10,6 +10,7 @@
./autoupdate.nix ./autoupdate.nix
./boot.nix ./boot.nix
./builder.nix
./envvar.nix ./envvar.nix
./garbage-collect.nix ./garbage-collect.nix
./keyd.nix ./keyd.nix

View file

@ -1,18 +1,33 @@
{ lib, config, ... }: { lib, config, ... }:
lib.mkIf config.desktop.enable { lib.mkIf config.desktop.enable {
nix.buildMachines = [ { nix.buildMachines = [
{
hostName = "Anton"; hostName = "Anton";
sshUser = "builder"; sshUser = "builder";
systems = [ "x86_64-linux" "aarch64-linux" ]; systems = [ "x86_64-linux" "aarch64-linux" ];
protocol = "ssh"; protocol = "ssh-ng";
# if the builder supports building for multiple architectures, # if the builder supports building for multiple architectures,
# replace the previous line by, e.g. # replace the previous line by, e.g.
# systems = ["x86_64-linux" "aarch64-linux"]; # systems = ["x86_64-linux" "aarch64-linux"];
maxJobs = 1; maxJobs = 4;
speedFactor = 2; speedFactor = 2;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
mandatoryFeatures = [ ]; mandatoryFeatures = [ ];
}]; }
{
hostName = "Puenktchen";
sshUser = "builder";
systems = [ "x86_64-linux" "aarch64-linux" ];
protocol = "ssh-ng";
# if the builder supports building for multiple architectures,
# replace the previous line by, e.g.
# systems = ["x86_64-linux" "aarch64-linux"];
maxJobs = 8;
speedFactor = 4;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
mandatoryFeatures = [ ];
}
];
nix.distributedBuilds = true; nix.distributedBuilds = true;
# optional, useful when the builder has a faster internet connection than yours # optional, useful when the builder has a faster internet connection than yours
nix.extraOptions = '' nix.extraOptions = ''

View file

@ -1,6 +1,16 @@
{ lib, ... }: { lib, ... }:
{ {
options = { options = {
common = {
builder.enable = lib.mkOption {
default = false;
type = lib.types.bool;
};
};
desktop = { desktop = {
enable = lib.mkOption { enable = lib.mkOption {

View file

@ -2,7 +2,6 @@
{ {
imports = [ imports = [
./builder.nix
./ssh-server.nix ./ssh-server.nix
]; ];
} }