brave -> zen, and more apps ride matugen #103

Merged
lament merged 2 commits from tweaks into main 2026-07-21 02:31:40 -05:00
Owner
  • zen replaces brave as the browser on ishtar - DNS-level adblock carries the network side now, so brave's built-in blocker stopped earning its keep and theming was the draw
    • new zen-browser input (0xc000022070/zen-browser-flake, follows nixpkgs + home-manager) - not in nixpkgs, firefox-fork on its own cadence
    • declared via the HM module (homeModules.beta): telemetry-off policies + policies.ExtensionSettings force-installing uBlock Origin / Bitwarden / Stylus from AMO (keyed by webext id)
    • no profiles.* declared, on purpose - the HM firefox module writes user.js/chrome as read-only symlinks, which would clobber noctalia's zen-browser template (it injects userChrome/userContent css into the live profile + flips the legacy-stylesheets pref). leaving the profile unmanaged keeps it writable so noctalia owns the theme - same split as bat/btop
    • dotfiles/niri/config.kdl: Mod+B + the PiP float rule move to zen-beta (wrapFirefox names the beta variant's binary + app-id zen-beta, not zen)
  • nvim follows noctalia's matugen palette now - ishtar-only, on top of the standalone nvf scope from #101
    • nvf declaratively supplies base16-nvim + a bootstrap that dofiles the palette noctalia renders to ~/.config/nvim/lua/matugen.lua (its "neovim" template); noctalia owns only that one mutable file
    • hot-reloads on theme/wallpaper change via a SIGUSR1 handler we own - base16-nvim doesn't fire ColorScheme (so transparency reapply is manual), and NVIM_APPNAME=nvf breaks noctalia's own generated handler (require('matugen') falls off package.path), so we stub new_signal across the dofile and register one reload ourselves
  • btop pointed at noctalia's generated theme (color_theme = "noctalia")
    • btop.conf is an HM read-only symlink, so noctalia's apply.sh can't sed it in - setting the pointer in nix means apply.sh no-ops instead. bat needed the opposite (nothing): its config isn't HM-owned, so noctalia's template writes --theme + builds the cache itself
  • niri's file-picker portal was dead - every save/open/import dialog silently no-op'd, flatpak and native alike
    • niri-flake ships xdg-desktop-portal-gnome + a portals.conf naming gtk as the FileChooser fallback, but never pulls the gtk backend in, and gnome's impl doesn't render outside a gnome session -> no working FileChooser
    • fix in profiles/niri.nix: add xdg-desktop-portal-gtk + pin FileChooser = "gtk" (the config.niri override wins for that one interface, rest of niri-flake's portal config stays). needs a relog - portal services are session-scoped
  • left for later:
    • firefox stays enabled in lamentDesktop as a backup until zen's proven; brave flatpak + its niri leftovers come out after cutover
    • bitwarden desktop-app unlock (native-messaging) not wired - the extension works standalone against vaultwarden; add nativeMessagingHosts only if the desktop handshake's wanted
    • extensions pull latest.xpi at profile-init (auto-updating, not closure-pinned); NUR firefox-addons is the pin-it route if ever wanted
- `zen` replaces `brave` as the browser on `ishtar` - DNS-level adblock carries the network side now, so brave's built-in blocker stopped earning its keep and theming was the draw - new `zen-browser` input (`0xc000022070/zen-browser-flake`, follows `nixpkgs` + `home-manager`) - not in nixpkgs, firefox-fork on its own cadence - declared via the HM module (`homeModules.beta`): telemetry-off `policies` + `policies.ExtensionSettings` force-installing uBlock Origin / Bitwarden / Stylus from AMO (keyed by webext id) - **no `profiles.*` declared, on purpose** - the HM firefox module writes `user.js`/`chrome` as read-only symlinks, which would clobber noctalia's `zen-browser` template (it injects userChrome/userContent css into the live profile + flips the legacy-stylesheets pref). leaving the profile unmanaged keeps it writable so noctalia owns the theme - same split as `bat`/`btop` - `dotfiles/niri/config.kdl`: `Mod+B` + the PiP float rule move to `zen-beta` (wrapFirefox names the beta variant's binary + app-id `zen-beta`, not `zen`) - `nvim` follows noctalia's matugen palette now - `ishtar`-only, on top of the standalone nvf scope from #101 - nvf declaratively supplies `base16-nvim` + a bootstrap that `dofile`s the palette noctalia renders to `~/.config/nvim/lua/matugen.lua` (its "neovim" template); noctalia owns only that one mutable file - hot-reloads on theme/wallpaper change via a SIGUSR1 handler we own - `base16-nvim` doesn't fire `ColorScheme` (so transparency reapply is manual), and `NVIM_APPNAME=nvf` breaks noctalia's *own* generated handler (`require('matugen')` falls off `package.path`), so we stub `new_signal` across the `dofile` and register one reload ourselves - `btop` pointed at noctalia's generated theme (`color_theme = "noctalia"`) - `btop.conf` is an HM read-only symlink, so noctalia's `apply.sh` can't sed it in - setting the pointer in nix means apply.sh no-ops instead. `bat` needed the opposite (nothing): its config isn't HM-owned, so noctalia's template writes `--theme` + builds the cache itself - niri's file-picker portal was dead - every save/open/import dialog silently no-op'd, flatpak and native alike - niri-flake ships `xdg-desktop-portal-gnome` + a `portals.conf` naming `gtk` as the `FileChooser` fallback, but never pulls the gtk backend in, and gnome's impl doesn't render outside a gnome session -> no working `FileChooser` - fix in `profiles/niri.nix`: add `xdg-desktop-portal-gtk` + pin `FileChooser = "gtk"` (the `config.niri` override wins for that one interface, rest of niri-flake's portal config stays). needs a relog - portal services are session-scoped - left for later: - `firefox` stays `enable`d in `lamentDesktop` as a backup until zen's proven; brave flatpak + its niri leftovers come out after cutover - bitwarden desktop-app unlock (native-messaging) not wired - the extension works standalone against vaultwarden; add `nativeMessagingHosts` only if the desktop handshake's wanted - extensions pull `latest.xpi` at profile-init (auto-updating, not closure-pinned); NUR `firefox-addons` is the pin-it route if ever wanted
switching back to zen
All checks were successful
CI / check (pull_request) Successful in 54s
CI / deploy (pull_request) Has been skipped
CI / build (pull_request) Successful in 2m7s
CI / dry-activate (pull_request) Successful in 39s
CI / check (push) Has been skipped
CI / build (push) Has been skipped
CI / dry-activate (push) Has been skipped
CI / deploy (push) Successful in 2m48s
6b1a09bd04
lament merged commit 6b1a09bd04 into main 2026-07-21 02:31:40 -05:00
lament deleted branch tweaks 2026-07-21 02:31:40 -05:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
lament/pantheon!103
No description provided.