stockholm/tv/1systems/mkdir.nix

77 lines
1.3 KiB
Nix

{ config, lib, pkgs, ... }:
with config.krebs.lib;
let
# TODO merge with lass
getDefaultGateway = ip:
concatStringsSep "." (take 3 (splitString "." ip) ++ ["1"]);
primary-addr4 = config.krebs.build.host.nets.internet.ip4.addr;
in
{
krebs.build.host = config.krebs.hosts.mkdir;
imports = [
../.
../2configs/hw/CAC-Developer-1.nix
../2configs/fs/CAC-CentOS-7-64bit.nix
../2configs/exim-smarthost.nix
../2configs/git.nix
{
tv.iptables = {
enable = true;
input-internet-accept-tcp = [
"ssh"
"tinc"
"smtp"
];
input-retiolum-accept-tcp = [
"http"
];
};
}
{
krebs.retiolum = {
enable = true;
connectTo = [
"cd"
"fastpoke"
"pigstarter"
"ire"
];
};
}
];
networking.interfaces.enp2s1.ip4 = [
{
address = primary-addr4;
prefixLength = 24;
}
];
# TODO define gateway in krebs/3modules/default.nix
networking.defaultGateway = getDefaultGateway primary-addr4;
networking.nameservers = [
"8.8.8.8"
];
environment.systemPackages = with pkgs; [
htop
iftop
iotop
iptables
nethogs
rxvt_unicode.terminfo
tcpdump
];
services.journald.extraConfig = ''
SystemMaxUse=1G
RuntimeMaxUse=128M
'';
}