a bunch of random changes again
This commit is contained in:
76
programs/firefox/default.nix
Normal file
76
programs/firefox/default.nix
Normal file
@@ -0,0 +1,76 @@
|
||||
{ pkgs, inputs, system, lib, persistentDir, config, secretsDir, ... }:
|
||||
{
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = inputs.firefox.packages.${pkgs.system}.firefox-nightly-bin.overrideAttrs (old: {
|
||||
NIX_CFLAGS_COMPILE = [ (old.NIX_CFLAGS_COMPILE or "") ] ++ [ "-O3" "-march=native" "-fPIC" ];
|
||||
});
|
||||
profiles.me = {
|
||||
isDefault = true;
|
||||
id = 0;
|
||||
extensions =
|
||||
with inputs.firefox-addons.packages.${system};
|
||||
with (import ./my-extensions.nix {
|
||||
inherit fetchurl lib stdenv;
|
||||
buildFirefoxXpiAddon = inputs.firefox-addons.lib.${system}.buildFirefoxXpiAddon;
|
||||
});
|
||||
[
|
||||
# from extra-firefox-extensions.nix
|
||||
adguard-adblocker
|
||||
grepper
|
||||
visionary-bold-fixed
|
||||
|
||||
|
||||
# to search: https://gitlab.com/rycee/nur-expressions/-/blob/master/pkgs/firefox-addons/generated-firefox-addons.nix?ref_type=heads
|
||||
# ref: https://github.com/Misterio77/nix-config/blob/main/home/misterio/features/desktop/common/firefox.nix#L5
|
||||
# ref: https://github.com/Misterio77/nix-config/blob/main/flake.nix#L66
|
||||
onetab
|
||||
bitwarden
|
||||
|
||||
];
|
||||
settings = import ./user-settings.nix {};
|
||||
extraConfig = ''
|
||||
lockPref("browser.theme.content-theme", 0)
|
||||
'';
|
||||
};
|
||||
/*
|
||||
profiles.old = {
|
||||
isDefault = false;
|
||||
id = 1;
|
||||
path = "../../old/app-data/firefox/me";
|
||||
};
|
||||
# */
|
||||
profiles.testing = {
|
||||
id = 2;
|
||||
isDefault = false;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
############ persistent folders of my profile ##################
|
||||
home.file = {
|
||||
".mozilla/firefox/me/places.sqlite" = {
|
||||
force = true;
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${persistentDir}/firefox-data/places.sqlite";
|
||||
# ref: https://github.com/nix-community/home-manager/issues/676
|
||||
# - link goes into the store, and then out again.... xD
|
||||
};
|
||||
".mozilla/firefox/me/places.sqlite-wal" = {
|
||||
force = true;
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${persistentDir}/firefox-data/places.sqlite-wal";
|
||||
};
|
||||
|
||||
# one tab storage path
|
||||
".mozilla/firefox/me/storage/default/moz-extension+++e2297551-90b4-4da0-92c8-1d00cda2d080^userContextId=4294967295" = {
|
||||
force = true;
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${persistentDir}/firefox-data/onetab-folder";
|
||||
};
|
||||
|
||||
# bitwareden storage path
|
||||
".mozilla/firefox/me/storage/default/moz-extension+++e563a533-4e66-4b75-bbec-176bb803d96c^userContextId=4294967295" = {
|
||||
force = true;
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${secretsDir}/firefox-bitwarden-folder";
|
||||
};
|
||||
};
|
||||
}
|
||||
184
programs/firefox/my-extensions.nix
Executable file
184
programs/firefox/my-extensions.nix
Executable file
@@ -0,0 +1,184 @@
|
||||
{ buildFirefoxXpiAddon, fetchurl, lib, stdenv }@args:
|
||||
let
|
||||
buildFirefoxXpiAddonFromFile = lib.makeOverridable ({ stdenv ? args.stdenv
|
||||
, fetchurl ? args.fetchurl, pname, version, addonId, path, meta, ...
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
inherit meta;
|
||||
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = true;
|
||||
|
||||
buildCommand = ''
|
||||
dst="$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
|
||||
mkdir -p "$dst"
|
||||
install -v -m644 "$path" "$dst/${addonId}.xpi"
|
||||
'';
|
||||
});
|
||||
|
||||
packages = import ./generated-firefox-addons.nix {
|
||||
inherit buildFirefoxXpiAddon fetchurl lib stdenv;
|
||||
};
|
||||
in
|
||||
{
|
||||
/*
|
||||
"onetab" = buildFirefoxXpiAddonFromFile {
|
||||
pname = "onetab";
|
||||
version = "4.2.240";
|
||||
};
|
||||
*/
|
||||
|
||||
|
||||
|
||||
"visionary-bold-fixed" = buildFirefoxXpiAddon {
|
||||
pname = "visionary-bold-fixed";
|
||||
version = "1.0";
|
||||
addonId = "{8d38d24a-dd1b-4142-8873-bbaa32e4e44f}";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/4122855/visionary_bold_fixed-1.0.xpi";
|
||||
sha256 = "c4aed779329b980c7e59cf2353e54108713d60b515b918bf7a535f9944c01ae8";
|
||||
meta = with lib;
|
||||
{
|
||||
description = "As you could notice almost all new mozilla's dark themes (colorways bold) are little broken (dark tabs on dark background). I decided to fix this moment in Visionary Bold theme.";
|
||||
license = licenses.cc-by-30;
|
||||
mozPermissions = [];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
"visionary-bold" = buildFirefoxXpiAddon {
|
||||
pname = "visionary-bold";
|
||||
version = "2.1";
|
||||
addonId = "visionary-bold-colorway@mozilla.org";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/4066246/visionary_bold-2.1.xpi";
|
||||
sha256 = "73b6a25f41877f2c199c0b07ef28d25f69b067ab56bc08cf238e9fb89dfa92d9";
|
||||
meta = with lib;
|
||||
{
|
||||
description = "You question the status quo and move others to imagine a better future.";
|
||||
license = licenses.cc-by-30;
|
||||
mozPermissions = [];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
"atom-one-dark-theme2" = buildFirefoxXpiAddon {
|
||||
pname = "atom-one-dark-theme2";
|
||||
version = "2.0";
|
||||
addonId = "{53de5a1e-f54c-45f7-b86e-09f0161b85f3}";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/3369239/atom_one_dark_theme2-2.0.xpi";
|
||||
sha256 = "3168163ab8bf2da4a64d10f266c50fd0a03226c6260b60cbcbb4e8779db53b02";
|
||||
meta = with lib;
|
||||
{
|
||||
description = "the atom dark theme extrack for the oponime software";
|
||||
mozPermissions = [];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
"simple-style-fox" = buildFirefoxXpiAddon {
|
||||
pname = "simple-style-fox";
|
||||
version = "4.0";
|
||||
addonId = "{05914925-648e-42bc-9024-3b4ea9ec379e}";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/3890846/simple_style_fox-4.0.xpi";
|
||||
sha256 = "2d8369ca5215030db03dcce61c3bf4c358fe0c97b6a3e89a64a146063195c038";
|
||||
meta = with lib;
|
||||
{
|
||||
description = "Simple style fox";
|
||||
license = licenses.cc-by-30;
|
||||
mozPermissions = [];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
"adguard-adblocker" = buildFirefoxXpiAddon {
|
||||
pname = "adguard-adblocker";
|
||||
version = "4.2.240";
|
||||
addonId = "adguardadblocker@adguard.com";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/4209021/adguard_adblocker-4.2.240.xpi";
|
||||
sha256 = "30790a6d58a2ccc31dc703544f25ef193a8a60074bf2f5775097739db4bcc2e0";
|
||||
meta = with lib;
|
||||
{
|
||||
homepage = "https://adguard.com/";
|
||||
description = "Unmatched adblock extension against advertising and pop-ups. Blocks ads on Facebook, Youtube and all other websites.";
|
||||
license = licenses.lgpl3;
|
||||
mozPermissions = [
|
||||
"tabs"
|
||||
"<all_urls>"
|
||||
"webRequest"
|
||||
"webRequestBlocking"
|
||||
"webNavigation"
|
||||
"storage"
|
||||
"contextMenus"
|
||||
"cookies"
|
||||
"privacy"
|
||||
"http://*/*"
|
||||
"https://*/*"
|
||||
"*://*.adguard.com/*/thankyou.html*"
|
||||
"*://*.adguard.info/*/thankyou.html*"
|
||||
"*://*.adguard.app/*/thankyou.html*"
|
||||
];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
"grepper" = buildFirefoxXpiAddon {
|
||||
pname = "grepper";
|
||||
version = "0.0.8.9";
|
||||
addonId = "grepper@codegrepper.com";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/4069054/grepper-0.0.8.9.xpi";
|
||||
sha256 = "17db8b2f138f442882f7db5ba40e6d2af591c45e322cf3262628705c76af1b04";
|
||||
meta = with lib;
|
||||
{
|
||||
description = "The Query & Answer System for the Coder Community";
|
||||
mozPermissions = [
|
||||
"storage"
|
||||
"webRequest"
|
||||
"activeTab"
|
||||
"<all_urls>"
|
||||
"alarms"
|
||||
"https://www.google.com/*"
|
||||
"https://www.google.co.uk/*"
|
||||
"https://www.google.co.za/*"
|
||||
"https://www.google.co.th/*"
|
||||
"https://www.google.co.jp/*"
|
||||
"https://www.google.co.il/*"
|
||||
"https://www.google.es/*"
|
||||
"https://www.google.ca/*"
|
||||
"https://www.google.de/*"
|
||||
"https://www.google.it/*"
|
||||
"https://www.google.fr/*"
|
||||
"https://www.google.com.au/*"
|
||||
"https://www.google.com.ph/*"
|
||||
"https://www.google.com.tw/*"
|
||||
"https://www.google.com.br/*"
|
||||
"https://www.google.com.ua/*"
|
||||
"https://www.google.com.my/*"
|
||||
"https://www.google.com.hk/*"
|
||||
"https://www.google.ru/*"
|
||||
"https://www.google.com.tr/*"
|
||||
"https://www.google.be/*"
|
||||
"https://www.google.com.gr/*"
|
||||
"https://www.google.co.in/*"
|
||||
"https://www.google.com.mx/*"
|
||||
"https://www.google.dk/*"
|
||||
"https://www.google.com.ar/*"
|
||||
"https://www.google.ch/*"
|
||||
"https://www.google.cl/*"
|
||||
"https://www.google.co.kr/*"
|
||||
"https://www.google.com.co/*"
|
||||
"https://www.google.pl/*"
|
||||
"https://www.google.pt/*"
|
||||
"https://www.google.com.pk/*"
|
||||
"https://www.google.co.id/*"
|
||||
"https://www.google.com.vn/*"
|
||||
"https://www.google.nl/*"
|
||||
"https://www.google.se/*"
|
||||
"https://www.google.com.sg/*"
|
||||
"http://*/*"
|
||||
"https://*/*"
|
||||
"http://localhost:8888/grepper_app/*"
|
||||
"https://www.codegrepper.com/*"
|
||||
"https://www.grepper.com/*"
|
||||
"https://staging.codegrepper.com/*"
|
||||
"https://www.grepper.com/app/notifications.php"
|
||||
];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
}
|
||||
156
programs/firefox/user-settings.nix
Normal file
156
programs/firefox/user-settings.nix
Normal file
@@ -0,0 +1,156 @@
|
||||
{ ... }: {
|
||||
|
||||
# general
|
||||
"extensions.autoDisableScopes" = 0;
|
||||
"extensions.enabledScopes" = 15;
|
||||
"browser.search.region" = "AT";
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
"javascript.options.mem.gc_parallel_marking" = true;
|
||||
"browser.download.dir" = "/home/me/work/downloads";
|
||||
"browser.startup.couldRestoreSession.count" = 5;
|
||||
"browser.toolbars.bookmarks.visibility" = "never";
|
||||
"devtools.everOpened" = true;
|
||||
"middlemouse.paste" = false;
|
||||
"browser.download.folderList" = 1;
|
||||
"extensions.langpacks.signatures.required" = false;
|
||||
"browser.shell.checkDefaultBrowser" = false;
|
||||
|
||||
# better widnow settings for tiling vm
|
||||
"browser.tabs.inTitlebar" = 0;
|
||||
|
||||
# so that firefox reacts fast to changes in /etc/hosts
|
||||
"network.dnsCacheExpiration" = 0;
|
||||
|
||||
# dont sync theme
|
||||
# so that "browser.theme.content-theme" is not always set to 2
|
||||
"services.sync.prefs.sync.extensions.activeThemeID" = false;
|
||||
|
||||
# allow to install my own addons
|
||||
"xpinstall.signatures.required" = false;
|
||||
"xpinstall.whitelist.required" = true;
|
||||
|
||||
# set theme
|
||||
#"extensions.activeThemeID" = "visionary-bold-colorway@mozilla.org";
|
||||
# - this one does not work
|
||||
"extensions.activeThemeID" = "{8d38d24a-dd1b-4142-8873-bbaa32e4e44f}";
|
||||
"browser.theme.content-theme" = 0; # content dark theme
|
||||
"browser.theme.toolbar-theme" = 0; # toolbar dark theme
|
||||
|
||||
|
||||
# have acces to browser console
|
||||
"devtools.chrome.enabled" = true;
|
||||
|
||||
#always show downloads button
|
||||
"browser.download.autohideButton" = false;
|
||||
|
||||
# better cache
|
||||
"browser.cache.disk.capacity" = 4560000;
|
||||
"browser.cache.disk.smart_size.enabled" = false;
|
||||
"browser.cache.check_doc_frequency" = 2;
|
||||
# http://kb.mozillazine.org/Browser.cache.check_doc_frequency
|
||||
|
||||
|
||||
# the header customisation
|
||||
"browser.uiCustomization.state" = ''{"placements":{"widget-overflow-fixed-list":["sync-button"],"unified-extensions-area":["jid1-93cwpmrbvpjrqa_jetpack-browser-action","_react-devtools-browser-action","grepper_codegrepper_com-browser-action","simple-translate_sienori-browser-action","_d04b0b40-3dab-4f0b-97a6-04ec3eddbfb0_-browser-action","_b0721213-dc0b-4ae0-8436-8c14f0022a37_-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","home-button","customizableui-special-spring1","urlbar-container","zoom-controls","customizableui-special-spring7","screenshot-button","fullscreen-button","developer-button","bookmarks-menu-button","downloads-button","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","adguardadblocker_adguard_com-browser-action","extension_one-tab_com-browser-action","side-view_mozilla_org-browser-action","unified-extensions-button","reset-pbm-toolbar-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["preferences-button","personal-bookmarks"]},"seen":["developer-button","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","extension_one-tab_com-browser-action","_d04b0b40-3dab-4f0b-97a6-04ec3eddbfb0_-browser-action","grepper_codegrepper_com-browser-action","save-to-pocket-button","_react-devtools-browser-action","jid1-93cwpmrbvpjrqa_jetpack-browser-action","adguardadblocker_adguard_com-browser-action","side-view_mozilla_org-browser-action","simple-translate_sienori-browser-action","profiler-button","reset-pbm-toolbar-button","_b0721213-dc0b-4ae0-8436-8c14f0022a37_-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","toolbar-menubar","TabsToolbar","widget-overflow-fixed-list","unified-extensions-area"],"currentVersion":20,"newElementCount":26}'';
|
||||
|
||||
|
||||
# keep extension uuids the same ... so that the bitwaredne pass-store and onetab stores stay the same
|
||||
|
||||
"extensions.webextensions.uuids" = builtins.toJSON {
|
||||
"extension@one-tab.com" = "e2297551-90b4-4da0-92c8-1d00cda2d080";
|
||||
"adguardadblocker@adguard.com" = "b73239bf-cb93-4985-8f3b-71b32a3b3527";
|
||||
"grepper@codegrepper.com" = "7cfa9e68-fba7-4eb9-8f3b-d4562a31b476";
|
||||
|
||||
# bitwarden
|
||||
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = "e563a533-4e66-4b75-bbec-176bb803d96c";
|
||||
};
|
||||
|
||||
"extensions.webextensions.ExtensionStorageIDB.migrated.adguardadblocker@adguard.com" = true;
|
||||
"extensions.webextensions.ExtensionStorageIDB.migrated.extension@one-tab.com" = true;
|
||||
"extensions.webextensions.ExtensionStorageIDB.migrated.grepper@codegrepper.com" = true;
|
||||
"extensions.webextensions.ExtensionStorageIDB.migrated.screenshots@mozilla.org" = true;
|
||||
"extensions.webextensions.ExtensionStorageIDB.migrated.{446900e4-71c2-419f-a6a7-df9c091e268b}" = true;
|
||||
|
||||
|
||||
# to not show startup dialogs
|
||||
"browser.eme.ui.firstContentShown" = true;
|
||||
"browser.engagement.ctrlTab.has-used" = true;
|
||||
"browser.engagement.downloads-button.has-used" = true;
|
||||
"browser.engagement.fxa-toolbar-menu-button.has-used" = true;
|
||||
"browser.engagement.home-button.has-used" = true;
|
||||
"browser.engagement.library-button.has-used" = true;
|
||||
"browser.engagement.sidebar-button.has-used" = true;
|
||||
"distribution.archlinux.bookmarksProcessed" = true;
|
||||
"distribution.canonical.bookmarksProcessed" = true;
|
||||
"distribution.iniFile.exists.appversion" = "122.0a1";
|
||||
"distribution.iniFile.exists.value" = false;
|
||||
"distribution.nixos.bookmarksProcessed" = true;
|
||||
"browser.firefox-view.feature-tour" = ''{"message":"FIREFOX_VIEW_FEATURE_TOUR","screen":"","complete":true}'';
|
||||
"trailhead.firstrun.didSeeAboutWelcome" = true;
|
||||
|
||||
|
||||
# disable autofill
|
||||
"signon.autofillForms" = false;
|
||||
"signon.firefoxRelay.feature" = "offered";
|
||||
"signon.generation.enabled" = false;
|
||||
"signon.management.page.breach-alerts.enabled" = false;
|
||||
"signon.rememberSignons" = false;
|
||||
|
||||
|
||||
# interesting
|
||||
# browser.bookmarks.defaultLocation toolbar_____
|
||||
# browser.migration.version 142
|
||||
# browser.fixup.dns_first_for_single_words true
|
||||
# browser.fixup.domainwhitelist.router true
|
||||
# browser.startup.homepage about:blank
|
||||
# extensions.activeThemeID visionary-bold-colorway@mozilla.org
|
||||
# network.dns.offline-localhost false
|
||||
# network.dnsCacheExpiration 0
|
||||
# pref.privacy.disable_button.cookie_exceptions false
|
||||
# pref.privacy.disable_button.tracking_protection_exceptions false
|
||||
# pref.privacy.disable_button.view_passwords false
|
||||
|
||||
|
||||
################### devtools not used ##########################
|
||||
#devtools.aboutdebugging.collapsibilities.processes false
|
||||
|
||||
#devtools.debugger.end-panel-size 57
|
||||
#devtools.debugger.event-listeners-visible true
|
||||
#devtools.debugger.pause-on-caught-exceptions false
|
||||
|
||||
#devtools.debugger.prefs-schema-version 11
|
||||
#devtools.debugger.remote-enabled true
|
||||
#devtools.debugger.start-panel-size 155
|
||||
|
||||
|
||||
#devtools.netmonitor.msg.visibleColumns ["data","time"]
|
||||
#devtools.netmonitor.panes-network-details-height 403
|
||||
#devtools.netmonitor.panes-network-details-width 549
|
||||
#devtools.netmonitor.panes-search-height 237
|
||||
#devtools.netmonitor.panes-search-width 250
|
||||
#devtools.performance.new-panel-onboarding false
|
||||
#devtools.performance.recording.entries 134217728
|
||||
#devtools.performance.recording.features ["screenshots","js","stackwalk","cpu","processcpu"]
|
||||
#devtools.performance.recording.threads ["GeckoMain","Compositor","Renderer","SwComposite","DOM Worker"]
|
||||
#devtools.responsive.reloadNotification.enabled false
|
||||
#devtools.responsive.viewport.height 732
|
||||
#devtools.responsive.viewport.width 680
|
||||
#devtools.theme auto
|
||||
#devtools.theme.show-auto-theme-info false
|
||||
#devtools.toolbox.footer.height 633
|
||||
#devtools.toolbox.host right
|
||||
#devtools.toolbox.previousHost bottom
|
||||
#devtools.toolbox.sidebar.width 431
|
||||
#devtools.toolbox.splitconsoleHeight 98
|
||||
#devtools.toolbox.tabsOrder inspector,webconsole,netmonitor,jsdebugger,styleeditor,performance,memory,storage,accessibility,application
|
||||
#devtools.toolbox.zoomValue 1.2
|
||||
#devtools.toolsidebar-height.inspector 345
|
||||
#devtools.toolsidebar-width.inspector 383
|
||||
#devtools.toolsidebar-width.inspector.splitsidebar 225
|
||||
#devtools.webconsole.filter.debug false
|
||||
#devtools.webconsole.filter.info false
|
||||
#devtools.webconsole.input.editorOnboarding false
|
||||
#devtools.webconsole.input.editorWidth 393
|
||||
#devtools.webextensions.@react-devtools.enabled true
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user