I recently set up a fully declarative NixOS NAS on a Ugreen DXP4800 Plus and wanted to share the config in case anyone is working with similar hardware.
Hardware: Ugreen DXP4800 Plus, 3× 8TB IronWolf in RAID5 for data, 2× 128GB NVMe in RAID1 for the OS.
What the config covers:
-
mdadm RAID1 (OS) + RAID5 (data) with disko
-
btrfs with zstd compression and monthly scrub
-
NFS exports for Proxmox backups and Jellyfin media
-
SMART monitoring with temperature alerts
-
Fail2Ban on SSH
-
HDD spindown and acoustic management
-
Fan control via out-of-tree it87 kernel module (ITE IT8613E)
-
Protection of the original UGOS SSD for warranty
-
A terminal dashboard script for monitoring over SSH
DXP4800 Plus specific quirks:
-
Only boots from internal NVMe slot, so the NixOS bootloader has to live on the UGOS SSD ESP
-
WatchDog in BIOS needs to be disabled (reboots after 180s expecting UGOS)
-
Fan chip needs out-of-tree kernel module
Repo: https://github.com/daskladas/nasdots
Feedback and suggestions welcome. I’m still learning Nix so the config might not be perfect, happy to hear how it could be improved.