56 lines
1.4 KiB
Nix
56 lines
1.4 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.modules.remoteBuild;
|
|
remoteBuilder = lib.mkIf cfg.become-remote-builder {
|
|
users.users.remotebuild = {
|
|
isSystemUser = true;
|
|
group = "remotebuild";
|
|
useDefaultShell = true;
|
|
|
|
# ssh-keygen -f /root/.ssh/remotebuild
|
|
openssh.authorizedKeys.keyFiles = [ ./remotebuild.pub ];
|
|
openssh.authorizedKeys.keys = [
|
|
# Laptop
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE/4h+WCBBW82puv8SMdUbkWymF4amEMuZitgFztB6oZ doloroo@proton.me"
|
|
];
|
|
};
|
|
|
|
users.groups.remotebuild = { };
|
|
|
|
nix.settings.trusted-users = [ "remotebuild" ];
|
|
};
|
|
useBulders = lib.mkIf cfg.use-remote-builders {
|
|
nix.distributedBuilds = true;
|
|
nix.settings.builders-use-substitutes = true;
|
|
|
|
# Define every build machine here..
|
|
nix.buildMachines = [
|
|
{
|
|
# Main desktop pc
|
|
# ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqsFEgtcTDw89GaZJg8P/FE1xngIXmiUZl8j0b+V7n+ root@doloroo-main
|
|
hostName = "doloroo-main";
|
|
sshUser = "remotebuild";
|
|
sshKey = "/root/.ssh/remotebuild";
|
|
system = "x86_64-linux";
|
|
supportedFeatures = [
|
|
"nixos-test"
|
|
"big-parallel"
|
|
"kvm"
|
|
];
|
|
}
|
|
];
|
|
};
|
|
in
|
|
{
|
|
options.modules.remoteBuild = {
|
|
use-remote-builders = lib.mkEnableOption "remoteBuild";
|
|
become-remote-builder = lib.mkEnableOption "remoteBuild";
|
|
};
|
|
config = lib.attrsets.recursiveUpdate useBulders remoteBuilder;
|
|
}
|