/* Name: https://williamgibson.fandom.com/wiki/Neuromancer_(AI) Why: A sibling to Wintermute, stores and archives memories. Type: VM Hardware: - From: 2023 Role: Backup Server Notes: */ { pkgs, lib, nodes, ... }: let # name of the server, sets teh hostname and record for it name = "neuromancer"; ip_pub = "193.1.99.80"; ip_priv = "172.20.20.7"; hostname = "${name}.skynet.ie"; in { imports = [ ./hardware/RM007.nix ../applications/restic.nix ]; networking.hostName = name; # this has to be defined for any physical servers # vms are defined by teh vm host networking.interfaces.eno1.ipv4.addresses = [ { address = ip_pub; prefixLength = 26; } ]; deployment = { targetHost = hostname; targetPort = 22; targetUser = "root"; tags = [ "active" ]; }; skynet_dns.records = { external = [ "${name} A ${ip_pub}" ]; reverse = [ "${builtins.substring 9 3 ip_pub} IN PTR ${hostname}." ]; }; services.skynet_backup = { normal.backups = [ #"/etc/skynet" ]; host = { ip = ip_pub; name = name; }; server = { enable = true; }; }; }