163 lines
5.9 KiB
Nix
Raw Normal View History

2022-04-22 02:15:29 +03:00
{ config, pkgs, lib, ... }:
with lib;
let
thm = config.lib.base16.theme;
fonts = config.lib.base16.theme.fonts;
2022-12-10 22:34:39 +03:00
profileName = config.mainuser;
2022-12-14 23:49:46 +03:00
homeDir = config.home-manager.users.${profileName}.home.homeDirectory;
2022-04-22 02:15:29 +03:00
profilePath = ".mozilla/firefox/${profileName}";
mkUserJs = { prefs ? {}, extraPrefs ? "" }: ''
${extraPrefs}
${concatStrings (mapAttrsToList (name: value: ''
user_pref("${name}", ${builtins.toJSON value});
'') prefs)}
'';
firefox-kpoxa = pkgs.writeShellScriptBin "firefox-kpoxa" ''
2022-12-14 23:49:46 +03:00
${pkgs.firefox}/bin/firefox -profile ${homeDir}/.mozilla/firefox/kpoxa
2022-04-22 02:15:29 +03:00
'';
in {
2023-03-27 16:00:57 +03:00
services.dbus.packages = [ pkgs.firefox-wayland ];
2022-04-22 02:15:29 +03:00
environment.sessionVariables = {
MOZ_USE_XINPUT2 = "1";
MOZ_DBUS_REMOTE = "1";
};
# programs.browserpass.enable = true;
defaultApplications.browser = {
2022-12-14 23:49:46 +03:00
cmd = "${pkgs.firefox}/bin/firefox";
2022-04-22 02:15:29 +03:00
desktop = "firefox";
};
2022-12-10 22:34:39 +03:00
home-manager.users.${config.mainuser} = {
2022-04-22 02:15:29 +03:00
home.packages = [ firefox-kpoxa ];
2022-12-07 22:18:00 +03:00
# Mailvelope GnuPG integration
home.file.".mozilla/native-messaging-hosts/gpgmejson.json".text = ''
{
"name": "gpgmejson",
"description": "JavaScript binding for GnuPG",
"path": "${pkgs.gpgme.dev}/bin/gpgme-json",
"type": "stdio",
"allowed_extensions": ["jid1-AQqSMBYb0a8ADg@jetpack"]
}
'';
2022-04-22 02:15:29 +03:00
programs.firefox = {
enable = true;
2022-12-14 23:49:46 +03:00
package = pkgs.firefox;
2022-04-22 02:15:29 +03:00
profiles = {
2022-12-10 22:34:39 +03:00
${config.mainuser} = {
2022-04-22 02:15:29 +03:00
id = 0;
userChrome = ''
#TabsToolbar {
visibility: collapse;
}
toolbar#nav-bar, nav-bar-customization-target {
background: ${thm.base00-hex} !important;
}
@-moz-document url("about:newtab") {
* { background-color: ${thm.base00-hex} !important; }
}
'';
userContent = ''
.scroll-styled-h, .scroll-styled-v, html {
scrollbar-color: #495460 rgba(255, 255, 255, .0);
scrollbar-width: thin;
}
'';
extraConfig = mkUserJs {
prefs = {
"network.http.referer.XOriginPolicy" = 0;
"signon.rememberSignons" = false;
"browser.quitShortcut.disabled" = true;
"general.autoScroll" = true;
"extensions.pocket.enabled" = false;
"browser.startup.page" = 1;
2023-04-15 03:20:22 +03:00
"browser.startup.homepage" = "https://ataraxiadev.com";
2022-04-22 02:15:29 +03:00
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.search.suggest.enabled" = true;
"ui.context_menus.after_mouseup" = true;
"font.name.monospace.x-western" = "${fonts.mono.family}";
"font.name.sans-serif.x-western" = "${fonts.main.family}";
"font.name.serif.x-western" = "${fonts.serif.family}";
"browser.display.background_color" = thm.base00-hex;
"browser.display.foreground_color" = thm.base05-hex;
"browser.anchor_color" = thm.base0D-hex;
"browser.visited_color" = thm.base0C-hex;
"browser.display.use_document_fonts" = true;
2023-03-27 20:57:06 +03:00
"pdfjs.disabled" = false;
2022-04-22 02:15:29 +03:00
"media.eme.enabled" = true;
2023-02-14 07:04:20 +03:00
"media.ffmpeg.vaapi.enabled" = true;
2022-04-22 02:15:29 +03:00
"experiments.activeExperiment" = false;
"experiments.enabled" = false;
"experiments.supported" = false;
"network.allow-experiments" = false;
2023-01-26 00:36:27 +03:00
2023-04-15 03:20:22 +03:00
"network.protocol-handler.external.element" = false;
2023-01-26 00:36:27 +03:00
# "identity.sync.tokenserver.uri" = "https://fsync.ataraxiadev.com/1.0/sync/1.5";
2022-04-22 02:15:29 +03:00
};
2023-05-24 21:30:50 +03:00
extraPrefs = "${fileContents "${pkgs.arkenfox-userjs}/share/user.js/user.js"}";
2022-04-22 02:15:29 +03:00
};
};
kpoxa = {
id = 1;
userContent = ''
.scroll-styled-h, .scroll-styled-v, html {
scrollbar-color: #495460 rgba(255, 255, 255, .0);
scrollbar-width: thin;
}
'';
extraConfig = mkUserJs {
prefs = {
"network.http.referer.XOriginPolicy" = 0;
"signon.rememberSignons" = false;
"general.autoScroll" = true;
"extensions.pocket.enabled" = false;
2023-04-15 03:20:22 +03:00
"browser.startup.homepage" = "https://ataraxiadev.com";
2022-04-22 02:15:29 +03:00
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.search.suggest.enabled" = true;
"browser.urlbar.suggest.searches" = true;
"ui.context_menus.after_mouseup" = true;
"keyword.enabled" = true;
"media.eme.enabled" = true;
"browser.startup.page" = 3;
"browser.sessionstore.privacy_level" = 0;
"privacy.clearOnShutdown.history" = false;
2022-09-29 18:53:46 +03:00
"privacy.clearOnShutdown.cookies" = false;
2022-04-22 02:15:29 +03:00
"privacy.cpd.history" = false;
"font.name.monospace.x-western" = "${fonts.mono.family}";
"font.name.sans-serif.x-western" = "${fonts.main.family}";
"font.name.serif.x-western" = "${fonts.serif.family}";
"browser.display.background_color" = thm.base00-hex;
"browser.display.foreground_color" = thm.base05-hex;
"browser.anchor_color" = thm.base0D-hex;
"browser.visited_color" = thm.base0C-hex;
"browser.display.use_document_fonts" = true;
"experiments.activeExperiment" = false;
"experiments.enabled" = false;
"experiments.supported" = false;
"network.allow-experiments" = false;
2023-04-15 03:20:22 +03:00
"network.protocol-handler.external.element" = false;
2022-04-22 02:15:29 +03:00
};
2023-05-24 21:30:50 +03:00
extraPrefs = "${fileContents "${pkgs.arkenfox-userjs}/share/user.js/user.js"}";
2022-04-22 02:15:29 +03:00
};
};
};
};
};
2022-12-14 23:49:46 +03:00
persist.state.homeDirectories = [
2023-03-27 16:00:57 +03:00
".mozilla/firefox/${config.mainuser}"
2022-12-14 23:49:46 +03:00
".mozilla/firefox/kpoxa"
];
2022-04-22 02:15:29 +03:00
}