feat(browsers): add firefox

- add nur
- set firefox as main browser
- move browsers into separate modules
This commit is contained in:
Felix Schröter 2020-08-14 23:41:20 +02:00
parent ed8e9f5914
commit f3fb292dd1
No known key found for this signature in database
GPG key ID: 910ACB9F6BD26F58
11 changed files with 96 additions and 40 deletions

View file

@ -1,29 +0,0 @@
{ config, pkgs, ... }:
let
brave = pkgs.runCommand "brave" {
buildInputs = [ pkgs.makeWrapper ];
} ''
mkdir $out
ln -s ${pkgs.brave}/* $out
rm $out/bin
mkdir $out/bin
ln -s ${pkgs.brave}/bin/* $out/bin
rm $out/bin/brave
makeWrapper ${pkgs.brave}/bin/brave $out/bin/brave \
--add-flags "--ignore-gpu-blacklist"
'';
in
{
programs.chromium = {
enable = true;
package = pkgs.chromium.override {
enableVaapi = true; # NVIDIA also requires vdpau backend
commandLineArgs = "--force-dark-mode";
};
};
home.packages = with pkgs; [
brave
];
}

21
home/browsers/brave.nix Normal file
View file

@ -0,0 +1,21 @@
{ config, pkgs, ... }:
let
brave-wrapped = with pkgs; pkgs.runCommand "brave" {
buildInputs = [ pkgs.makeWrapper ];
} ''
mkdir $out
ln -s ${brave}/* $out
rm $out/bin
mkdir $out/bin
ln -s ${brave}/bin/* $out/bin
rm $out/bin/brave
makeWrapper ${brave}/bin/brave $out/bin/brave \
--add-flags "--ignore-gpu-blacklist"
'';
in
{
home.packages = with pkgs; [
brave-wrapped
];
}

View file

@ -0,0 +1,11 @@
{ config, pkgs, ... }:
{
programs.chromium = {
enable = true;
package = pkgs.chromium.override {
enableVaapi = true; # NVIDIA also requires vdpau backend
commandLineArgs = "--force-dark-mode";
};
};
}

View file

@ -0,0 +1,9 @@
{ config, pkgs, ... }:
{
imports = [
./firefox.nix
./brave.nix
./chromium.nix
];
}

34
home/browsers/firefox.nix Normal file
View file

@ -0,0 +1,34 @@
{ config, pkgs, ... }:
let
firefox-addons = pkgs.nur.repos.rycee.firefox-addons;
in
{
programs.firefox = {
enable = true;
package = pkgs.firefox.override {
cfg = {
enableFXCastBridge = true;
};
};
profiles = {
private = {
id = 0;
};
work = {
id = 1;
};
};
extensions = with firefox-addons; [
https-everywhere
ublock-origin
decentraleyes
vimium
ipfs-companion
firefox-addons."1password-x-password-manager"
darkreader
# languagetool # not available :/
# fx_cast # TODO not published yet
];
};
}

View file

@ -18,8 +18,8 @@ in
]; ];
favorite-apps = [ favorite-apps = [
"org.gnome.Nautilus.desktop" "org.gnome.Nautilus.desktop"
"firefox.desktop"
"brave-browser.desktop" "brave-browser.desktop"
"chromium-browser.desktop"
]; ];
}; };
"org/gnome/shell/extensions/user-theme" = { "org/gnome/shell/extensions/user-theme" = {

View file

@ -10,15 +10,15 @@
"image/png" = [ "org.gnome.eog.desktop" ]; "image/png" = [ "org.gnome.eog.desktop" ];
"image/webp" = [ "org.gnome.eog.desktop" ]; "image/webp" = [ "org.gnome.eog.desktop" ];
"inode/directory" = [ "nautilus.desktop" "org.gnome.Nautilus.desktop" ]; "inode/directory" = [ "nautilus.desktop" "org.gnome.Nautilus.desktop" ];
"text/calendar" = [ "brave-browser.desktop" ]; "text/calendar" = [ "firefox.desktop" ];
"text/html" = [ "brave-browser.desktop" ]; "text/html" = [ "firefox.desktop" ];
"text/plain" = [ "org.gnome.gedit.desktop" ]; "text/plain" = [ "org.gnome.gedit.desktop" ];
"x-scheme-handler/about" = [ "brave-browser.desktop" ]; "x-scheme-handler/about" = [ "firefox.desktop" ];
"x-scheme-handler/http" = [ "brave-browser.desktop" ]; "x-scheme-handler/http" = [ "firefox.desktop" ];
"x-scheme-handler/https" = [ "brave-browser.desktop" ]; "x-scheme-handler/https" = [ "firefox.desktop" ];
"x-scheme-handler/mailto" = [ "brave-browser.desktop" ]; "x-scheme-handler/mailto" = [ "firefox.desktop" ];
"x-scheme-handler/sgnl" = [ "signal-desktop.desktop" ]; "x-scheme-handler/sgnl" = [ "signal-desktop.desktop" ];
"x-scheme-handler/unknown" = [ "brave-browser.desktop" ]; "x-scheme-handler/unknown" = [ "firefox.desktop" ];
"x-scheme-handler/webcal" = [ "brave-browser.desktop" ]; "x-scheme-handler/webcal" = [ "firefox.desktop" ];
}; };
} }

View file

@ -10,7 +10,7 @@ with pkgs;
./git.nix ./git.nix
./keybase.nix ./keybase.nix
./signal.nix ./signal.nix
./browser.nix ./browsers
./dotnet.nix ./dotnet.nix
./planck.nix ./planck.nix
]; ];

View file

@ -11,7 +11,7 @@
./git.nix ./git.nix
./keybase.nix ./keybase.nix
./signal.nix ./signal.nix
./browser.nix ./browsers
./planck.nix ./planck.nix
]; ];

View file

@ -5,6 +5,7 @@
./hardened.nix ./hardened.nix
./i18n.nix ./i18n.nix
./nix.nix ./nix.nix
./nur.nix
./vpn.nix ./vpn.nix
]; ];

9
system/nur.nix Normal file
View file

@ -0,0 +1,9 @@
{ config, pkgs, ... }:
{
nixpkgs.config.packageOverrides = pkgs: {
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
inherit pkgs;
};
};
}