nixfiles/hosts/hetzner-vm/hetzner-vm.nix

62 lines
1.4 KiB
Nix
Raw Normal View History

{
tree,
lib,
pkgs,
config,
...
}: {
2021-12-28 15:09:51 +00:00
imports = with tree; [
2021-12-28 22:59:28 +00:00
users.root
2021-12-28 21:42:46 +00:00
2021-12-29 16:21:53 +00:00
profiles.base
2021-12-28 15:09:51 +00:00
profiles.sshd
2022-11-02 10:24:47 +00:00
profiles.nginx
2022-11-02 11:32:03 +00:00
profiles.nix-gc
2023-08-09 20:53:22 +01:00
profiles.kernels.latest
2021-12-28 21:42:46 +00:00
./containers/storage/storage.nix
./containers/social/social.nix
./containers/music/music.nix
2023-08-01 20:53:25 +01:00
./containers/quassel/quassel.nix
2023-08-01 22:06:30 +01:00
./containers/piped/piped.nix
2023-08-09 15:11:04 +01:00
./containers/mail/mail.nix
2022-11-17 12:06:16 +00:00
hosts.hetzner-vm.profiles.gitlab-static-sites
hosts.hetzner-vm.profiles.wireguard
2023-05-25 13:41:20 +01:00
hosts.hetzner-vm.profiles.nginx-misc
2021-12-28 21:42:46 +00:00
2022-11-02 11:32:03 +00:00
./networking.nix
./hardware.nix
2022-11-02 12:24:55 +00:00
./secrets.nix
2021-12-28 15:09:51 +00:00
];
environment.systemPackages = with pkgs; [
(pkgs.writeShellScriptBin "journalctl-vaccum-all" ''
journalctl --vacuum-size=100M
${lib.concatStringsSep "\n" (lib.forEach (lib.attrNames config.containers) (name: ''
journalctl --vacuum-size=100M --root /var/lib/nixos-containers/${name}
''))}
'')
];
2022-12-20 15:28:31 +00:00
# For Containers
networking.nat = {
enable = true;
internalInterfaces = ["ve-+"];
externalInterface = "eth0";
};
networking.firewall.allowedTCPPorts = [80 443];
2022-12-15 14:58:34 +00:00
networking.firewall.allowedUDPPorts = [443];
2022-11-02 10:24:47 +00:00
home-manager.users.root = {
imports = with tree; [home.base home.dev.small];
2022-06-22 15:51:22 +01:00
home.stateVersion = "22.05";
};
2022-05-09 09:03:00 +01:00
2021-12-28 15:09:51 +00:00
networking.hostName = "hetzner-vm";
time.timeZone = "Europe/London";
system.stateVersion = "22.05";
2021-12-28 15:09:51 +00:00
}