{ config, lib, pkgs, modulesPath, ... }: let zfsMount = dev: { device = dev; fsType = "zfs"; options = [ "nofail" ]; }; bindMount = dev: { device = dev; options = [ "bind" "nofail" ]; }; in { fileSystems = { # Core filesystems "/" = { device = "/dev/disk/by-uuid/75addc56-2a0d-431e-a0c5-f6ee0e370e61"; fsType = "ext4"; }; "/boot" = { device = "/dev/disk/by-uuid/610F-1EB7"; fsType = "vfat"; options = [ "fmask=0022" "dmask=0022" ]; }; # ZFS filesystems "/pool/tvb" = zfsMount "pool/user/tvb"; "/home/tvb/doc" = zfsMount "pool/user/tvb/doc"; "/pool/tvb/doc" = bindMount "/home/tvb/doc"; "/home/tvb/game" = zfsMount "pool/user/tvb/game"; "/pool/tvb/game" = bindMount "/home/tvb/game"; "/home/tvb/video" = zfsMount "pool/user/tvb/video"; "/pool/tvb/video" = bindMount "/home/tvb/video"; "/home/tvb/audio" = zfsMount "pool/user/tvb/audio"; "/pool/tvb/audio" = bindMount "/home/tvb/audio"; "/home/tvb/image" = zfsMount "pool/user/tvb/image"; "/pool/tvb/image" = bindMount "/home/tvb/image"; }; swapDevices = [ { device = "/dev/disk/by-uuid/cc464bb4-e1c8-46c0-adbb-ea1a3cfa5b03"; } ]; }