{ lib, pkgs, config, ... }: { options.programs.polycule = { enable = lib.mkEnableOption "enable polycule matrix client"; package = lib.mkPackageOption pkgs "polycule" {}; }; config = lib.mkIf config.programs.polycule.enable (lib.mkMerge [ { home.packages = [ config.programs.polycule.package ]; } ( lib.mkIf config.impermanence.enable { home.persistence."/persist${config.home.homeDirectory}" = { # TODO: check that these are actually the correct folders # directories = [ # "${config.xdg.configHome}/polycule" # "${config.xdg.dataHome}/polycule" # "${config.xdg.cacheHome}/polycule" # ]; }; } ) ]); }