NixOS NAS on a Ugreen DXP4800 Plus — Full Config

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.