mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-02-07 12:19:07 +00:00
users/foo-dogsquared: refactor browser configuration
This commit is contained in:
parent
bdeccc3c08
commit
4ebaca7a13
@ -2,178 +2,184 @@
|
|||||||
{ config, lib, pkgs, osConfig ? { }, ... }:
|
{ config, lib, pkgs, osConfig ? { }, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
config = lib.mkMerge [
|
||||||
google-chrome-dev
|
{
|
||||||
nyxt
|
home.packages = with pkgs; [
|
||||||
];
|
google-chrome-dev
|
||||||
|
nyxt
|
||||||
|
];
|
||||||
|
|
||||||
# The only browser to give me money.
|
# The only browser to give me money.
|
||||||
programs.brave = {
|
programs.brave = {
|
||||||
enable = true;
|
enable = true;
|
||||||
commandLineArgs = [
|
commandLineArgs = [
|
||||||
"--no-default-browser-check"
|
"--no-default-browser-check"
|
||||||
"--use-system-default-printer"
|
"--use-system-default-printer"
|
||||||
];
|
|
||||||
extensions = [
|
|
||||||
{ id = "dbepggeogbaibhgnhhndojpepiihcmeb"; } # Vimium
|
|
||||||
{ id = "ekhagklcjbdpajgpjgmbionohlpdbjgc"; } # Zotero connector
|
|
||||||
{ id = "jfnifeihccihocjbfcfhicmmgpjicaec"; } # GSConnect
|
|
||||||
{ id = "aapbdbdomjkkjkaonfhkkikfgjllcleb"; } # Google Translate
|
|
||||||
{ id = "egpjdkipkomnmjhjmdamaniclmdlobbo"; } # Firenvim
|
|
||||||
{ id = "gknkbkaapnhpmkcgkmdekdffgcddoiel"; } # Open Access Button
|
|
||||||
{ id = "fpnmgdkabkmnadcjpehmlllkndpkmiak"; } # Wayback Machine
|
|
||||||
{ id = "gphhapmejobijbbhgpjhcjognlahblep"; } # GNOME Shell integration
|
|
||||||
{ id = "haebnnbpedcbhciplfhjjkbafijpncjl"; } # TinEye Reverse Image Search
|
|
||||||
{ id = "dhdgffkkebhmkfjojejmpbldmpobfkfo"; } # Tampermonkey
|
|
||||||
{ id = "kkmlkkjojmombglmlpbpapmhcaljjkde"; } # Zhongwen
|
|
||||||
{ id = "nngceckbapebfimnlniiiahkandclblb"; } # Bitwarden
|
|
||||||
{ id = "oldceeleldhonbafppcapldpdifcinji"; } # LanguageTool checker
|
|
||||||
{ id = "nglaklhklhcoonedhgnpgddginnjdadi"; } # ActivityWatch Web Watcher
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Despite the name, it isn't a browser for furries.
|
|
||||||
programs.firefox = lib.mkIf (osConfig ? programs.firefox.enable -> !osConfig.programs.firefox.enable) {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
package = with pkgs; wrapFirefox firefox-unwrapped {
|
|
||||||
cfg = {
|
|
||||||
enableBrowserpass = true;
|
|
||||||
enableBukubrow = true;
|
|
||||||
enableTridactylNative = true;
|
|
||||||
enableFxCastBridge = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
extraNativeMessagingHosts = lib.optional config.programs.mpv.enable pkgs.ff2mpv;
|
|
||||||
|
|
||||||
extraPolicies = {
|
|
||||||
AppAutoUpdate = false;
|
|
||||||
DisableAppUpdate = true;
|
|
||||||
DisableMasterPasswordCreation = true;
|
|
||||||
DisablePocket = true;
|
|
||||||
DisableSetDesktopBackground = true;
|
|
||||||
DontCheckDefaultBrowser = true;
|
|
||||||
FirefoxHome = {
|
|
||||||
Highlights = false;
|
|
||||||
Pocket = false;
|
|
||||||
Snippets = false;
|
|
||||||
SponsporedPocket = false;
|
|
||||||
SponsporedTopSites = false;
|
|
||||||
};
|
|
||||||
NoDefaultBookmarks = true;
|
|
||||||
OfferToSaveLoginsDefault = false;
|
|
||||||
PasswordManagerEnabled = false;
|
|
||||||
SanitizeOnShutdown = {
|
|
||||||
FormData = true;
|
|
||||||
};
|
|
||||||
UseSystemPrintDialog = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
profiles.personal = {
|
|
||||||
isDefault = true;
|
|
||||||
|
|
||||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
||||||
aw-watcher-web
|
|
||||||
bitwarden
|
|
||||||
browserpass
|
|
||||||
facebook-container
|
|
||||||
firefox-color
|
|
||||||
firefox-translations
|
|
||||||
firenvim
|
|
||||||
languagetool
|
|
||||||
multi-account-containers
|
|
||||||
privacy-badger
|
|
||||||
tampermonkey
|
|
||||||
tridactyl
|
|
||||||
ublock-origin
|
|
||||||
vimium
|
|
||||||
wayback-machine
|
|
||||||
] ++ (with pkgs.firefox-addons; [
|
|
||||||
get-rss-feed-url
|
|
||||||
regretsreporter
|
|
||||||
simple-translate
|
|
||||||
tineye-reverse-image-search
|
|
||||||
updateswh
|
|
||||||
zhongwen
|
|
||||||
google-container
|
|
||||||
]);
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
# Disable the UI tour.
|
|
||||||
"browser.uitour.enabled" = false;
|
|
||||||
|
|
||||||
# Don't tease me with the updates, man.
|
|
||||||
"apps.update.auto" = false;
|
|
||||||
|
|
||||||
# Some inconveniences of life (at least for me).
|
|
||||||
"extensions.pocket.enabled" = false;
|
|
||||||
"signon.rememberSignons" = false;
|
|
||||||
|
|
||||||
# Some quality of lifes.
|
|
||||||
"browser.search.widget.inNavBar" = true;
|
|
||||||
"browser.search.openintab" = true;
|
|
||||||
|
|
||||||
# Some privacy settings...
|
|
||||||
"privacy.donottrackheader.enabled" = true;
|
|
||||||
"privacy.trackingprotection.enabled" = true;
|
|
||||||
|
|
||||||
# Burn our own fingers.
|
|
||||||
"privacy.resistFingerprinting" = true;
|
|
||||||
"privacy.fingerprintingProtection" = true;
|
|
||||||
"privacy.fingerprintingProtection.pbmode" = true;
|
|
||||||
|
|
||||||
"privacy.query_stripping.enabled" = true;
|
|
||||||
"privacy.query_stripping.enabled.pbmode" = true;
|
|
||||||
|
|
||||||
"dom.security.https_first" = true;
|
|
||||||
"dom.security.https_first_pbm" = true;
|
|
||||||
|
|
||||||
"privacy.firstparty.isolate" = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
search = {
|
|
||||||
default = "Brave";
|
|
||||||
force = true;
|
|
||||||
order = [
|
|
||||||
"Brave"
|
|
||||||
"Nix Packages"
|
|
||||||
"Google"
|
|
||||||
];
|
];
|
||||||
engines = {
|
extensions = [
|
||||||
"Brave" = {
|
{ id = "dbepggeogbaibhgnhhndojpepiihcmeb"; } # Vimium
|
||||||
urls = [{
|
{ id = "ekhagklcjbdpajgpjgmbionohlpdbjgc"; } # Zotero connector
|
||||||
template = "https://search.brave.com/search";
|
{ id = "jfnifeihccihocjbfcfhicmmgpjicaec"; } # GSConnect
|
||||||
params = [
|
{ id = "aapbdbdomjkkjkaonfhkkikfgjllcleb"; } # Google Translate
|
||||||
{ name = "type"; value = "search"; }
|
{ id = "egpjdkipkomnmjhjmdamaniclmdlobbo"; } # Firenvim
|
||||||
{ name = "q"; value = "{searchTerms}"; }
|
{ id = "gknkbkaapnhpmkcgkmdekdffgcddoiel"; } # Open Access Button
|
||||||
];
|
{ id = "fpnmgdkabkmnadcjpehmlllkndpkmiak"; } # Wayback Machine
|
||||||
}];
|
{ id = "gphhapmejobijbbhgpjhcjognlahblep"; } # GNOME Shell integration
|
||||||
|
{ id = "haebnnbpedcbhciplfhjjkbafijpncjl"; } # TinEye Reverse Image Search
|
||||||
|
{ id = "dhdgffkkebhmkfjojejmpbldmpobfkfo"; } # Tampermonkey
|
||||||
|
{ id = "kkmlkkjojmombglmlpbpapmhcaljjkde"; } # Zhongwen
|
||||||
|
{ id = "nngceckbapebfimnlniiiahkandclblb"; } # Bitwarden
|
||||||
|
{ id = "oldceeleldhonbafppcapldpdifcinji"; } # LanguageTool checker
|
||||||
|
{ id = "nglaklhklhcoonedhgnpgddginnjdadi"; } # ActivityWatch Web Watcher
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
icon = "${config.programs.brave.package}/share/icons/hicolor/64x64/apps/brave-browser.png";
|
(lib.mkIf (osConfig ? programs.firefox.enable -> !osConfig.programs.firefox.enable) {
|
||||||
definedAliases = [ "@brave" "@b" ];
|
# Despite the name, it isn't a browser for furries.
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
package = with pkgs; wrapFirefox firefox-unwrapped {
|
||||||
|
cfg = {
|
||||||
|
enableBrowserpass = true;
|
||||||
|
enableBukubrow = true;
|
||||||
|
enableTridactylNative = true;
|
||||||
|
enableFxCastBridge = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Nix Packages" = {
|
extraNativeMessagingHosts = lib.optional config.programs.mpv.enable pkgs.ff2mpv;
|
||||||
urls = [{
|
|
||||||
template = "https://search.nixos.org/packages";
|
|
||||||
params = [
|
|
||||||
{ name = "type"; value = "packages"; }
|
|
||||||
{ name = "query"; value = "{searchTerms}"; }
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
extraPolicies = {
|
||||||
definedAliases = [ "@np" ];
|
AppAutoUpdate = false;
|
||||||
|
DisableAppUpdate = true;
|
||||||
|
DisableMasterPasswordCreation = true;
|
||||||
|
DisablePocket = true;
|
||||||
|
DisableSetDesktopBackground = true;
|
||||||
|
DontCheckDefaultBrowser = true;
|
||||||
|
FirefoxHome = {
|
||||||
|
Highlights = false;
|
||||||
|
Pocket = false;
|
||||||
|
Snippets = false;
|
||||||
|
SponsporedPocket = false;
|
||||||
|
SponsporedTopSites = false;
|
||||||
|
};
|
||||||
|
NoDefaultBookmarks = true;
|
||||||
|
OfferToSaveLoginsDefault = false;
|
||||||
|
PasswordManagerEnabled = false;
|
||||||
|
SanitizeOnShutdown = {
|
||||||
|
FormData = true;
|
||||||
|
};
|
||||||
|
UseSystemPrintDialog = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
profiles.personal = {
|
||||||
|
isDefault = true;
|
||||||
|
|
||||||
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||||
|
aw-watcher-web
|
||||||
|
bitwarden
|
||||||
|
browserpass
|
||||||
|
facebook-container
|
||||||
|
firefox-color
|
||||||
|
firefox-translations
|
||||||
|
firenvim
|
||||||
|
languagetool
|
||||||
|
multi-account-containers
|
||||||
|
privacy-badger
|
||||||
|
tampermonkey
|
||||||
|
tridactyl
|
||||||
|
ublock-origin
|
||||||
|
vimium
|
||||||
|
wayback-machine
|
||||||
|
] ++ (with pkgs.firefox-addons; [
|
||||||
|
get-rss-feed-url
|
||||||
|
regretsreporter
|
||||||
|
simple-translate
|
||||||
|
tineye-reverse-image-search
|
||||||
|
updateswh
|
||||||
|
zhongwen
|
||||||
|
google-container
|
||||||
|
]);
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
# Disable the UI tour.
|
||||||
|
"browser.uitour.enabled" = false;
|
||||||
|
|
||||||
|
# Don't tease me with the updates, man.
|
||||||
|
"apps.update.auto" = false;
|
||||||
|
|
||||||
|
# Some inconveniences of life (at least for me).
|
||||||
|
"extensions.pocket.enabled" = false;
|
||||||
|
"signon.rememberSignons" = false;
|
||||||
|
|
||||||
|
# Some quality of lifes.
|
||||||
|
"browser.search.widget.inNavBar" = true;
|
||||||
|
"browser.search.openintab" = true;
|
||||||
|
|
||||||
|
# Some privacy settings...
|
||||||
|
"privacy.donottrackheader.enabled" = true;
|
||||||
|
"privacy.trackingprotection.enabled" = true;
|
||||||
|
|
||||||
|
# Burn our own fingers.
|
||||||
|
"privacy.resistFingerprinting" = true;
|
||||||
|
"privacy.fingerprintingProtection" = true;
|
||||||
|
"privacy.fingerprintingProtection.pbmode" = true;
|
||||||
|
|
||||||
|
"privacy.query_stripping.enabled" = true;
|
||||||
|
"privacy.query_stripping.enabled.pbmode" = true;
|
||||||
|
|
||||||
|
"dom.security.https_first" = true;
|
||||||
|
"dom.security.https_first_pbm" = true;
|
||||||
|
|
||||||
|
"privacy.firstparty.isolate" = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Bing".metaData.hidden = true;
|
search = {
|
||||||
"Google".metaData.alias = "@g";
|
default = "Brave";
|
||||||
|
force = true;
|
||||||
|
order = [
|
||||||
|
"Brave"
|
||||||
|
"Nix Packages"
|
||||||
|
"Google"
|
||||||
|
];
|
||||||
|
engines = {
|
||||||
|
"Brave" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://search.brave.com/search";
|
||||||
|
params = [
|
||||||
|
{ name = "type"; value = "search"; }
|
||||||
|
{ name = "q"; value = "{searchTerms}"; }
|
||||||
|
];
|
||||||
|
}];
|
||||||
|
|
||||||
|
icon = "${config.programs.brave.package}/share/icons/hicolor/64x64/apps/brave-browser.png";
|
||||||
|
definedAliases = [ "@brave" "@b" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"Nix Packages" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://search.nixos.org/packages";
|
||||||
|
params = [
|
||||||
|
{ name = "type"; value = "packages"; }
|
||||||
|
{ name = "query"; value = "{searchTerms}"; }
|
||||||
|
];
|
||||||
|
}];
|
||||||
|
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = [ "@np" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"Bing".metaData.hidden = true;
|
||||||
|
"Google".metaData.alias = "@g";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configuring Tridactyl.
|
# Configuring Tridactyl.
|
||||||
xdg.configFile.tridactyl.source = ../config/tridactyl;
|
xdg.configFile.tridactyl.source = ../config/tridactyl;
|
||||||
|
})
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user