43 lines
1.1 KiB
Nix
43 lines
1.1 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
secrets,
|
|
hosts,
|
|
...
|
|
}:
|
|
{
|
|
sops.secrets.et-imxyy-nix-server-nixremote = {
|
|
sopsFile = secrets.et-imxyy-nix-server-nixremote;
|
|
restartUnits = [ "easytier-nixremote.service" ];
|
|
format = "binary";
|
|
};
|
|
environment.systemPackages = [ pkgs.easytier ];
|
|
systemd.services."easytier-nixremote" = {
|
|
enable = true;
|
|
script = "${pkgs.easytier}/bin/easytier-core -c ${config.sops.secrets.et-imxyy-nix-server-nixremote.path}";
|
|
serviceConfig = {
|
|
Restart = "always";
|
|
RestartSec = 30;
|
|
User = "root";
|
|
};
|
|
wantedBy = [ "multi-user.target" ];
|
|
after = [
|
|
"network.target"
|
|
"sops-nix.service"
|
|
];
|
|
};
|
|
users.groups.nixremote = { };
|
|
users.users.nixremote = {
|
|
isSystemUser = true;
|
|
description = "nix remote build user";
|
|
group = "nixremote";
|
|
openssh.authorizedKeys.keys = (lib.mapAttrsToList (host: key: "${key} ${host}") hosts) ++ [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIENauvvhVMLsUwH9cPYsvnOg7VCL3a4yEiKm8I524TE efl@efl-nix"
|
|
];
|
|
};
|
|
nix.settings.trusted-users = [
|
|
"nixremote"
|
|
];
|
|
}
|