aboutsummaryrefslogtreecommitdiff
path: root/share/cfg/firefox
diff options
context:
space:
mode:
Diffstat (limited to 'share/cfg/firefox')
-rw-r--r--share/cfg/firefox/default.nix63
-rw-r--r--share/cfg/firefox/usercss/compact-about-config.css24
-rw-r--r--share/cfg/firefox/usercss/context-menu.css12
-rw-r--r--share/cfg/firefox/usercss/tab-separator-lines.css23
-rw-r--r--share/cfg/firefox/usercss/unified-extensions-view.css46
5 files changed, 168 insertions, 0 deletions
diff --git a/share/cfg/firefox/default.nix b/share/cfg/firefox/default.nix
new file mode 100644
index 0000000..07281ec
--- /dev/null
+++ b/share/cfg/firefox/default.nix
@@ -0,0 +1,63 @@
+{ pkgs, ... }:
+let
+ # Concatenate all files in the `./usercss` directory into one string
+ css-files =
+ map (n: ./usercss/${n}) (builtins.attrNames (builtins.readDir ./usercss));
+ userChrome = builtins.concatStringsSep "\n" (map builtins.readFile css-files);
+in
+{
+ home.sessionVariables.BROWSER = "firefox";
+
+ programs.firefox = {
+ profiles = {
+ alice = {
+ name = "alice";
+ isDefault = true;
+ inherit userChrome;
+
+ search = {
+ default = "DuckDuckGo";
+ engines = {
+ "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" ];
+ };
+
+ "NixOS Wiki" = {
+ urls = [{
+ template = "https://nixos.wiki/index.php?search={searchTerms}";
+ }];
+ iconUpdateURL = "https://nixos.wiki/favicon.png";
+ updateInterval = 24 * 60 * 60 * 1000; # every day
+ definedAliases = [ "@nw" ];
+ };
+
+ "Bing".metaData.hidden = true;
+ # builtin engines only support specifying one additional alias
+ "Google".medaData.alias = "@g";
+ };
+ }; # end of search
+
+ settings = {
+ "browser.compactmode.show" = true;
+ "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
+ };
+ }; # end of alice (profile)
+ }; # end of profiles
+ };
+}
diff --git a/share/cfg/firefox/usercss/compact-about-config.css b/share/cfg/firefox/usercss/compact-about-config.css
new file mode 100644
index 0000000..55e30f7
--- /dev/null
+++ b/share/cfg/firefox/usercss/compact-about-config.css
@@ -0,0 +1,24 @@
+/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/content/compact_about_config.css made available under Mozilla Public License v. 2.0
+See the above repository for updates as well as full license text. */
+
+/* Makes about:config list more compact */
+
+@-moz-document url("about:config"){
+ .button-delete,
+ .button-edit,
+ .button-reset,
+ .button-save,
+ .button-toggle{
+ margin-block: 1px !important;
+ padding-block: 11px 0 !important;
+ padding-inline: 0 !important;
+ min-height: 22px !important;
+ width: 22px !important;
+ outline-offset: 0 !important;
+ }
+ .cell-edit{ width: 28px !important; }
+ form > input,
+ tr:not(.add) > th,
+ tr:not(.add) > .cell-value{ padding-block: 0 !important; }
+ tr:not(:hover) .semi-transparent:not(.primary,.button-add){ background-color: transparent !important; }
+}
diff --git a/share/cfg/firefox/usercss/context-menu.css b/share/cfg/firefox/usercss/context-menu.css
new file mode 100644
index 0000000..0bf5749
--- /dev/null
+++ b/share/cfg/firefox/usercss/context-menu.css
@@ -0,0 +1,12 @@
+/*** Remove items from image context menu ***/
+#context-sendimage, /* Email image */
+#context-inspect-a11y,
+#context-savelinktopocket,
+#context-pocket,
+#context-savepage,
+#context-print-selection, /* Print selected text */
+#context-selectall,
+#context-sep-selectall /* Seperator bar */
+{
+ display: none !important;
+}
diff --git a/share/cfg/firefox/usercss/tab-separator-lines.css b/share/cfg/firefox/usercss/tab-separator-lines.css
new file mode 100644
index 0000000..2f77db4
--- /dev/null
+++ b/share/cfg/firefox/usercss/tab-separator-lines.css
@@ -0,0 +1,23 @@
+/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tab_separator_lines.css made available under Mozilla Public License v. 2.0
+See the above repository for updates as well as full license text. */
+
+/* Bring back tab separator lines that were removed in Proton */
+
+.tabbrowser-tab{
+ border-inline-start: 1px solid transparent !important;
+ border-image: 0 1 linear-gradient(
+ transparent 20%,
+ color-mix(in srgb, currentColor 20%, transparent) 20%,
+ color-mix(in srgb, currentColor 20%, transparent) 80%,
+ transparent 80%
+ ) !important;
+}
+
+.tabbrowser-tab:hover,
+#tabbrowser-tabs:not([movingtab]) .tabbrowser-tab:hover + .tabbrowser-tab:not([first-visible-unpinned-tab]),
+.tabbrowser-tab:first-child,
+.tabbrowser-tab[selected],
+.tabbrowser-tab[multiselected],
+#tabbrowser-arrowscrollbox[overflowing] > .tabbrowser-tab[first-visible-unpinned-tab],
+#tabbrowser-tabs:not([movingtab]) .tabbrowser-tab[multiselected] + .tabbrowser-tab,
+#tabbrowser-tabs:not([movingtab]) .tabbrowser-tab[selected] + .tabbrowser-tab { border-image: none !important; } \ No newline at end of file
diff --git a/share/cfg/firefox/usercss/unified-extensions-view.css b/share/cfg/firefox/usercss/unified-extensions-view.css
new file mode 100644
index 0000000..876a7d0
--- /dev/null
+++ b/share/cfg/firefox/usercss/unified-extensions-view.css
@@ -0,0 +1,46 @@
+/*** Clean and tight extensions menu ***/
+#unified-extensions-view {
+ --uei-icon-size: 20px;
+}
+
+#unified-extensions-view .panel-header,
+#unified-extensions-view .panel-header + toolbarseparator,
+#unified-extensions-view .panel-subview-body + toolbarseparator,
+#unified-extensions-view #unified-extensions-manage-extensions {
+ display:none !important;
+}
+
+#unified-extensions-view .unified-extensions-item-menu-button.subviewbutton {
+ visibility: hidden !important;
+ transition: 300ms !important;
+ -moz-margin-end: -3.6em !important;
+}
+
+#unified-extensions-view .panel-subview-body {
+ padding-top: 8px !important;
+ padding-bottom: 8px !important;
+}
+
+#unified-extensions-view:hover
+.unified-extensions-item-menu-button.subviewbutton {
+ visibility: visible !important;
+ transition: 300ms !important;
+ -moz-margin-end: initial !important;
+}
+
+#unified-extensions-view .unified-extensions-item .unified-extensions-item-icon,
+#unified-extensions-view .unified-extensions-item .toolbarbutton-badge-stack {
+ margin-inline-end: 2px !important;
+}
+
+#unified-extensions-view .unified-extensions-item-name,
+#unified-extensions-view .unified-extensions-item-message {
+ padding-inline-start: 0.5em !important;
+ width: 21em !important;
+}
+
+#unified-extensions-view .unified-extensions-item-action-button.subviewbutton {
+ padding-top: 2px !important;
+ padding-bottom: 2px !important;
+}
+