Compare commits

..

No commits in common. "4e94731d9c33c95e6776116e3e8a6ea6f1bf60e2" and "8d86de4a2d7f9d9586219ba2202283b086c0e5b7" have entirely different histories.

3 changed files with 27 additions and 46 deletions

View file

@ -41,7 +41,7 @@ in {
];
};
})
(lib.mkIf config.user.isDesktopUser {
(lib.mkIf userConfig.isDesktopUser {
vscode = {
enable = true;
package = pkgs.vscodium;

View file

@ -3,41 +3,31 @@
config,
osConfig,
...
}: let
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 {
}: {
# TODO: map firefox impermanence
config = lib.mkIf (config.programs.firefox.enable && osConfig.host.impermanence.enable) {
home.persistence."/persist${config.home.homeDirectory}" = lib.mkMerge (
(
lib.attrsets.mapAttrsToList
(profile: _: buildProfilePersistence profile)
config.programs.firefox.profiles
)
++ (
lib.lists.optional
((builtins.length (lib.attrsets.mapAttrsToList (key: value: value) config.programs.firefox.profiles)) == 0)
(buildProfilePersistence "default")
)
);
# 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;
# };
};
}

View file

@ -17,16 +17,7 @@
}
(
lib.mkIf osConfig.host.impermanence.enable {
home.persistence."/persist${config.home.homeDirectory}" = {
directories = [
# configuration
"~/.config/JetBrains/"
# plugins
"~/.local/share/JetBrains/"
# System and Logs
"~/.cache/JetBrains/"
];
};
# TODO: map impermanence for idea-community
}
)
]);