{ pkgs, lib, config, hostName, ... }: { imports = [ ../../nixos/profiles/systems/zfs.nix ]; fileSystems."/" = { device = "${hostName}/root"; fsType = "zfs"; }; boot.zfs.requestEncryptionCredentials = [ hostName ]; fileSystems."/nix" = { device = "${hostName}/nix"; fsType = "zfs"; }; fileSystems."/var" = { device = "${hostName}/var"; fsType = "zfs"; }; fileSystems."/var/cache" = { device = "${hostName}/var/cache"; fsType = "zfs"; }; fileSystems."/var/log" = { device = "${hostName}/var/log"; fsType = "zfs"; }; fileSystems."/var/lib/nginx" = { device = "${hostName}/var/www"; fsType = "zfs"; }; fileSystems."/var/lib/postgresql" = { device = "${hostName}/var/postgresql"; fsType = "zfs"; # with sync=always, # though loading OpenConcerto's initial SQL # takes 1m40s instead of 40s :\ }; fileSystems."/var/lib/transmission" = { device = "${hostName}/var/torrents"; fsType = "zfs"; }; fileSystems."/var/tmp" = { device = "${hostName}/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" ]; }; # Allow members of the "adbusers" group to mount Android devices via MTP services.udev.packages = [ pkgs.android-udev-rules ]; environment.systemPackages = [ pkgs.go-mtpfs pkgs.ntfs3g ]; }