nixos-conf/hosts/exoplasim.nix

75 lines
1.8 KiB
Nix
Raw Normal View History

2024-11-06 22:14:25 +02:00
{
2025-05-29 15:39:42 +03:00
config,
pkgs,
lib,
...
}:
{
imports = [ ../shared/base.nix ];
2024-11-06 22:14:25 +02:00
2024-11-08 15:41:54 +02:00
# Networking conf including WireGuard
2024-11-08 13:21:13 +02:00
networking = {
hostName = "exoplasim";
2024-11-08 14:39:53 +02:00
firewall.allowedUDPPorts = [ 51821 ];
2024-11-08 13:21:13 +02:00
2024-11-08 14:39:53 +02:00
wg-quick.interfaces = {
wg0 = {
address = [ "10.0.0.1/24" ];
2024-11-08 14:39:53 +02:00
privateKeyFile = "/root/wireguard-keys/privatekey";
listenPort = 51821;
peers = [
2024-11-08 15:41:54 +02:00
# {
# publicKey = "TODO";
# presharedKeyFile = "/root/wireguard-keys/psk";
# allowedIPs = [ "10.0.0.2/32" ];
# }
{
publicKey = "9FOmHXs0CmDlW61noS7DqhgH5GfQHzg8ZMasyNQACSc=";
allowedIPs = [ "10.0.0.2/32" ];
}
2024-11-08 14:39:53 +02:00
];
};
};
2024-11-08 13:21:13 +02:00
};
# User worker
users.users.worker = {
isNormalUser = true;
home = "/home/worker";
description = "ExoPlaSim Worker";
uid = 1001;
extraGroups = [ "networkmanager" ];
2024-11-08 14:39:53 +02:00
openssh.authorizedKeys.keys = config.users.users.root.openssh.authorizedKeys.keys ++ [
# TODO add user-specific key
];
2024-11-08 13:21:13 +02:00
};
users.groups.worker.gid = 1001;
2025-05-29 15:39:42 +03:00
system.autoUpgrade.allowReboot = lib.mkForce false;
2024-11-11 01:20:48 +02:00
programs.rust-motd = {
enable = true;
enableMotdInSSHD = true;
refreshInterval = "*:*:0/5";
settings = {
banner = {
color = "green";
command = ''
${pkgs.figlet}/bin/figlet "ExoPlaSim Worker";
${pkgs.coreutils-full}/bin/echo -e "$(${pkgs.procps}/bin/ps --User worker --user worker --forest --format start_time=STARTED,time=CPU_TIME,%cpu,%mem,comm)";
'';
};
uptime.prefix = "System has been running for";
filesystems = {
Main = "/";
};
memory.swap_pos = "beside";
};
};
2024-11-06 22:14:25 +02:00
# HARDWARE SPECIFIC
services.qemuGuest.enable = true;
}