forked from jan-leila/nix-config
set up firefox impermanence
This commit is contained in:
parent
8d86de4a2d
commit
89373ac243
2 changed files with 36 additions and 26 deletions
|
@ -41,7 +41,7 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(lib.mkIf userConfig.isDesktopUser {
|
(lib.mkIf config.user.isDesktopUser {
|
||||||
vscode = {
|
vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscodium;
|
package = pkgs.vscodium;
|
||||||
|
|
|
@ -3,31 +3,41 @@
|
||||||
config,
|
config,
|
||||||
osConfig,
|
osConfig,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
# TODO: map firefox impermanence
|
buildProfilePersistence = profile: {
|
||||||
|
directories = [
|
||||||
|
".mozilla/firefox/${profile}/extensions"
|
||||||
|
];
|
||||||
|
files = [
|
||||||
|
".mozilla/firefox/${profile}/cookies.sqlite"
|
||||||
|
".mozilla/firefox/${profile}/favicons.sqlite"
|
||||||
|
# Permissions and ${profileName} levels for each site
|
||||||
|
".mozilla/firefox/${profile}/permissions.sqlite"
|
||||||
|
".mozilla/firefox/${profile}/content-prefs.sqlite"
|
||||||
|
# Browser history and bookmarks
|
||||||
|
".mozilla/firefox/${profile}/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/${profile}/storage.sqlite"
|
||||||
|
# Extension configuration
|
||||||
|
".mozilla/firefox/${profile}/extension-settings.json"
|
||||||
|
];
|
||||||
|
allowOther = true;
|
||||||
|
};
|
||||||
|
in {
|
||||||
config = lib.mkIf (config.programs.firefox.enable && osConfig.host.impermanence.enable) {
|
config = lib.mkIf (config.programs.firefox.enable && osConfig.host.impermanence.enable) {
|
||||||
# firefox profiles are defined by: programs.firefox.profile
|
home.persistence."/persist${config.home.homeDirectory}" = lib.mkMerge (
|
||||||
# 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}" = {
|
lib.attrsets.mapAttrsToList
|
||||||
# directories = [
|
(profile: _: buildProfilePersistence profile)
|
||||||
# ".mozilla/firefox/default/extensions"
|
config.programs.firefox.profiles
|
||||||
# ];
|
)
|
||||||
# files = [
|
++ (
|
||||||
# ".mozilla/firefox/default/cookies.sqlite"
|
lib.lists.optional
|
||||||
# ".mozilla/firefox/default/favicons.sqlite"
|
((builtins.length (lib.attrsets.mapAttrsToList (key: value: value) config.programs.firefox.profiles)) == 0)
|
||||||
# # Permissions and zoom levels for each site
|
(buildProfilePersistence "default")
|
||||||
# ".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;
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue