{ pkgs, lib, config, machineName, ... }: { imports = [ ../../nixos/profiles/systems/zfs.nix ]; fileSystems."/" = { device = "${machineName}/root"; fsType = "zfs"; }; boot.zfs.requestEncryptionCredentials = [ machineName ]; fileSystems."/nix" = { device = "${machineName}/nix"; fsType = "zfs"; }; fileSystems."/var" = { device = "${machineName}/var"; fsType = "zfs"; }; fileSystems."/var/cache" = { device = "${machineName}/var/cache"; fsType = "zfs"; }; fileSystems."/var/log" = { device = "${machineName}/var/log"; fsType = "zfs"; }; fileSystems."/var/lib/nginx" = { device = "${machineName}/var/www"; fsType = "zfs"; }; fileSystems."/var/lib/postgresql" = { device = "${machineName}/var/postgresql"; fsType = "zfs"; # with sync=always, # though loading OpenConcerto's initial SQL # takes 1m40s instead of 40s :\ }; fileSystems."/var/lib/transmission" = { device = "${machineName}/var/torrents"; fsType = "zfs"; }; fileSystems."/var/tmp" = { device = "${machineName}/var/tmp"; fsType = "zfs"; }; fileSystems."/mnt/key" = { device = "/dev/disk/by-label/key"; fsType = "vfat"; options = [ "auto" "nofail" "uid=1000" "gid=users" "umask=111" "dmask=007" "utf8=yes" ]; }; environment.systemPackages = [ pkgs.jmtpfs ]; }