161 lines
4.3 KiB
Nix
161 lines
4.3 KiB
Nix
{ lib, pkgs, ... }: {
|
|
imports = [
|
|
./fleet.nix
|
|
./utils/bento.nix
|
|
./utils/modules/sops.nix
|
|
./utils/modules/lego/lego.nix
|
|
./utils/modules/nginx.nix
|
|
|
|
./utils/modules/autoupgrade.nix
|
|
./utils/modules/promtail
|
|
./utils/modules/borgbackup.nix
|
|
# ./utils/modules/netdata.nix
|
|
|
|
# fw
|
|
./modules/network-prefix.nix
|
|
./modules/networking.nix
|
|
./modules/setupnetwork.nix
|
|
./modules/firewall.nix
|
|
# ./modules/dhcp4.nix
|
|
# ./modules/unbound.nix
|
|
|
|
./modules/dnsmasq.nix
|
|
./modules/avahi.nix
|
|
./modules/openconnect.nix
|
|
./modules/wireguard.nix
|
|
./modules/podman.nix
|
|
./modules/omada.nix
|
|
./modules/ddclient.nix
|
|
./utils/modules/victoriametrics
|
|
# ./modules/wol.nix
|
|
|
|
|
|
# microvm
|
|
./modules/microvm.nix
|
|
./modules/gitea-vm.nix
|
|
# ./modules/vscode-server.nix # Add VS Code Server microvm
|
|
|
|
./modules/ai-mailer.nix
|
|
# ./modules/wazuh.nix
|
|
|
|
# web
|
|
./modules/web
|
|
|
|
# git
|
|
./modules/gitea.nix
|
|
# ./modules/fwmetrics.nix
|
|
|
|
# ha customers
|
|
./modules/ha-customers
|
|
|
|
# ./modules/firefox-sync.nix
|
|
|
|
# home assistant
|
|
./modules/home-assistant
|
|
./modules/deconz.nix
|
|
# ./modules/mopidy.nix
|
|
# ./modules/mosquitto.nix
|
|
# ./modules/snapserver.nix
|
|
./modules/lms.nix
|
|
|
|
# gaming
|
|
# ./modules/palworld.nix
|
|
# ./modules/ark-survival-evolved.nix
|
|
./modules/foundry-vtt.nix
|
|
|
|
# setup network
|
|
./modules/setupnetwork.nix
|
|
./modules/set-nix-channel.nix # Automatically manage nix-channel from /var/bento/channel
|
|
./modules/grafana-monitor.nix # Grafana online status monitor
|
|
|
|
|
|
./hardware-configuration.nix
|
|
];
|
|
|
|
networkPrefix = "10.42";
|
|
|
|
nixpkgs.overlays = [
|
|
(import ./utils/overlays/packages.nix)
|
|
];
|
|
|
|
nixpkgs.config.permittedInsecurePackages = [
|
|
"openssl-1.1.1w"
|
|
];
|
|
|
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
|
"mongodb"
|
|
"ai-mailer"
|
|
];
|
|
|
|
time.timeZone = "Europe/Vienna";
|
|
|
|
services.logind.extraConfig = "RuntimeDirectorySize=2G";
|
|
|
|
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
|
sops.defaultSopsFile = ./secrets.yaml;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
bento
|
|
conntrack-tools # view network connection states
|
|
ethtool # manage NIC settings (offload, NIC feeatures, ...)
|
|
git
|
|
htop # to see the system load
|
|
tcpdump # view network traffic
|
|
vim # my preferred editor
|
|
wol
|
|
inotify-tools
|
|
];
|
|
|
|
nix = {
|
|
settings.auto-optimise-store = true;
|
|
gc = {
|
|
automatic = true;
|
|
dates = "weekly";
|
|
options = "--delete-older-than 60d";
|
|
};
|
|
# Free up to 1GiB whenever there is less than 100MiB left.
|
|
extraOptions = ''
|
|
min-free = ${toString (100 * 1024 * 1024)}
|
|
max-free = ${toString (1024 * 1024 * 1024)}
|
|
'';
|
|
};
|
|
|
|
services.tlp = {
|
|
enable = true;
|
|
settings = {
|
|
CPU_SCALING_GOVERNOR_ON_AC = "powersave"; # powersave or performance
|
|
CPU_ENERGY_PERF_POLICY_ON_AC = "power"; # power or performance
|
|
# CPU_MIN_PERF_ON_AC = 0;
|
|
# CPU_MAX_PERF_ON_AC = 100; # max 100
|
|
};
|
|
};
|
|
|
|
systemd.services = {
|
|
powertop = {
|
|
wantedBy = [ "multi-user.target" ];
|
|
after = [ "multi-user.target" ];
|
|
description = "Powertop tunings";
|
|
path = [ pkgs.kmod ];
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
RemainAfterExit = "yes";
|
|
ExecStart = "${pkgs.powertop}/bin/powertop --auto-tune && for dev in /sys/class/net/*; do echo on > \"$dev/device/power/control\"; done'";
|
|
};
|
|
};
|
|
};
|
|
|
|
boot.tmp.cleanOnBoot = true;
|
|
zramSwap.enable = true;
|
|
networking.hostName = "fw";
|
|
services.openssh.enable = true;
|
|
users.users.root.openssh.authorizedKeys.keys = [
|
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDN/2SAFm50kraB1fepAizox/QRXxB7WbqVbH+5OPalDT47VIJGNKOKhixQoqhABHxEoLxdf/C83wxlCVlPV9poLfDgVkA3Lyt5r3tSFQ6QjjOJAgchWamMsxxyGBedhKvhiEzcr/Lxytnoz3kjDG8fqQJwEpdqMmJoMUfyL2Rqp16u+FQ7d5aJtwO8EUqovhMaNO7rggjPpV/uMOg+tBxxmscliN7DLuP4EMTA/FwXVzcFNbOx3K9BdpMRAaSJt4SWcJO2cS2KHA5n/H+PQI7nz5KN3Yr/upJN5fROhi/SHvK39QOx12Pv7FCuWlc+oR68vLaoCKYhnkl3DnCfc7A7"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIRQuPqH5fdX3KEw7DXzWEdO3AlUn1oSmtJtHB71ICoH Generated By Termius"
|
|
];
|
|
|
|
# backups
|
|
borgbackup.repo = "u149513-sub2@u149513-sub2.your-backup.de:borg";
|
|
|
|
system.stateVersion = "22.05";
|
|
}
|