Reach out to the community using the Mailing Lists or IRC at #zfsonlinux on Libera Chat.

If you have a bug report or feature request related to this HOWTO, please file a new issue and mention @ne9z.


Note: this is for installing ZFS on an existing NixOS installation. To use ZFS as root file system, see below.

Live image ships with ZFS support by default.

  1. Import separate configration file for ZFS options:

    vim /etc/nixos/configuration.nix
    ##add './zfs.nix' to 'imports'
    # imports = [ ./zfs.nix ];
  2. Configure ZFS options:

    tee -a /etc/nixos/zfs.nix <<EOF
    { config, pkgs, ... }:
    { boot.supportedFilesystems = [ "zfs" ];
      networking.hostId = "$(head -c 8 /etc/machine-id)";
  3. Apply configuation changes:

    nixos-rebuild switch

Root on ZFS

ZFS can be used as root file system for NixOS. An installation guide is available.

Start from “Preparation”.


  1. Fork and clone this repo.

  2. Launch an ephemeral nix-shell with the following packages:

    nix-shell -p python39 python39Packages.pip gnumake \
  3. Create python virtual environment and install packages:

    cd openzfs-docs
    python -m venv .venv
    source .venv/bin/activate
    pip install -r docs/requirements.txt
  4. Make your changes.

  5. Test:

    make html
    sensible-browser _build/html/index.html
  6. git commit --signoff to a branch, git push, and create a pull request. Mention @ne9z.