fix: allow using virtiofs share as writable /nix/store overlay #419
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Fix #43
The overlayfs already supported virtiofs since this PR: torvalds/linux@c6b80eb
Specifically, these two commits:
Now, looking at the current implementation (Linux Kernel v6.17), the overlayfs will check for xattr support of the upper , by trying to set
(trusted|user).overlay.*xattr. By default, it will set using thetrustednamespace, which requiresCAP_SYS_ADMINcapability:ovl_setxattr()callnoxattrwill be set totrueTo mitigate this, we can use
userxattrmount option to use theusernamespace instead.Also, using the NixOS' new
overlayfileSystems API can increase code readability and maintainability.References:
NixOS/nixpkgs#290730
https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/tasks/filesystems/overlayfs.nix