From af0bb8743ee602fce4b908a838615f70459b60e2 Mon Sep 17 00:00:00 2001 From: Ranomier <> Date: Wed, 4 Jun 2025 22:43:01 +0200 Subject: [PATCH] wip: switch to librewolf --- modules/sec_auth/firejail.nix | 15 +++++++++++++++ modules/software/browser/default.nix | 19 +++++++++++++++++-- modules/software/browser/firefox.nix | 15 ++++++--------- modules/software/browser/librewolf.nix | 10 ++++++++++ 4 files changed, 48 insertions(+), 11 deletions(-) create mode 100644 modules/software/browser/librewolf.nix diff --git a/modules/sec_auth/firejail.nix b/modules/sec_auth/firejail.nix index 11f7836..07224c5 100644 --- a/modules/sec_auth/firejail.nix +++ b/modules/sec_auth/firejail.nix @@ -44,6 +44,21 @@ ]; }; + librewolf = { + executable = "${pkgs.librewolf}/bin/librewolf"; + profile = "${pkgs.firejail}/etc/firejail/librewolf.profile"; + extraArgs = [ + # Required for U2F USB stick + "--ignore=private-dev" + # Enforce dark mode + "--env=GTK_THEME=Adwaita:dark" + # Enable system notifications + "--dbus-user.talk=org.freedesktop.Notifications" + # For screen sharing + "--dbus-user.talk=org.freedesktop.portal.*" + ]; + }; + nyxt = { executable = "${pkgs.nyxt}/bin/nyxt"; profile = "${pkgs.firejail}/etc/firejail/chromium-browser.profile"; diff --git a/modules/software/browser/default.nix b/modules/software/browser/default.nix index 9903eb0..ab10d64 100644 --- a/modules/software/browser/default.nix +++ b/modules/software/browser/default.nix @@ -1,7 +1,22 @@ -{ +{pkgs, ...}: let + package = pkgs.librewolf; +in { imports = [ ./brave.nix - ./firefox.nix + #./firefox.nix + ./librewolf.nix ./nyxt.nix ]; + + environment.sessionVariables.DEFAULT_BROWSER = + "${package}/bin/" + + builtins.replaceStrings [".desktop"] [""] package.desktopItem.name; + + xdg.mime.defaultApplications = let + browser_desktop_file = package.desktopItem.name; + in { + "text/html" = browser_desktop_file; + "x-scheme-handler/http" = browser_desktop_file; + "x-scheme-handler/https" = browser_desktop_file; + }; } diff --git a/modules/software/browser/firefox.nix b/modules/software/browser/firefox.nix index 3f4b90a..a27d896 100644 --- a/modules/software/browser/firefox.nix +++ b/modules/software/browser/firefox.nix @@ -1,13 +1,10 @@ -{pkgs, ...}: { +{pkgs, ...}: let + package = pkgs.firefox; +in { # The logical browser of choice - programs.firefox.enable = true; + programs.firefox = { + enable = true; - xdg.mime.defaultApplications = let - browser_desktop_file = "firefox.desktop"; - in { - "text/html" = browser_desktop_file; - "x-scheme-handler/http" = browser_desktop_file; - "x-scheme-handler/https" = browser_desktop_file; + package = package; }; - environment.sessionVariables.DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox"; } diff --git a/modules/software/browser/librewolf.nix b/modules/software/browser/librewolf.nix new file mode 100644 index 0000000..7e10a70 --- /dev/null +++ b/modules/software/browser/librewolf.nix @@ -0,0 +1,10 @@ +{pkgs, ...}: let + package = pkgs.librewolf; +in { + # The logical browser of choice + programs.firefox = { + enable = true; + + package = package; + }; +}