mirror of
https://git.pvv.ntnu.no/Drift/pvv-nixos-config.git
synced 2025-12-30 20:28:23 +01:00
363 lines
8.7 KiB
Nix
363 lines
8.7 KiB
Nix
{ config, pkgs, lib, values, ... }:
|
|
let
|
|
inherit (config.lib.topology) mkDevice;
|
|
in {
|
|
nodes.balduzius = mkDevice "balduzius" {
|
|
guestType = "proxmox";
|
|
parent = config.nodes.powerpuff-cluster.id;
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/debian.svg";
|
|
|
|
interfaceGroups = [ [ "ens18" ] ];
|
|
interfaces.ens18 = {
|
|
network = "pvv";
|
|
mac = "00:0c:29:de:05:0f";
|
|
addresses = [
|
|
"129.241.210.192"
|
|
"2001:700:300:1900::1:42"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
|
|
services = {
|
|
kdc = {
|
|
name = "Heimdal KDC";
|
|
info = "kdc.pvv.ntnu.no";
|
|
details.kdc.text = "0.0.0.0:88";
|
|
details.kpasswd.text = "0.0.0.0:464";
|
|
};
|
|
};
|
|
};
|
|
|
|
nodes.tom = mkDevice "tom" {
|
|
guestType = "proxmox";
|
|
parent = config.nodes.powerpuff-cluster.id;
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/debian.svg";
|
|
|
|
interfaceGroups = [ [ "ens18" ] ];
|
|
interfaces.ens18 = {
|
|
network = "pvv";
|
|
mac = "00:0c:29:4d:f7:56";
|
|
addresses = [
|
|
"129.241.210.180"
|
|
"2001:700:300:1900::180"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
|
|
services = {
|
|
apache2 = {
|
|
name = "Apache2 - user websites";
|
|
info = "www.pvv.ntnu.no/~";
|
|
details.listen.text = "0.0.0.0:443";
|
|
};
|
|
};
|
|
};
|
|
|
|
nodes.hildring = mkDevice "hildring" {
|
|
guestType = "proxmox";
|
|
parent = config.nodes.powerpuff-cluster.id;
|
|
deviceType = "loginbox";
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/debian.svg";
|
|
|
|
interfaceGroups = [ [ "eth0" ] ];
|
|
interfaces.eth0 = {
|
|
network = "pvv";
|
|
mac = "00:0c:29:e7:dd:79";
|
|
addresses = [
|
|
"129.241.210.176"
|
|
"2001:700:300:1900::1:9"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
|
|
nodes.drolsum = mkDevice "drolsum" {
|
|
guestType = "proxmox";
|
|
parent = config.nodes.powerpuff-cluster.id;
|
|
deviceType = "loginbox";
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/debian.svg";
|
|
|
|
# TODO: the interface name is likely wrong
|
|
interfaceGroups = [ [ "eth0" ] ];
|
|
interfaces.eth0 = {
|
|
network = "pvv";
|
|
# mac = "";
|
|
addresses = [
|
|
"129.241.210.217"
|
|
"2001:700:300:1900::217"
|
|
"2001:700:300:1900::1:217"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
|
|
nodes.microbel = mkDevice "microbel" {
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/debian.svg";
|
|
|
|
hardware.info = "Supermicro X8ST3";
|
|
|
|
interfaceGroups = [ [ "eth0" "eth1" ] ];
|
|
interfaces.eth0 = {
|
|
mac = "00:25:90:24:76:2c";
|
|
addresses = [
|
|
"129.241.210.179"
|
|
"2001:700:300:1900::1:2"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
|
|
nodes.innovation = mkDevice "innovation" {
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/freebsd.svg";
|
|
|
|
hardware.info = "Dell Optiplex 9010";
|
|
|
|
interfaceGroups = [ [ "em0" ] ];
|
|
interfaces.em0 = {
|
|
mac = "18:03:73:20:18:d3";
|
|
addresses = [
|
|
"129.241.210.214"
|
|
"2001:700:300:1900::1:56"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
services = {
|
|
minecraft = {
|
|
name = "Minecraft";
|
|
icon = "services.minecraft";
|
|
info = "minecraft.pvv.ntnu.no";
|
|
details.listen.text = "0.0.0.0:25565";
|
|
};
|
|
};
|
|
};
|
|
|
|
nodes.principal = mkDevice "principal" {
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/freebsd.svg";
|
|
|
|
# TODO: the interface name is likely wrong
|
|
interfaceGroups = [ [ "em0" ] ];
|
|
interfaces.em0 = {
|
|
# mac = "";
|
|
addresses = [
|
|
"129.241.210.233"
|
|
"2001:700:300:1900::1:233"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
|
|
nodes.homeassistant = mkDevice "homeassistant" {
|
|
deviceIcon = "services.home-assistant";
|
|
|
|
hardware.info = "Raspberry Pi 4B";
|
|
|
|
# TODO: the interface name is likely wrong
|
|
interfaceGroups = [ [ "eth0" ] ];
|
|
interfaces.eth0 = {
|
|
# mac = "";
|
|
addresses = [
|
|
"129.241.210.229"
|
|
"2001:700:300:1900::4:229"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
|
|
nodes.sleipner = mkDevice "sleipner" {
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/debian.svg";
|
|
|
|
interfaceGroups = [ [ "eno0" "enp2s0" ] ];
|
|
interfaces.enp2s0 = {
|
|
mac = "00:25:90:57:35:8e";
|
|
addresses = [
|
|
"129.241.210.193"
|
|
"2001:700:300:1900:fab:cab:dab:7ab"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
|
|
nodes.isvegg = mkDevice "isvegg" {
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/debian.svg";
|
|
|
|
# TODO: the interface name is likely wrong
|
|
interfaceGroups = [ [ "eth0" ] ];
|
|
interfaces.eth0 = {
|
|
# mac = "";
|
|
addresses = [
|
|
"129.241.210.175"
|
|
"2001:700:300:1900::1:a"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
|
|
nodes.ameno = mkDevice "ameno" {
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/ubuntu.svg";
|
|
|
|
interfaceGroups = [ [ "eth0" ] ];
|
|
interfaces.eth0 = {
|
|
mac = "b8:27:eb:62:1d:d8";
|
|
addresses = [
|
|
"129.241.210.230"
|
|
"129.241.210.211"
|
|
"129.241.210.153"
|
|
"2001:700:300:1900:ba27:ebff:fe62:1dd8"
|
|
"2001:700:300:1900::4:230"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
services = {
|
|
bind = {
|
|
name = "Bind DNS";
|
|
icon = ./icons/bind9.png;
|
|
info = "hostmaster.pvv.ntnu.no";
|
|
details.listen.text = "0.0.0.0:53";
|
|
};
|
|
};
|
|
};
|
|
|
|
nodes.skrott = mkDevice "skrott" {
|
|
# TODO: the interface name is likely wrong
|
|
interfaceGroups = [ [ "eth0" ] ];
|
|
interfaces.eth0 = {
|
|
# mac = "";
|
|
addresses = [
|
|
"129.241.210.235"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
|
|
nodes.torskas = mkDevice "torskas" {
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/arch_linux.svg";
|
|
|
|
hardware.info = "Raspberry pi 4B";
|
|
|
|
# TODO: the interface name is likely wrong
|
|
interfaceGroups = [ [ "eth0" ] ];
|
|
interfaces.eth0 = {
|
|
# mac = "";
|
|
addresses = [
|
|
"129.241.210.241"
|
|
"2001:700:300:1900::241"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
|
|
nodes.wegonke = mkDevice "wegonke" {
|
|
deviceType = "terminal";
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/debian.svg";
|
|
|
|
hardware.info = "ASUSTeK G11CD-K";
|
|
|
|
interfaceGroups = [ [ "enp4s0" ] ];
|
|
interfaces.enp4s0 = {
|
|
mac = "70:4d:7b:a3:32:57";
|
|
addresses = [
|
|
"129.241.210.218"
|
|
"2001:700:300:1900::1:218"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
|
|
nodes.demiurgen = mkDevice "demiurgen" {
|
|
deviceType = "terminal";
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/debian.svg";
|
|
|
|
interfaceGroups = [ [ "eno1" ] ];
|
|
interfaces.eno1 = {
|
|
mac = "18:03:73:1f:f4:1f";
|
|
addresses = [
|
|
"129.241.210.201"
|
|
"2001:700:300:1900::1:4e"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
|
|
nodes.sanctuary = mkDevice "sanctuary" {
|
|
deviceType = "terminal";
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/windows.svg";
|
|
|
|
interfaceGroups = [ [ "ethernet_0" ] ];
|
|
interfaces.ethernet_0 = {
|
|
addresses = [
|
|
"129.241.210.170"
|
|
"2001:700:300:1900::1337"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
|
|
nodes.orchid = mkDevice "orchid" {
|
|
deviceType = "terminal";
|
|
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/debian.svg";
|
|
|
|
hardware.info = "Ryzen1600 Nvidia GTX 1060";
|
|
|
|
# TODO: the interface name is likely wrong
|
|
interfaceGroups = [ [ "eth0" ] ];
|
|
interfaces.eth0 = {
|
|
addresses = [
|
|
"129.241.210.210"
|
|
"2001:700:300:1900::210"
|
|
];
|
|
gateways = [
|
|
values.hosts.gateway
|
|
values.hosts.gateway6
|
|
];
|
|
};
|
|
};
|
|
}
|