From 7ded1ab6bcbcdaa30f733de7ea73f4e091ee8b09 Mon Sep 17 00:00:00 2001 From: Skyler Grey Date: Sat, 15 Nov 2025 22:32:41 +0000 Subject: [PATCH] feat(minion): use vivaldi browser Change-Id: qssoynxlttvnprqntwzmoqtunquyknlx I've gotten fed up of Firefox's AI/user unfriendliness and Thunderbird's broken calendaring, specifically - Thunderbird, despite being a mail client, cannot seem to send calendar invites to people. Shockingly, Android's builtin calendar (which is not a mail client) seems to do a better job at this(!!) - Firefox seems to be adding more and more AI features which are annoying to opt out of. I can't be bothered to write the nix config to disable these as a matter of policy (and I really shouldn't have to). In my opinion, investing in these features shows that FF is out-of-touch with its userbase and no longer cares about making a good browsing experience - Firefox is behind on important web standards, in my case particularly WebUSB and Bluetooth (used for some hardware I have) - Firefox makes decisions which give webmasters the final say rather than me, the user. Specifically, Firefox has no way to override HSTS (Chromium lets 'thisisunsafe' override HSTS). This is not only a bad move on part of user freedom, it's also *really annoying* for development - Chromium also makes some of these decisions, *cough ManifestV3*, and Google attempts to make more, *cough Web Environment Integrity*, but Vivaldi comes with a built-in Adblocker and I can - more or less - get everything I need on a Chromium based browser Vivaldi fixes both of these, at the cost of being proprietary. That means - We can't build it in CI - We definitely can't make it default (perhaps it could be an ingredient) We can't remove the other browsers we have since as we commonly need them for testing If anyone has any good FOSS alternatives that I've missed, I'd love to hear about them... For my purposes, LibreWolf is not a *good* FOSS alternative (it makes various decisions that break websites), neither is base Chromium. --- packetmix/homes/minion/vivaldi.nix | 28 ++++++++++++++++++++++++++++ packetmix/homes/minion/xdg.nix | 17 ----------------- 2 files changed, 28 insertions(+), 17 deletions(-) create mode 100644 packetmix/homes/minion/vivaldi.nix delete mode 100644 packetmix/homes/minion/xdg.nix diff --git a/packetmix/homes/minion/vivaldi.nix b/packetmix/homes/minion/vivaldi.nix new file mode 100644 index 00000000..3b89a563 --- /dev/null +++ b/packetmix/homes/minion/vivaldi.nix @@ -0,0 +1,28 @@ +# SPDX-FileCopyrightText: 2025 FreshlyBakedCake +# +# SPDX-License-Identifier: MIT + +{ project, pkgs, lib, ... }: +lib.mkIf (!project.lib.ci) { + home.packages = [ + pkgs.vivaldi + ]; + + xdg.mimeApps = { + enable = true; + defaultApplications = { + "default-web-browser" = [ "vivaldi-stable.desktop" ]; + "text/html" = [ "vivaldi-stable.desktop" ]; + "x-scheme-handler/http" = [ "vivaldi-stable.desktop" ]; + "x-scheme-handler/https" = [ "vivaldi-stable.desktop" ]; + "x-scheme-handler/about" = [ "vivaldi-stable.desktop" ]; + "x-scheme-handler/unknown" = [ "vivaldi-stable.desktop" ]; + "message/rfc822" = lib.mkForce [ "vivaldi-stable.desktop" ]; + "x-scheme-handler/mailto" = lib.mkForce [ "vivaldi-stable.desktop" ]; + }; + }; + + clicks.storage.impermanence.persist.directories = [ + ".config/vivaldi" + ]; +} diff --git a/packetmix/homes/minion/xdg.nix b/packetmix/homes/minion/xdg.nix deleted file mode 100644 index 7157acf1..00000000 --- a/packetmix/homes/minion/xdg.nix +++ /dev/null @@ -1,17 +0,0 @@ -# SPDX-FileCopyrightText: 2025 FreshlyBakedCake -# -# SPDX-License-Identifier: MIT - -{ - xdg.mimeApps = { - enable = true; - defaultApplications = { - "default-web-browser" = [ "firefox.desktop" ]; - "text/html" = [ "firefox.desktop" ]; - "x-scheme-handler/http" = [ "firefox.desktop" ]; - "x-scheme-handler/https" = [ "firefox.desktop" ]; - "x-scheme-handler/about" = [ "firefox.desktop" ]; - "x-scheme-handler/unknown" = [ "firefox.desktop" ]; - }; - }; -} -- 2.43.0