From 18751dd6a4122450cf947be031ecb49680009c82 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Sat, 9 Nov 2024 18:16:54 -0500 Subject: firefox with nixGL and vertical tabs --- home/nix/programs/firefox.nix | 18 ++++++++++++++++-- home/nix/programs/nixGL.nix | 31 +++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 home/nix/programs/nixGL.nix (limited to 'home/nix/programs') diff --git a/home/nix/programs/firefox.nix b/home/nix/programs/firefox.nix index 560e4ae..3935e18 100644 --- a/home/nix/programs/firefox.nix +++ b/home/nix/programs/firefox.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ pkgs, nixgl, ... }: let lock-false = { Value = false; @@ -8,11 +8,14 @@ Value = true; Status = "locked"; }; + nixGL = import ./nixGL.nix { inherit pkgs nixgl; }; in { programs.firefox = { enable = true; + package = (nixGL pkgs.firefox); + policies = { EnableTrackingProtection = { Value = true; @@ -230,7 +233,7 @@ "media.eme.enabled" = lock-true; # tabs "browser.tabs.inTitlebar" = { - Value = 1; + Value = 0; Status = "locked"; }; "browser.tabs.warnOnClose" = lock-true; @@ -251,6 +254,15 @@ "browser.safebrowsing.downloads.enabled" = lock-true; "browser.safebrowsing.downloads.remote.block_uncommon" = lock-false; "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = lock-false; + # sidebar + "sidebar.revamp" = lock-true; + "sidebar.verticalTabs" = lock-true; + "sidebar.main.tools" = { + Value = ""; + Status = "locked"; + }; + "browser.tabs.closeTabByDblclick" = lock-true; + "ui.key.menuAccessKeyFocuses" = lock-false; }; }; @@ -278,6 +290,8 @@ }; }; userChrome = '' + #sidebar-header { display:none !important; } + #sidebar-search-container { display:none !important; } #firefox-view-button { visibility: collapse; } diff --git a/home/nix/programs/nixGL.nix b/home/nix/programs/nixGL.nix new file mode 100644 index 0000000..9c74fc8 --- /dev/null +++ b/home/nix/programs/nixGL.nix @@ -0,0 +1,31 @@ +{ pkgs, nixgl, ... }: + +let + nixGL = "${nixgl.packages.${pkgs.system}.nixGLIntel}/bin/nixGLIntel"; +in + pkg: + (pkg.overrideAttrs (old: { + name = "nixGL-${pkg.name}"; + buildCommand = '' + set -eo pipefail + + ${ + # Heavily inspired by https://stackoverflow.com/a/68523368/6259505 + pkgs.lib.concatStringsSep "\n" (map (outputName: '' + echo "Copying output ${outputName}" + set -x + cp -rs --no-preserve=mode "${pkg.${outputName}}" "''$${outputName}" + set +x + '') (old.outputs or [ "out" ]))} + + rm -rf $out/bin/* + shopt -s nullglob # Prevent loop from running if no files + for file in ${pkg.out}/bin/*; do + echo "#!${pkgs.bash}/bin/bash" > "$out/bin/$(basename $file)" + echo "exec -a \"\$0\" ${nixGL} $file \"\$@\"" >> "$out/bin/$(basename $file)" + chmod +x "$out/bin/$(basename $file)" + done + shopt -u nullglob # Revert nullglob back to its normal default state + ''; + })) + -- cgit v1.2.3-freya