diff --git a/nixcfgs/users/js0ny/programs/browsers/firefox/default.nix b/nixcfgs/users/js0ny/programs/browsers/firefox/default.nix index a0e4357..6a1cb25 100644 --- a/nixcfgs/users/js0ny/programs/browsers/firefox/default.nix +++ b/nixcfgs/users/js0ny/programs/browsers/firefox/default.nix @@ -3,50 +3,13 @@ {...}: { imports = [ ./addons.nix + ./userjs.nix + ./keymaps.nix ./search.nix ./betterfox.nix ]; programs.firefox = { enable = true; - profiles.default = { - settings = { - "browser.toolbars.bookmarks.visibility" = "never"; - "extensions.update.enabled" = true; - "sidebar.expandOnHover" = true; - "sidebar.visibility" = "expand-on-hover"; - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - "toolkit.tabbox.switchByScrolling" = true; - "browser.uidensity" = 1; - ### Disable Menu when pressing - "ui.key.menuAccessKey" = -1; - "ui.key.menuAccessKeyFocuses" = false; - ### Disable Translations - "browser.translations.enable" = false; - "browser.translations.automaticallyPopup" = false; - ### CJK IME Optimisation - "browser.urlbar.keepPanelOpenDuringImeComposition" = true; - "browser.tabs.closeTabByDblclick" = true; - ### Session - # * 0: Blank Page - # * 1: Home Page - # * 2: Last Visited Pages - # * 3: Restore Previous Session - "browser.startup.page" = 3; - "browser.sessionstore.resume_from_crash" = true; - ### Sync - "services.sync.declinedEngines" = "creditcards,passwords,addresses,prefs,addons"; - "services.sync.engine.addons" = false; - "services.sync.engine.addresses" = false; - "services.sync.engine.bookmarks" = true; - "services.sync.engine.creditcards" = false; - "services.sync.engine.history" = true; - "services.sync.engine.passwords" = false; - "services.sync.engine.prefs" = false; - "services.sync.engine.prefs.modified" = false; - "services.sync.engine.tabs" = true; - "services.sync.engins.tabs.filteredSchemes" = "about|resource|chrome|file|blob|moz-extension|data"; - }; - }; }; xdg.desktopEntries."firefox-private" = { diff --git a/nixcfgs/users/js0ny/programs/browsers/firefox/keymaps.nix b/nixcfgs/users/js0ny/programs/browsers/firefox/keymaps.nix new file mode 100644 index 0000000..ac30dda --- /dev/null +++ b/nixcfgs/users/js0ny/programs/browsers/firefox/keymaps.nix @@ -0,0 +1,22 @@ +# New in Firefox 147 +# about:keyboard +{pkgs, ...}: let + profileDir = + if pkgs.stdenv.isDarwin + then "Library/Application Support/Firefox/Profiles" + else ".mozilla/firefox"; + profileName = "default"; +in { + home.file."${profileDir}/${profileName}/customKeys.json".text = builtins.toJSON { + key_privatebrowsing = { + modifiers = "accel,shift"; + key = "N"; + }; + key_undoCloseWindow = {}; + # Sidebery Sidebar + ext-key-id-_3c078156-979c-498b-8991-85f7987dd929_-sidebar-action = {}; + viewGenaiChatSidebarKb = {}; + key_viewInfo = {}; + key_switchTextDirection = {}; + }; +} diff --git a/nixcfgs/users/js0ny/programs/browsers/firefox/userjs.nix b/nixcfgs/users/js0ny/programs/browsers/firefox/userjs.nix new file mode 100644 index 0000000..c342dbf --- /dev/null +++ b/nixcfgs/users/js0ny/programs/browsers/firefox/userjs.nix @@ -0,0 +1,46 @@ +{...}: { + programs.firefox = { + profiles.default = { + settings = { + "browser.toolbars.bookmarks.visibility" = "never"; + "extensions.update.enabled" = true; + "sidebar.expandOnHover" = true; + "sidebar.visibility" = "expand-on-hover"; + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + "toolkit.tabbox.switchByScrolling" = true; + "browser.uidensity" = 1; + ### Disable Menu when pressing + "ui.key.menuAccessKey" = -1; + "ui.key.menuAccessKeyFocuses" = false; + ### Disable Translations + "browser.translations.enable" = false; + "browser.translations.automaticallyPopup" = false; + ### CJK IME Optimisation + "browser.urlbar.keepPanelOpenDuringImeComposition" = true; + "browser.tabs.closeTabByDblclick" = true; + ### Session + # * 0: Blank Page + # * 1: Home Page + # * 2: Last Visited Pages + # * 3: Restore Previous Session + "browser.startup.page" = 3; + "browser.sessionstore.resume_from_crash" = true; + ### Sync + "services.sync.declinedEngines" = "creditcards,passwords,addresses,prefs,addons"; + "services.sync.engine.addons" = false; + "services.sync.engine.addresses" = false; + "services.sync.engine.bookmarks" = true; + "services.sync.engine.creditcards" = false; + "services.sync.engine.history" = true; + "services.sync.engine.passwords" = false; + "services.sync.engine.prefs" = false; + "services.sync.engine.prefs.modified" = false; + "services.sync.engine.tabs" = true; + "services.sync.engins.tabs.filteredSchemes" = "about|resource|chrome|file|blob|moz-extension|data"; + # New Features + # 147: Keep playing videos in Picture-in-Picture when switching tabs + "media.videocontrols.picture-in-picture.enable-when-switching-tabs.enabled" = false; + }; + }; + }; +}