-
Notifications
You must be signed in to change notification settings - Fork 1
/
browser.nix
78 lines (69 loc) · 2.29 KB
/
browser.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Tangled from README.org
{ config, pkgs, lib, options, ... }:
let
# TODO: Find a cleaner implementation, like an pkgs overlay at shell.nix?!?
nur = import <NUR> { inherit pkgs; };
sources = import ./nix/sources.nix;
nixpkgs-bleeding-src = sources."nixpkgs-bleeding";
pkgs-bleeding = import nixpkgs-bleeding-src { };
in
{
home.packages = with pkgs; [
];
programs.chromium = {
enable = true;
package = pkgs-bleeding.chromium;
commandLineArgs = [
# https://www.linuxuprising.com/2018/08/how-to-enable-hardware-accelerated.html
"--enable-accelerated-video-decode"
"--enable-logging=stderr"
"--ignore-gpu-blocklist"
"--use-gl=desktop"
"--enable-features=VaapiVideoEncoder,VaapiVideoDecoder"
"--disable-features=UseChromeOSDirectVideoDecoder"
# https://github.com/NixOS/nixpkgs/issues/209101
"--disable-gpu-vsync"
"--disable-frame-rate-limit"
# https://wiki.archlinux.org/title/chromium
"--ignore-gpu-blocklist"
"--enable-gpu-rasterization"
"--enable-zero-copy"
];
extensions = [
{
# Vimium
# https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb
id = "dbepggeogbaibhgnhhndojpepiihcmeb";
}
{
# wasavi
# https://chrome.google.com/webstore/detail/wasavi/dgogifpkoilgiofhhhodbodcfgomelhe
# see https://github.com/philc/vimium/issues/2564
id = "dgogifpkoilgiofhhhodbodcfgomelhe";
}
{
# GhostText
# https://chrome.google.com/webstore/detail/ghosttext/godiecgffnchndlihlpaajjcplehddca
# see https://ghosttext.fregante.com/
id = "godiecgffnchndlihlpaajjcplehddca";
}
{
# Darkreader
# https://chrome.google.com/webstore/detail/dark-reader/eimadpbcbfnmbkopoojfekhnkhdbieeh
id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";
}
];
};
home.sessionVariables.DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1 = 1;
programs.firefox = {
enable = true;
# NOTE: Extensions need firefox.profiles to be defined
profiles.personal.extensions =
# https://nur.nix-community.org/repos/rycee/
with nur.repos.rycee.firefox-addons; [
multi-account-containers # needed by tridactyl
tridactyl
darkreader
];
};
}