diff options
| author | Jakub Stachurski <j.stachurski@student.utwente.nl> | 2025-11-19 21:02:52 +0100 |
|---|---|---|
| committer | Jakub Stachurski <j.stachurski@student.utwente.nl> | 2025-11-19 21:02:52 +0100 |
| commit | 892de67a9f64d0b0cdb023d830a019d8feec0a57 (patch) | |
| tree | 0c5fd0c60ef93bb5cdc5f83c8cade0c5dddb4899 /modules/remote-builder.nix | |
| parent | f5b37610b3835ea26757ef36d554ec598d53100c (diff) | |
Nix fmt
Diffstat (limited to 'modules/remote-builder.nix')
| -rw-r--r-- | modules/remote-builder.nix | 100 |
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; + }) + ] + ); } |
