summaryrefslogtreecommitdiff
path: root/home/nix/programs
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-11-09 18:16:54 -0500
committerFreya Murphy <freya@freyacat.org>2024-11-09 18:16:54 -0500
commit18751dd6a4122450cf947be031ecb49680009c82 (patch)
tree099bf3d87168ec84b5a9cd4101b1b3e3ba0b3e93 /home/nix/programs
parentadd some dev packages, clean up some things (diff)
downloaddotfiles-guix-18751dd6a4122450cf947be031ecb49680009c82.tar.gz
dotfiles-guix-18751dd6a4122450cf947be031ecb49680009c82.tar.bz2
dotfiles-guix-18751dd6a4122450cf947be031ecb49680009c82.zip
firefox with nixGL and vertical tabs
Diffstat (limited to '')
-rw-r--r--home/nix/programs/firefox.nix18
-rw-r--r--home/nix/programs/nixGL.nix31
2 files changed, 47 insertions, 2 deletions
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
+ '';
+ }))
+