52 lines
1.5 KiB
Nix
52 lines
1.5 KiB
Nix
{ config, pkgs, lib, user, ... }:
|
|
|
|
let
|
|
vendorPath = ".config/.mozilla";
|
|
configPath = "${vendorPath}/firefox";
|
|
in
|
|
{
|
|
programs.firefox = {
|
|
enable = true;
|
|
package = pkgs.firefox-bin.overrideAttrs (o: {
|
|
buildCommand =
|
|
o.buildCommand
|
|
+ ''
|
|
wrapProgram "$executablePath" \
|
|
--set 'HOME' '${config.xdg.configHome}' \
|
|
--append-flags "${
|
|
lib.concatStringsSep " " (
|
|
[
|
|
"--name firefox"
|
|
"-P ${user}"
|
|
# "--profile ${config.xdg.configHome}/.mozilla/${user}"
|
|
]
|
|
)
|
|
}"
|
|
'';
|
|
});
|
|
};
|
|
|
|
xdg.mimeApps.defaultApplications = {
|
|
"application/pdf" = "firefox.desktop";
|
|
"application/x-extension-htm" = "firefox.desktop";
|
|
"application/x-extension-html" = "firefox.desktop";
|
|
"application/x-extension-shtml" = "firefox.desktop";
|
|
"application/x-extension-xht" = "firefox.desktop";
|
|
"application/x-extension-xhtml" = "firefox.desktop";
|
|
"application/xhtml+xml" = "firefox.desktop";
|
|
"image/jpeg" = "firefox.desktop";
|
|
"image/png" = "firefox.desktop";
|
|
"text/html" = "firefox.desktop";
|
|
"text/uri-list" = "firefox.desktop";
|
|
"x-scheme-handler/chrome" = "firefox.desktop";
|
|
"x-scheme-handler/http" = "firefox.desktop";
|
|
"x-scheme-handler/https" = "firefox.desktop";
|
|
};
|
|
|
|
custom.persist = {
|
|
home.directories = [
|
|
".cache/mozilla"
|
|
".config/.mozilla"
|
|
];
|
|
};
|
|
}
|