{...}: { flake.homeModules.home-manager-element-desktop = { lib, pkgs, config, ... }: let cfg = config.programs.element-desktop; in { options.programs.element-desktop = { enable = lib.mkEnableOption "enable Element Desktop"; package = lib.mkOption { type = lib.types.package; default = pkgs.element-desktop; description = "Browser package to use for the PWA"; }; }; config = lib.mkIf cfg.enable (lib.mkMerge [ { home.packages = with pkgs; [ element-desktop ]; } ( lib.mkIf (config.impermanence.enable) { # TODO: create me } ) ]); }; }