83 lines
1.5 KiB
Nix
83 lines
1.5 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
{
|
|
# Core Appliance Settings
|
|
services.naxos.core = {
|
|
enable = true;
|
|
hostName = "naxos";
|
|
timeZone = "Europe/Berlin";
|
|
};
|
|
|
|
# Declarative ZFS Storage Engine
|
|
services.naxos.storage = {
|
|
enable = true;
|
|
arcMaxBytes = 4294967296; # 4GB default
|
|
autoScrub.enable = true;
|
|
autoTrim.enable = true;
|
|
autoSnapshot = {
|
|
enable = true;
|
|
hourly = 24;
|
|
daily = 7;
|
|
weekly = 4;
|
|
monthly = 12;
|
|
};
|
|
};
|
|
|
|
# Network File Shares
|
|
services.naxos.shares.samba = {
|
|
enable = true;
|
|
workgroup = "WORKGROUP";
|
|
serverString = "NaxOS Appliance";
|
|
netbiosName = "naxos";
|
|
};
|
|
|
|
services.naxos.shares.nfs = {
|
|
enable = true;
|
|
};
|
|
|
|
# Workload Runtime & App Engine
|
|
services.naxos.appEngine = {
|
|
enable = true;
|
|
defaultRuntime = "docker";
|
|
docker.enable = true;
|
|
gpuAcceleration.enable = true;
|
|
};
|
|
|
|
# Telemetry & Native Perses Analytics
|
|
services.naxos.monitoring = {
|
|
enable = true;
|
|
};
|
|
|
|
services.naxos.perses = {
|
|
enable = true;
|
|
port = 8080;
|
|
};
|
|
|
|
# Management API & Web Dashboard
|
|
services.naxos.api = {
|
|
enable = true;
|
|
port = 8088;
|
|
};
|
|
|
|
services.naxos.ui = {
|
|
enable = true;
|
|
port = 80;
|
|
sslPort = 443;
|
|
};
|
|
|
|
# GitOps Configuration
|
|
services.naxos.gitops = {
|
|
enable = true;
|
|
autoPushOnCommit = true;
|
|
};
|
|
|
|
# Automated Updates
|
|
services.naxos.selfUpdate = {
|
|
enable = true;
|
|
channel = "stable";
|
|
};
|
|
|
|
# Nix System State Version
|
|
system.stateVersion = "24.11";
|
|
}
|