1# Overlayfs {#sec-overlayfs} 2 3NixOS offers a convenient abstraction to create both read-only as well writable 4overlays. 5 6```nix 7{ 8 fileSystems = { 9 "/writable-overlay" = { 10 overlay = { 11 lowerdir = [ writableOverlayLowerdir ]; 12 upperdir = "/.rw-writable-overlay/upper"; 13 workdir = "/.rw-writable-overlay/work"; 14 }; 15 # Mount the writable overlay in the initrd. 16 neededForBoot = true; 17 }; 18 "/readonly-overlay".overlay.lowerdir = [ 19 writableOverlayLowerdir 20 writableOverlayLowerdir2 21 ]; 22 }; 23} 24``` 25 26If `upperdir` and `workdir` are not null, they will be created before the 27overlay is mounted. 28 29To mount an overlay as read-only, you need to provide at least two `lowerdir`s.