2022-06-12 15:39:15 +00:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
2022-12-18 13:54:23 +00:00
|
|
|
lib,
|
2022-06-12 15:39:15 +00:00
|
|
|
...
|
|
|
|
}: {
|
2022-01-14 09:19:01 +00:00
|
|
|
imports = [
|
|
|
|
./zfs.nix
|
2022-01-14 10:21:55 +00:00
|
|
|
./users/darkkirb.nix
|
2022-04-13 10:29:06 +00:00
|
|
|
./users/root.nix
|
2022-01-14 13:03:14 +00:00
|
|
|
./nix.nix
|
2022-01-14 14:13:55 +00:00
|
|
|
./sops.nix
|
2022-12-14 09:40:28 +00:00
|
|
|
./wireguard
|
2022-01-15 15:09:02 +00:00
|
|
|
./home.nix
|
2022-01-15 17:11:38 +00:00
|
|
|
./services/restic.nix
|
2022-02-19 07:01:07 +00:00
|
|
|
./specialization.nix
|
2022-03-06 10:44:08 +00:00
|
|
|
./services/promtail.nix
|
2022-08-14 18:52:12 +00:00
|
|
|
./env.nix
|
2022-01-14 09:19:01 +00:00
|
|
|
];
|
2022-01-14 10:21:55 +00:00
|
|
|
services.openssh.enable = true;
|
2022-06-13 11:42:55 +00:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
git
|
|
|
|
];
|
2022-06-12 15:39:15 +00:00
|
|
|
networking.firewall.allowedTCPPorts = [22];
|
2022-01-24 08:12:50 +00:00
|
|
|
networking.firewall.allowedUDPPortRanges = [
|
|
|
|
{
|
|
|
|
from = 60000;
|
|
|
|
to = 61000;
|
|
|
|
}
|
|
|
|
];
|
2022-01-15 09:55:15 +00:00
|
|
|
|
2022-01-15 15:09:02 +00:00
|
|
|
users.defaultUserShell = pkgs.zsh;
|
|
|
|
|
2022-04-24 18:23:27 +00:00
|
|
|
# Enable zram swap in every case
|
|
|
|
zramSwap = {
|
|
|
|
enable = true;
|
|
|
|
};
|
|
|
|
|
2022-01-15 09:55:15 +00:00
|
|
|
# Prometheus node exporter
|
|
|
|
services.prometheus.exporters.node = {
|
|
|
|
enable = true;
|
|
|
|
enabledCollectors = [
|
|
|
|
"interrupts"
|
|
|
|
"lnstat"
|
|
|
|
"mountstats"
|
|
|
|
"network_route"
|
|
|
|
"ntp"
|
|
|
|
"processes"
|
|
|
|
"systemd"
|
|
|
|
"tcpstat"
|
|
|
|
];
|
|
|
|
listenAddress = (import ../utils/getInternalIP.nix config).listenIP;
|
|
|
|
};
|
2022-06-12 15:39:15 +00:00
|
|
|
networking.firewall.interfaces."wg0".allowedTCPPorts = [config.services.prometheus.exporters.node.port];
|
2022-01-15 11:57:44 +00:00
|
|
|
|
2022-06-12 15:39:15 +00:00
|
|
|
environment.pathsToLink = ["/share/zsh"];
|
2022-01-18 10:59:26 +00:00
|
|
|
|
|
|
|
console.keyMap = "neo";
|
2022-01-18 13:38:04 +00:00
|
|
|
|
2022-01-21 09:12:49 +00:00
|
|
|
security.sudo.extraConfig = ''
|
|
|
|
Defaults env_keep += "TMUX"
|
|
|
|
'';
|
2022-02-01 20:22:17 +00:00
|
|
|
|
2022-02-02 10:42:00 +00:00
|
|
|
programs.gnupg.agent = {
|
|
|
|
enable = true;
|
|
|
|
enableSSHSupport = true;
|
|
|
|
};
|
2022-04-13 10:29:06 +00:00
|
|
|
users.mutableUsers = false;
|
2022-06-12 15:39:15 +00:00
|
|
|
boot.kernelParams = ["nohibernate"];
|
2022-12-14 09:46:40 +00:00
|
|
|
|
|
|
|
sops.secrets."root/aws/credentials" = {
|
|
|
|
sopsFile = ../secrets/shared.yaml;
|
|
|
|
owner = "root";
|
|
|
|
key = "aws/credentials";
|
|
|
|
path = "/root/.aws/credentials";
|
|
|
|
};
|
2022-12-15 10:13:10 +00:00
|
|
|
networking.nameservers = ["fd0d:a262:1fa6:e621:b4e1:08ff:e658:6f49" "fd0d:a262:1fa6:e621:746d:4523:5c04:1453"];
|
2022-12-18 13:54:23 +00:00
|
|
|
|
|
|
|
# Archetype configuration
|
|
|
|
networking.hostName = lib.mkDefault "nixos";
|
|
|
|
networking.hostId = lib.mkDefault "00000000";
|
|
|
|
networking.wireguard.interfaces."wg0".ips = lib.mkDefault ["fd0d:a262:1fa6:e621::/64"];
|
2022-01-14 09:19:01 +00:00
|
|
|
}
|