summaryrefslogtreecommitdiff
path: root/modules/remote-builder.nix
diff options
context:
space:
mode:
authorJakub Stachurski <j.stachurski@student.utwente.nl>2025-11-19 21:02:52 +0100
committerJakub Stachurski <j.stachurski@student.utwente.nl>2025-11-19 21:02:52 +0100
commit892de67a9f64d0b0cdb023d830a019d8feec0a57 (patch)
tree0c5fd0c60ef93bb5cdc5f83c8cade0c5dddb4899 /modules/remote-builder.nix
parentf5b37610b3835ea26757ef36d554ec598d53100c (diff)
Nix fmt
Diffstat (limited to 'modules/remote-builder.nix')
-rw-r--r--modules/remote-builder.nix100
1 files changed, 50 insertions, 50 deletions
diff --git a/modules/remote-builder.nix b/modules/remote-builder.nix
index ddd9a99..ca9b0a1 100644
--- a/modules/remote-builder.nix
+++ b/modules/remote-builder.nix
@@ -1,70 +1,70 @@
-{config, lib,...}:
+{ config, lib, ... }:
let
-cfg = config.addons.remote_builder;
-in
+ cfg = config.addons.remote_builder;
+in
{
options.addons.remote_builder = {
- enable = lib.mkEnableOption "Enable remote builder support";
+ enable = lib.mkEnableOption "Enable remote builder support";
allowedKeyFiles = lib.mkOption {
- default = [];
- example = [../secrets/example.pub];
- description = "Public key files that are allowed on the remote builder";
+ default = [ ];
+ example = [ ../secrets/example.pub ];
+ description = "Public key files that are allowed on the remote builder";
};
allowedKeys = lib.mkOption {
- default = [];
- example = ["ssh-ed25519 ... user@example.com"];
- description = "Public keys that are allowed on the remote builder";
+ default = [ ];
+ example = [ "ssh-ed25519 ... user@example.com" ];
+ description = "Public keys that are allowed on the remote builder";
};
emulatedSystems = lib.mkOption {
- default = [];
- example = ["aarch64-linux"]; # TODO: This probably has a nice type that could be used
- description = "Allow the remote builder to emultate builds for certain architectures";
- };
- openFirewall = lib.mkEnableOption "Forces the ssh port open for the remote builder";
+ default = [ ];
+ example = [ "aarch64-linux" ]; # TODO: This probably has a nice type that could be used
+ description = "Allow the remote builder to emultate builds for certain architectures";
+ };
+ openFirewall = lib.mkEnableOption "Forces the ssh port open for the remote builder";
};
- config = lib.mkIf cfg.enable (lib.mkMerge [
- {
- users.users.remotebuild = {
- isSystemUser = true;
- group = "remotebuild";
- useDefaultShell = true;
- # Add keys to remotebuild user.
- openssh.authorizedKeys = {
- keyFiles = cfg.allowedKeyFiles;
- keys = cfg.allowedKeys;
+ config = lib.mkIf cfg.enable (
+ lib.mkMerge [
+ {
+ users.users.remotebuild = {
+ isSystemUser = true;
+ group = "remotebuild";
+ useDefaultShell = true;
+ # Add keys to remotebuild user.
+ openssh.authorizedKeys = {
+ keyFiles = cfg.allowedKeyFiles;
+ keys = cfg.allowedKeys;
+ };
};
- };
- users.groups.remotebuild = {};
- nix = {
- nrBuildUsers = 64;
- settings = {
- trusted-users = [ "remotebuild" ];
+ users.groups.remotebuild = { };
+ nix = {
+ nrBuildUsers = 64;
+ settings = {
+ trusted-users = [ "remotebuild" ];
- min-free = 10 * 1024 * 1024;
- max-free = 200 * 1024 * 1024;
+ min-free = 10 * 1024 * 1024;
+ max-free = 200 * 1024 * 1024;
- max-jobs = "auto";
- cores = 8;
+ max-jobs = "auto";
+ cores = 8;
+ };
};
- };
-
- boot.binfmt.emulatedSystems = cfg.emulatedSystems;
+ boot.binfmt.emulatedSystems = cfg.emulatedSystems;
- # TODO: Make a good default module for ssh.
- services.openssh = {
- enable = true;
- settings.AllowUsers = ["remotebuild"];
- };
- }
-
- # Open firewall for ssh if not open already, not really recommended unless the server is meant to be public.
- (lib.mkIf cfg.openFirewall {
- services.openssh.openFirewall = lib.mkForce true;
- })
- ]);
+ # TODO: Make a good default module for ssh.
+ services.openssh = {
+ enable = true;
+ settings.AllowUsers = [ "remotebuild" ];
+ };
+ }
+ # Open firewall for ssh if not open already, not really recommended unless the server is meant to be public.
+ (lib.mkIf cfg.openFirewall {
+ services.openssh.openFirewall = lib.mkForce true;
+ })
+ ]
+ );
}