The end-4 dots bind Super+W to $browser, which launch_first_available.sh
resolves to Chrome when it is installed. Append an unbind + rebind to
hypr/custom/keybinds.lua (sourced after the default) on each activation so
Super+W opens Firefox and Super+Shift+W opens the Firefox work profile,
re-added after every dots recopy. Chain reloadHyprland after it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Clear ID_INPUT_JOYSTICK on the Keychron keyboard (3434) and X3PRO mouse
receiver (3151) so Steam/games stop grabbing them as a phantom controller.
Also grant the active session uaccess to those devices' hidraw nodes via a
60-*.rules package file (must sort before systemd's 73-seat-late.rules) so
their browser-based WebHID configurators work.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add the nix-flatpak flake input and wire its NixOS module into the gaming
module to declaratively install io.mrarm.mcpelauncher from Flathub. The
Flatpak build tracks the newer, pairip-protected Bedrock releases ahead of
the nixpkgs mcpelauncher package.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add vesktop (Discord+Vencord) with a proper Wayland/PipeWire screenshare
to replace the official discord client, whose Linux WebRTC path starved
the stream into macroblocks. A launcher-entry override + an icon-only
derivation (real Discord SVG, no runtime closure) relabel it to
"Discord" with the genuine logo. Drops the official discord package.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The bulk of the home-manager config: re-applied Hyprland dots overrides
(UK layout, monitor layout, Qt=kde theme, foot/kitty Ctrl+C, cursor,
fish greeting), the themed hyprland-preview-share-picker + xdph wiring,
Firefox personal/work profiles, Spicetify, mimeapps, and the CLI/app
package set. Also wires up the Trayscale autostart and 1Password Firefox
overlay on the home side.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
console.keyMap = uk and xkb.layout = gb so the TTYs and SDDM greeter
match the UK layout (Hyprland's own layout is set in home).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
programs._1password-gui/_1password with polkit owner zephrynis, and
allowlist NixOS's .firefox-wrapped binary so the browser extension can
connect to the desktop app.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
App-independent mic denoising as a PipeWire filter-chain exposing a
"Noise Canceling source" — replaces Discord's unusable Krisp and works
in every app. Imported into the nixos-pc host.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Tailscale with --operator=zephrynis so the daemon is drivable without
sudo (Trayscale + tailscale switch/login from a plain shell), plus the
Trayscale systray app. Imported into the nixos-pc host.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Disable UWSM (black-screens under NVIDIA), autologin to the Hyprland
session, restore upstream qt platformTheme=kde + Darkly, and install the
fonts the end-4 dots actually reference (Google Sans Flex, Readex Pro,
Space Grotesk).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pin the new inputs the config now depends on (GTK4 screenshare picker,
rycee's firefox-addons tree, the Google Sans Flex font, and spicetify-nix)
and add flake.lock.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>