nixos-config/config/default.nix

94 lines
2 KiB
Nix
Raw Normal View History

2022-06-12 15:39:15 +00:00
{
config,
pkgs,
lib,
2022-06-12 15:39:15 +00:00
...
}: {
2022-01-14 09:19:01 +00:00
imports = [
./zfs.nix
./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
./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
./services/promtail.nix
2022-08-14 18:52:12 +00:00
./env.nix
2023-02-01 20:01:01 +00:00
./tailscale.nix
2022-01-14 09:19:01 +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"
];
2023-02-02 20:34:19 +00:00
listenAddress = "0.0.0.0";
2022-01-15 09:55:15 +00:00
};
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
security.sudo.extraConfig = ''
Defaults env_keep += "TMUX"
'';
2022-02-01 20:22:17 +00:00
2023-03-25 08:52:50 +00:00
programs.zsh.enable = true;
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";
};
2023-01-14 19:58:07 +00:00
sops.secrets."root/ssh/builder_id_ed25519" = {
2023-01-14 13:57:00 +00:00
sopsFile = ../secrets/shared.yaml;
owner = "root";
key = "ssh/builder_id_ed25519";
2023-01-14 19:58:07 +00:00
path = "/root/.ssh/builder_id_ed25519";
};
sops.secrets."darkkirb/ssh/builder_id_ed25519" = {
sopsFile = ../secrets/shared.yaml;
owner = "darkkirb";
key = "ssh/builder_id_ed25519";
path = "/home/darkkirb/.ssh/builder_id_ed25519";
2023-01-14 13:57:00 +00:00
};
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-01-14 09:19:01 +00:00
}