2025-09-13 02:38:36 -04:00
|
|
|
{
|
|
|
|
|
config,
|
|
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}:
|
|
|
|
|
{
|
2026-02-12 13:13:45 -05:00
|
|
|
# This gets around having to run `pywalfox install` manually, which just creates this manifest
|
|
|
|
|
home.file.".mozilla/native-messaging-hosts/pywalfox.json".text = builtins.toJSON {
|
|
|
|
|
name = "pywalfox";
|
|
|
|
|
description = "Automatically theme your browser using the colors generated by Pywal";
|
|
|
|
|
path = "${pkgs.pywalfox-native}/bin/pywalfox";
|
|
|
|
|
type = "stdio";
|
|
|
|
|
allowed_extensions = [ "pywalfox@frewacom.org" ];
|
|
|
|
|
};
|
|
|
|
|
|
2025-09-13 02:38:36 -04:00
|
|
|
programs.firefox = {
|
|
|
|
|
enable = true;
|
|
|
|
|
languagePacks = [ "en-US" ];
|
|
|
|
|
nativeMessagingHosts = with pkgs; [
|
2026-02-12 13:13:45 -05:00
|
|
|
pywalfox-native
|
2025-09-13 02:38:36 -04:00
|
|
|
];
|
|
|
|
|
policies = {
|
|
|
|
|
DefaultDownloadDirectory = config.xdg.userDirs.download;
|
|
|
|
|
DisableFirefoxAccounts = true;
|
|
|
|
|
DisableFirefoxStudies = true;
|
|
|
|
|
DisablePocket = true;
|
|
|
|
|
DisableProfileImport = true;
|
|
|
|
|
DisableProfileRefresh = true;
|
|
|
|
|
DisableTelemetry = true;
|
2025-11-16 01:17:15 -05:00
|
|
|
DisplayBookmarksToolbar = "never";
|
2025-09-13 02:38:36 -04:00
|
|
|
DontCheckDefaultBrowser = true;
|
|
|
|
|
EnableTrackingProtection = {
|
|
|
|
|
Value = true; # Tracking protection is enabled by default in both the regular browser and private browsing
|
|
|
|
|
Locked = true; # Whether or not a user can change tracking protection
|
|
|
|
|
Cryptomining = true; # Block cryptomining scripts
|
|
|
|
|
Fingerprinting = true; # Block fingerprinting scripts
|
|
|
|
|
EmailTracking = true; # Block email tracking pixels and scripts
|
|
|
|
|
};
|
|
|
|
|
FirefoxHome = {
|
|
|
|
|
Search = true;
|
|
|
|
|
TopSites = true;
|
|
|
|
|
SponsoredTopSites = false;
|
|
|
|
|
Highlights = false;
|
|
|
|
|
Pocket = false;
|
|
|
|
|
Stories = false;
|
|
|
|
|
SponsoredPocket = false;
|
|
|
|
|
SponsoredStories = false;
|
|
|
|
|
Snippets = true;
|
|
|
|
|
Locked = true;
|
|
|
|
|
};
|
|
|
|
|
FirefoxSuggest = {
|
|
|
|
|
WebSuggestions = true;
|
|
|
|
|
SponsoredSuggestions = false;
|
|
|
|
|
ImproveSuggest = false;
|
|
|
|
|
Locked = true;
|
|
|
|
|
};
|
|
|
|
|
Homepage = {
|
|
|
|
|
URL = "http://100.78.212.35:30054";
|
|
|
|
|
Locked = true;
|
|
|
|
|
StartPage = "homepage";
|
|
|
|
|
};
|
|
|
|
|
OfferToSaveLogins = false;
|
|
|
|
|
OverrideFirstRunPage = "";
|
|
|
|
|
PasswordManagerEnabled = false;
|
|
|
|
|
PopupBlocking = {
|
|
|
|
|
Default = false;
|
|
|
|
|
Locked = true;
|
|
|
|
|
};
|
|
|
|
|
PrimaryPassword = false;
|
|
|
|
|
SearchBar = "unified";
|
|
|
|
|
ShowHomeButton = true;
|
|
|
|
|
SkipTermsOfUse = true;
|
|
|
|
|
};
|
|
|
|
|
profiles.eclypse = {
|
|
|
|
|
name = "Eclypse";
|
|
|
|
|
isDefault = true;
|
|
|
|
|
extensions = {
|
|
|
|
|
force = true;
|
|
|
|
|
packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
|
|
|
ublock-origin
|
|
|
|
|
bitwarden
|
2026-02-12 13:13:45 -05:00
|
|
|
pywalfox
|
2025-09-13 02:38:36 -04:00
|
|
|
];
|
|
|
|
|
settings = {
|
|
|
|
|
"uBlock0@raymondhill.net".settings = {
|
|
|
|
|
selectedFilterLists = [
|
|
|
|
|
"ublock-filters"
|
|
|
|
|
"ublock-badware"
|
|
|
|
|
"ublock-privacy"
|
|
|
|
|
"ublock-unbreak"
|
|
|
|
|
"ublock-quick-fixes"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
search = {
|
|
|
|
|
default = "google";
|
2025-10-19 01:55:06 -04:00
|
|
|
force = true;
|
2025-09-13 02:38:36 -04:00
|
|
|
engines = {
|
|
|
|
|
nix-packages = {
|
|
|
|
|
name = "Nix Packages";
|
|
|
|
|
urls = [
|
|
|
|
|
{
|
|
|
|
|
template = "https://search.nixos.org/packages";
|
|
|
|
|
params = [
|
|
|
|
|
{
|
|
|
|
|
name = "channel";
|
|
|
|
|
value = "unstable";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
name = "query";
|
|
|
|
|
value = "{searchTerms}";
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
|
|
|
definedAliases = [ "@np" ];
|
|
|
|
|
};
|
2025-10-14 14:50:52 -04:00
|
|
|
surugaya = {
|
|
|
|
|
name = "Surugaya";
|
|
|
|
|
urls = [
|
|
|
|
|
{
|
|
|
|
|
template = "https://www.suruga-ya.jp/search?search_word={searchTerms}";
|
|
|
|
|
}
|
|
|
|
|
];
|
2026-02-12 13:13:45 -05:00
|
|
|
iconMapObj."16" = "https://www.suruga-ya.jp/drupal/themes/surugaya/favicon.ico";
|
2025-10-14 14:50:52 -04:00
|
|
|
definedAliases = [ "@suru" ];
|
|
|
|
|
};
|
2025-09-13 02:38:36 -04:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
settings = {
|
|
|
|
|
# Auto-enable extensions
|
|
|
|
|
"extensions.autoDisableScopes" = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|