98 lines
1.9 KiB
Nix
98 lines
1.9 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
# TODO merge with lass
|
|
getDefaultGateway = ip:
|
|
concatStringsSep "." (take 3 (splitString "." ip) ++ ["1"]);
|
|
|
|
|
|
primary-addr4 =
|
|
builtins.elemAt config.krebs.build.host.nets.internet.addrs4 0;
|
|
|
|
#secondary-addr4 =
|
|
# builtins.elemAt config.krebs.build.host.nets.internet.addrs4 1;
|
|
in
|
|
|
|
{
|
|
krebs.build.host = config.krebs.hosts.rmdir;
|
|
krebs.build.user = config.krebs.users.tv;
|
|
|
|
krebs.build.target = "root@rmdir.internet";
|
|
|
|
krebs.build.source = {
|
|
git.nixpkgs = {
|
|
url = https://github.com/NixOS/nixpkgs;
|
|
rev = "c44a593aa43bba6a0708f6f36065a514a5110613";
|
|
};
|
|
dir.secrets = {
|
|
path = "/home/tv/secrets/rmdir";
|
|
};
|
|
dir.stockholm = {
|
|
path = "/home/tv/stockholm";
|
|
};
|
|
};
|
|
|
|
imports = [
|
|
../2configs/hw/CAC-Developer-1.nix
|
|
../2configs/fs/CAC-CentOS-7-64bit.nix
|
|
../2configs/consul-server.nix
|
|
../2configs/exim-smarthost.nix
|
|
../2configs/git.nix
|
|
{
|
|
tv.iptables = {
|
|
enable = true;
|
|
input-internet-accept-new-tcp = [
|
|
"ssh"
|
|
"tinc"
|
|
"smtp"
|
|
];
|
|
input-retiolum-accept-new-tcp = [
|
|
"http"
|
|
];
|
|
};
|
|
}
|
|
{
|
|
krebs.retiolum = {
|
|
enable = true;
|
|
connectTo = [
|
|
"cd"
|
|
"mkdir"
|
|
"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
|
|
'';
|
|
}
|