nixos-config/nixos/machines/robi/configuration.nix
2023-05-04 10:12:52 +02:00

113 lines
2.5 KiB
Nix

{ lib, config, pkgs, ... }: {
imports = [
../../system/all/nginx.nix
../../system/all/borg-jobs.nix
../../system/all/defaults.nix
../../system/all/syncthing.nix
../../system/server/netdata.nix
../../system/server/packages.nix
../../components/network/sshd
../../components/network/tinc
../../modules
./hetzner.nix
./borg.nix
./codimd.nix
./gitea.nix
./grocy.nix
./nextcloud.nix
./packages.nix
./syncthing.nix
./taskserver.nix
./tinc.nix
./transmission.nix
./transmission2.nix
./vaultwarden.nix
./nginx.nix
./wireguard.nix
./jellyfin.nix
#./webhook-ring.nix
#../../system/server
#./hardware-configuration.nix
#./finance.nix
#./graylog.nix
#./kibana.nix
#./mysql.nix
#./prometheus.nix
#./weechat.nix
#./property.nix # flask sucks, find something else
# matrix
./dendrite.nix
# logging
./loki.nix
./loki-promtail.nix
./prometheus.nix
./grafana.nix
./telegraf.nix
./sync-opentracker.nix
./sync-torrent.nix
];
system.custom.mainUser.enable = true;
system.custom.mainUser.userName = "palo";
# 2 hours = 2 * 60 * 60 = 7200 seconds
#services.netdata.config.global.history = 7200;
# 4 hours = 4 * 60 * 60 = 14440 seconds
services.netdata.config.global.history = 14440;
# 24 hours = 24 * 60 * 60 = 86400 seconds
#services.netdata.config.global.history = 86400;
services.sshguard.enable = true;
# Shell configuration
# -------------------
programs.custom. zsh.enable = true;
users.users.root.shell = pkgs.zsh;
security.acme.acceptTerms = true;
security.acme.defaults.email = "contact@ingolf-wagner.de";
sops.defaultSopsFile = ../../secrets/robi.yaml;
virtualisation.docker.enable = false;
services.printing.enable = false;
services.smartd.enable = true;
# chungus rsync
users.users.root.openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJkqVvuJSvRMO5pG2CHNNBxjB7HlJudK4TQs3BhbOWOD" ];
fileSystems."/var/lib/nextcloud" =
{
device = "/dev/vg/nextcloud";
fsType = "ext4";
};
fileSystems."/var/lib/borgbackup" =
{
device = "/dev/vg/borg";
fsType = "ext4";
};
fileSystems."/media" =
{
device = "/dev/vg/media";
fsType = "ext4";
};
# usually part of the wifi.nix module
# because Networkd-wait-online is just failing.
systemd.services.systemd-networkd-wait-online.enable = false;
systemd.services.NetworkManager-wait-online.enable = false;
}