| Age | Commit message (Collapse) | Author |
|
The portal now correctly reports prefer-dark, but LibreWolf content stayed
light: Firefox's default widget.use-xdg-desktop-portal.settings = 2 ("auto")
reads GTK directly under bare niri and ignores the portal. Set it to 1 (always
use the portal) so web content's prefers-color-scheme follows the color-scheme
served by xdg-desktop-portal-gtk. LibreWolf doesn't set this pref, so "default"
status suffices.
Assisted-by: Claude:claude-opus-4-8
|
|
LibreWolf chrome was dark (via GTK theme) but web content stayed light. Root
cause is the portal, not the browser: the niri module routes the Settings
interface to xdg-desktop-portal-gnome, whose color-scheme depends on
gnome-settings-daemon. Under bare niri (no GNOME session) gsd is absent, so the
portal reported "no preference" and content's prefers-color-scheme resolved
light.
Pin org.freedesktop.impl.portal.Settings to the gtk backend, which reads the
org.gnome.desktop.interface color-scheme dconf key directly (no gsd), and add
xdg-desktop-portal-gtk. The key merges into the niri module's
xdg.portal.config.niri. Now the portal reports prefer-dark and content follows.
Assisted-by: Claude:claude-opus-4-8
|
|
Setting it via the policy with Status "default" did not take effect: LibreWolf's
mozilla.cfg does defaultPref("privacy.resistFingerprinting", true), and a policy
"default" pref writes the same branch and loses the tie to the autoconfig, so
RFP stayed on — spoofing web content's prefers-color-scheme to light and
disabling the devtools toggle. Use Status "locked", which wins over defaultPref.
Assisted-by: Claude:claude-opus-4-8
|
|
Replace the programs.firefox block with LibreWolf. Since there's no
programs.librewolf module, bake the policy into the package via
librewolf.override { extraPolicies = ...; } — blank home/new-tab and no
bookmarks toolbar, merged with LibreWolf's own defaults. No profile or /etc
policy file to manage.
Handle dark mode desktop-wide instead of per-browser: set the dconf key
org/gnome/desktop/interface/color-scheme = prefer-dark, which the niri
xdg-desktop-portal (gnome/gtk) backends report to apps. Firefox/LibreWolf Auto
theme and GTK apps all go dark, so the per-browser theme prefs are gone.
LibreWolf defaults resistFingerprinting on, which spoofs web content's
prefers-color-scheme to light; disable it so pages honor the dark setting.
Assisted-by: Claude:claude-opus-4-8
|
|
The previous commit used programs.firefox.profiles, which is a Home Manager
option and does not exist in the native NixOS module — the config failed to
evaluate. Switch to programs.firefox.preferences, which the module delivers as
a Firefox enterprise policy applied to every profile.
Covers dark chrome, blank home/new-tab, and hiding the bookmarks toolbar.
Full nav/tab toolbar removal needs userChrome.css, which the native module
cannot ship.
Assisted-by: Claude:claude-opus-4-8
|
|
Dark chrome, blank home/new-tab, and toolbar removal via userChrome.css.
Assisted-by: Claude:claude-opus-4-8
|
|
XCURSOR_THEME/niri point at Adwaita but the theme wasn't installed, so
named cursor shapes (link pointer/hand) failed to load and the cursor
never changed on hover. Install adwaita-icon-theme so the theme files
exist on disk.
Assisted-by: Claude:claude-opus-4-8
|
|
|
|
|
|
|
|
Install gnupg and pinentry-gnome3 and enable programs.gnupg.agent so
gpg-agent has a working pinentry from the system config (fixes 'No
pinentry' on key import). enableSSHSupport left off to avoid hijacking
the ssh-agent socket for the existing SSH key.
Assisted-by: Claude:claude-opus-4-8
|
|
Install yambar (status bar) in hwebs's package set. Set a large Terminus
console font (ter-v32n, earlySetup) so the kernel VT and tuigreet greeter
are legible on the HiDPI panel.
Assisted-by: Claude:claude-opus-4-8
|
|
|
|
Split the single-host config into a shared minimal base plus opt-in
profiles, and add a second machine (enzo laptop) alongside kusanagi.
- flake: add mkMachine helper; declare nixosConfigurations.kusanagi and
.enzo; add the disko input; move overlays per-machine.
- common/: minimal base only (boot, networking, tailscale, locale, nix
settings, neovim editor). Old configuration.nix/programs.nix removed.
- profiles/: coarse opt-in bundles (desktop, dev, apps). kusanagi imports
all three and stays byte-for-byte identical to the running system.
- machines/kusanagi/: all workstation-only config (ROCm, Scarlett audio,
optical-disc archiving, NAS mounts, kavita/immich/ollama); hardware
config moved here unchanged. User stays 'henz'.
- machines/enzo/: new laptop. Declarative LUKS+btrfs via disko
(LVM-on-LUKS, TPM2+PIN unlock, zram + encrypted swap for
suspend-then-hibernate); its own minimal niri desktop with
playback-only audio (no rtkit/jack); user 'hwebs'.
Assisted-by: Claude:claude-opus-4-8
|