{ lib, config, osConfig, ... }: { # TODO: map firefox impermanence config = lib.mkIf (config.programs.firefox.enable && osConfig.host.impermanence.enable) { # firefox profiles are defined by: programs.firefox.profile # TODO: only set these if we arn't using custom firefox profiles. If we are using custom profiles then we should set this for each firefox profile # home.persistence."/persist${config.home.homeDirectory}" = { # directories = [ # ".mozilla/firefox/default/extensions" # ]; # files = [ # ".mozilla/firefox/default/cookies.sqlite" # ".mozilla/firefox/default/favicons.sqlite" # # Permissions and zoom levels for each site # ".mozilla/firefox/default/permissions.sqlite" # ".mozilla/firefox/default/content-prefs.sqlite" # # Browser history and bookmarks # ".mozilla/firefox/default/places.sqlite" # # I guess this is useful? # # https://bugzilla.mozilla.org/show_bug.cgi?id=1511384 # # https://developer.mozilla.org/en-US/docs/Web/API/Storage_API/Storage_quotas_and_eviction_criteria # ".mozilla/firefox/default/storage.sqlite" # # Extension configuration # ".mozilla/firefox/default/extension-settings.json" # ]; # allowOther = true; # }; }; }