From f3fb292dd1016cfb07d52f27454f0710136034b0 Mon Sep 17 00:00:00 2001 From: Felix Tenley Date: Fri, 14 Aug 2020 23:41:20 +0200 Subject: [PATCH] feat(browsers): add firefox - add nur - set firefox as main browser - move browsers into separate modules --- home/browser.nix | 29 ----------------------------- home/browsers/brave.nix | 21 +++++++++++++++++++++ home/browsers/chromium.nix | 11 +++++++++++ home/browsers/default.nix | 9 +++++++++ home/browsers/firefox.nix | 34 ++++++++++++++++++++++++++++++++++ home/desktop/gnome.nix | 2 +- home/desktop/mimeapps.nix | 16 ++++++++-------- home/felschr-work.nix | 2 +- home/felschr.nix | 2 +- system/default.nix | 1 + system/nur.nix | 9 +++++++++ 11 files changed, 96 insertions(+), 40 deletions(-) delete mode 100644 home/browser.nix create mode 100644 home/browsers/brave.nix create mode 100644 home/browsers/chromium.nix create mode 100644 home/browsers/default.nix create mode 100644 home/browsers/firefox.nix create mode 100644 system/nur.nix diff --git a/home/browser.nix b/home/browser.nix deleted file mode 100644 index 4f9a0b7..0000000 --- a/home/browser.nix +++ /dev/null @@ -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 - ]; -} diff --git a/home/browsers/brave.nix b/home/browsers/brave.nix new file mode 100644 index 0000000..a14b3d2 --- /dev/null +++ b/home/browsers/brave.nix @@ -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 + ]; +} diff --git a/home/browsers/chromium.nix b/home/browsers/chromium.nix new file mode 100644 index 0000000..b1cc078 --- /dev/null +++ b/home/browsers/chromium.nix @@ -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"; + }; + }; +} diff --git a/home/browsers/default.nix b/home/browsers/default.nix new file mode 100644 index 0000000..3bbe1d7 --- /dev/null +++ b/home/browsers/default.nix @@ -0,0 +1,9 @@ +{ config, pkgs, ... }: + +{ + imports = [ + ./firefox.nix + ./brave.nix + ./chromium.nix + ]; +} diff --git a/home/browsers/firefox.nix b/home/browsers/firefox.nix new file mode 100644 index 0000000..8ef8cd4 --- /dev/null +++ b/home/browsers/firefox.nix @@ -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 + ]; + }; +} diff --git a/home/desktop/gnome.nix b/home/desktop/gnome.nix index 739fada..b8dd3bd 100644 --- a/home/desktop/gnome.nix +++ b/home/desktop/gnome.nix @@ -18,8 +18,8 @@ in ]; favorite-apps = [ "org.gnome.Nautilus.desktop" + "firefox.desktop" "brave-browser.desktop" - "chromium-browser.desktop" ]; }; "org/gnome/shell/extensions/user-theme" = { diff --git a/home/desktop/mimeapps.nix b/home/desktop/mimeapps.nix index 3023fdd..99b1bc4 100644 --- a/home/desktop/mimeapps.nix +++ b/home/desktop/mimeapps.nix @@ -10,15 +10,15 @@ "image/png" = [ "org.gnome.eog.desktop" ]; "image/webp" = [ "org.gnome.eog.desktop" ]; "inode/directory" = [ "nautilus.desktop" "org.gnome.Nautilus.desktop" ]; - "text/calendar" = [ "brave-browser.desktop" ]; - "text/html" = [ "brave-browser.desktop" ]; + "text/calendar" = [ "firefox.desktop" ]; + "text/html" = [ "firefox.desktop" ]; "text/plain" = [ "org.gnome.gedit.desktop" ]; - "x-scheme-handler/about" = [ "brave-browser.desktop" ]; - "x-scheme-handler/http" = [ "brave-browser.desktop" ]; - "x-scheme-handler/https" = [ "brave-browser.desktop" ]; - "x-scheme-handler/mailto" = [ "brave-browser.desktop" ]; + "x-scheme-handler/about" = [ "firefox.desktop" ]; + "x-scheme-handler/http" = [ "firefox.desktop" ]; + "x-scheme-handler/https" = [ "firefox.desktop" ]; + "x-scheme-handler/mailto" = [ "firefox.desktop" ]; "x-scheme-handler/sgnl" = [ "signal-desktop.desktop" ]; - "x-scheme-handler/unknown" = [ "brave-browser.desktop" ]; - "x-scheme-handler/webcal" = [ "brave-browser.desktop" ]; + "x-scheme-handler/unknown" = [ "firefox.desktop" ]; + "x-scheme-handler/webcal" = [ "firefox.desktop" ]; }; } diff --git a/home/felschr-work.nix b/home/felschr-work.nix index 6029a07..720e0e2 100644 --- a/home/felschr-work.nix +++ b/home/felschr-work.nix @@ -10,7 +10,7 @@ with pkgs; ./git.nix ./keybase.nix ./signal.nix - ./browser.nix + ./browsers ./dotnet.nix ./planck.nix ]; diff --git a/home/felschr.nix b/home/felschr.nix index 3f7d277..4603b09 100644 --- a/home/felschr.nix +++ b/home/felschr.nix @@ -11,7 +11,7 @@ ./git.nix ./keybase.nix ./signal.nix - ./browser.nix + ./browsers ./planck.nix ]; diff --git a/system/default.nix b/system/default.nix index 60dd988..37b981a 100644 --- a/system/default.nix +++ b/system/default.nix @@ -5,6 +5,7 @@ ./hardened.nix ./i18n.nix ./nix.nix + ./nur.nix ./vpn.nix ]; diff --git a/system/nur.nix b/system/nur.nix new file mode 100644 index 0000000..c0eaf61 --- /dev/null +++ b/system/nur.nix @@ -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; + }; + }; +}