2024-07-14 13:31:28 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
inputs,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}: let
|
2024-07-21 20:14:19 +02:00
|
|
|
cfg = config.modules.system.programs.firefox;
|
2024-07-14 13:31:28 +02:00
|
|
|
inherit (config.modules.other.system) username;
|
|
|
|
|
2024-07-21 20:14:19 +02:00
|
|
|
inherit (lib) mkIf;
|
2024-08-07 00:12:28 +02:00
|
|
|
inherit (builtins) listToAttrs;
|
2024-07-14 13:31:28 +02:00
|
|
|
in {
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
home-manager.users.${username} = {
|
|
|
|
imports = [inputs.schizofox.homeManagerModule];
|
|
|
|
|
|
|
|
programs.schizofox = {
|
|
|
|
enable = true;
|
2024-08-05 19:29:19 +02:00
|
|
|
|
2024-07-14 13:31:28 +02:00
|
|
|
theme = {
|
|
|
|
colors = {
|
2024-08-01 02:23:54 +02:00
|
|
|
background-darker = "000000";
|
2024-08-08 21:01:16 +02:00
|
|
|
background = "000000";
|
2024-08-01 02:23:54 +02:00
|
|
|
foreground = "f7f7f7";
|
2024-07-14 13:31:28 +02:00
|
|
|
};
|
|
|
|
|
2024-08-07 00:12:28 +02:00
|
|
|
font = "Lexend";
|
2024-08-05 19:29:19 +02:00
|
|
|
|
|
|
|
extraUserChrome = ''
|
|
|
|
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Hide tab bar, navigation bar and scrollbars
|
|
|
|
* !important may be added to force override, but not necessary
|
|
|
|
* #content is not necessary to hide scroll bars
|
|
|
|
*/
|
|
|
|
|
|
|
|
#TabsToolbar {visibility: collapse;}
|
|
|
|
'';
|
2024-07-14 13:31:28 +02:00
|
|
|
};
|
2024-08-05 19:29:19 +02:00
|
|
|
|
2024-07-14 13:31:28 +02:00
|
|
|
search = {
|
|
|
|
defaultSearchEngine = "DuckDuckGo";
|
|
|
|
removeEngines = ["Google" "Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia"];
|
|
|
|
addEngines = [
|
|
|
|
{
|
|
|
|
Name = "NixOS Packages";
|
|
|
|
Description = "NixOS Unstable package search";
|
|
|
|
Alias = "!np";
|
|
|
|
Method = "GET";
|
|
|
|
URLTemplate = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
Name = "NixOS Options";
|
|
|
|
Description = "NixOS Unstable option search";
|
|
|
|
Alias = "!no";
|
|
|
|
Method = "GET";
|
|
|
|
URLTemplate = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
Name = "NixOS Wiki";
|
|
|
|
Description = "NixOS Wiki search";
|
|
|
|
Alias = "!nw";
|
|
|
|
Method = "GET";
|
|
|
|
URLTemplate = "https://nixos.wiki/index.php?search={searchTerms}";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
Name = "Home Manager Options";
|
|
|
|
Description = "Home Manager option search";
|
|
|
|
Alias = "!hm";
|
|
|
|
Method = "GET";
|
|
|
|
URLTemplate = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
Name = "Arch Wiki";
|
|
|
|
Description = "Arch Wiki search";
|
|
|
|
Alias = "!aw";
|
|
|
|
Method = "GET";
|
|
|
|
URLTemplate = "https://wiki.archlinux.org/index.php?search={searchTerms}";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
Name = "Gentoo Wiki";
|
|
|
|
Description = "Gentoo Wiki search";
|
|
|
|
Alias = "!gw";
|
|
|
|
Method = "GET";
|
|
|
|
URLTemplate = "https://wiki.gentoo.org/index.php?search={searchTerms}";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
Name = "Debian Wiki";
|
|
|
|
Description = "Debian Wiki search";
|
|
|
|
Alias = "!dw";
|
|
|
|
Method = "GET";
|
|
|
|
URLTemplate = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
Name = "noogle";
|
|
|
|
Descriptiom = "Noogle Search";
|
2024-07-21 20:14:19 +02:00
|
|
|
Alias = "!ng";
|
2024-07-14 13:31:28 +02:00
|
|
|
Method = "GET";
|
|
|
|
URLTemplate = "https://noogle.dev/";
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
extensions = {
|
2024-08-07 00:43:51 +02:00
|
|
|
simplefox.enable = true;
|
2024-07-14 13:31:28 +02:00
|
|
|
darkreader.enable = true;
|
2024-08-07 00:12:28 +02:00
|
|
|
enableExtraExtensions = true;
|
|
|
|
enableDefaultExtensions = true;
|
2024-07-14 13:31:28 +02:00
|
|
|
extraExtensions = let
|
|
|
|
extensions = [
|
|
|
|
{
|
|
|
|
id = "{c2c003ee-bd69-42a2-b0e9-6f34222cb046}";
|
|
|
|
name = "auto-tab-discard";
|
|
|
|
}
|
2024-08-07 00:12:28 +02:00
|
|
|
{
|
|
|
|
id = "{74145f27-f039-47ce-a470-a662b129930a}";
|
|
|
|
name = "clearurls";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
id = "DontFuckWithPaste@raim.ist";
|
|
|
|
name = "dont-fuck-with-paste";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
id = "{96ef5869-e3ba-4d21-b86e-21b163096400}";
|
|
|
|
name = "font-fingerprint-defender";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
id = "uBlock0@raymondhill.net";
|
|
|
|
name = "uBlock Origin";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
id = "{d7742d87-e61d-4b78-b8a1-b469842139fa}";
|
|
|
|
name = "vimium-ff";
|
|
|
|
}
|
2024-07-14 13:31:28 +02:00
|
|
|
{
|
|
|
|
id = "{a4c4eda4-fb84-4a84-b4a1-f7c1cbf2a1ad}";
|
|
|
|
name = "refined-github-";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
id = "sponsorBlocker@ajay.app";
|
|
|
|
name = "sponsorblock";
|
|
|
|
}
|
|
|
|
{
|
2024-08-07 00:12:28 +02:00
|
|
|
id = "treestyletab@piro.sakura.ne.jp";
|
|
|
|
name = "Tree Style Tab";
|
2024-07-14 13:31:28 +02:00
|
|
|
}
|
|
|
|
];
|
2024-08-07 00:12:28 +02:00
|
|
|
|
|
|
|
# shamelessly stolen from raf, thanks.
|
|
|
|
mappedExtensions =
|
|
|
|
map (extension: {
|
|
|
|
name = extension.id;
|
|
|
|
value = {
|
|
|
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/${extension.name}/latest.xpi";
|
|
|
|
};
|
|
|
|
})
|
|
|
|
extensions;
|
2024-07-14 13:31:28 +02:00
|
|
|
in
|
2024-08-07 00:12:28 +02:00
|
|
|
listToAttrs mappedExtensions;
|
2024-07-14 13:31:28 +02:00
|
|
|
};
|
2024-08-07 00:12:28 +02:00
|
|
|
|
2024-07-14 13:31:28 +02:00
|
|
|
security = {
|
|
|
|
sanitizeOnShutdown = false;
|
2024-08-07 22:34:38 +02:00
|
|
|
sandbox = true;
|
2024-07-21 20:14:19 +02:00
|
|
|
noSessionRestore = false;
|
2024-07-14 13:31:28 +02:00
|
|
|
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
|
|
|
|
};
|
|
|
|
|
|
|
|
misc = {
|
|
|
|
drm.enable = true;
|
2024-08-07 00:12:28 +02:00
|
|
|
contextMenu.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
# taken from diniamo
|
|
|
|
settings = {
|
2024-08-09 13:56:25 +02:00
|
|
|
# "gfx.webrender.all" = true;
|
|
|
|
# "media.ffmpeg.vaapi.enabled" = true;
|
|
|
|
# "media.rdd-ffmpeg.enabled" = true;
|
|
|
|
# "media.av1.enabled" = true;
|
|
|
|
# "gfx.x11-egl.force-enabled" = true;
|
|
|
|
# "widget.dmabuf.force-enabled" = true;
|
|
|
|
|
|
|
|
# "layers.acceleration.force-enabled" = true;
|
2024-08-07 00:12:28 +02:00
|
|
|
|
|
|
|
"browser.ctrlTab.sortByRecentlyUsed" = true;
|
|
|
|
# This makes websites prefer a dark theme (in theory)
|
2024-08-09 13:56:25 +02:00
|
|
|
# "layout.css.prefers-color-scheme.content-override" = 0;
|
|
|
|
# "widget.use-xdg-desktop-portal.file-picker" = 1;
|
2024-08-07 00:12:28 +02:00
|
|
|
# Leaving this on breaks a lot
|
|
|
|
# "privacy.resistFingerprinting" = false;
|
2024-08-09 13:56:25 +02:00
|
|
|
# "permissions.fullscreen.allowed" = true;
|
|
|
|
# "dom.webnotifications.enabled" = true;
|
2024-08-07 22:34:38 +02:00
|
|
|
|
|
|
|
"browser.startup.page" = 3;
|
2024-07-14 13:31:28 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|