Files
nix-homelab/hosts/nixos/default.nix

64 lines
1.5 KiB
Nix

{ lib, ... }:
let
hardwarePath = ./hardware-configuration.nix;
in
{
imports = [
../../profiles/server-base.nix
../../modules/control.nix
../../modules/services/homeassistant.nix
../../modules/services/jellyfin.nix
../../modules/services/gitea.nix
../../modules/services/navidrome.nix
../../modules/services/vaultwarden.nix
../../modules/services/nextcloud.nix
../../modules/services/k3s.nix
] ++ lib.optionals (builtins.pathExists hardwarePath) [ hardwarePath ];
networking.hostName = "nixos";
# Bootloader defaults; adjust per host.
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
boot.loader.grub.useOSProber = true;
# Central service switchboard.
control = {
homeassistant.enable = true;
jellyfin.enable = false;
gitea.enable = false;
navidrome = {
enable = false;
musicFolder = "/mnt/seagate8tb/navidrome/music";
dataFolder = "/mnt/seagate8tb/navidrome/data";
port = 4533;
openFirewall = true;
};
vaultwarden = {
enable = false;
domain = "http://vaultwarden.local";
port = 8222;
openFirewall = true;
};
nextcloud = {
enable = false;
hostName = "nextcloud.local";
adminPassFile = null;
openFirewall = true;
};
k3s = {
enable = true;
role = "server";
clusterInit = true;
tokenFile = null;
serverAddr = null;
openFirewall = true;
};
};
}