Unable to Enable user_xattr on Root Filesystem for Docker on NixOS

I’m encountering an issue where Docker fails to pull certain images due to extended attributes not being enabled on the root filesystem. Specifically, I get the following error:

failed to register layer: lsetxattr user.overlay.impure /etc: operation not supported

Here’s my setup:

  • NixOS version: 24.05
  • Kernel: 6.6.68
  • Filesystem: ext4
  • Docker storage driver: overlay2

What I’ve Tried So Far

1. Adding user_xattr to / in configuration.nix:

fileSystems."/" = {
  device = "/dev/disk/by-uuid/5fb1cac8-df9f-4550-b034-443dd19e162c";
  fsType = "ext4";
  options = [ "rw" "relatime" "user_xattr" ];
};

After running sudo nixos-rebuild switch --flake and rebooting, the mount options for / still do not show user_xattr:

$ mount | grep "on / "
/dev/nvme0n1p2 on / type ext4 (rw,relatime)

2. Manually Remounting /:

I tried remounting the root filesystem manually:

sudo mount -o remount,rw,relatime,user_xattr /

Even after this, mount | grep "on / " doesn’t show user_xattr. Additionally, running sudo getfattr -d /etc doesn’t return any attributes.

3. Checking Kernel Support for xattr:

I ran:

zgrep CONFIG_EXT4_FS_XATTR /proc/config.gz

But it returned nothing, indicating that either the kernel configuration file isn’t available or the kernel lacks CONFIG_EXT4_FS_XATTR.

Any advice or guidance would be greatly appreciated. Thank you!