Skip to content

chat: Vencord Discord (nixcord) with ad/telemetry blocking - #92

Open
chadac wants to merge 1 commit into
nix-configfrom
feature/discord-adblock
Open

chat: Vencord Discord (nixcord) with ad/telemetry blocking#92
chadac wants to merge 1 commit into
nix-configfrom
feature/discord-adblock

Conversation

@chadac

@chadac chadac commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Replaces plain Discord on Linux with a Vencord-patched Discord managed declaratively via nixcord, to strip Nitro upsells / quest nags and cut telemetry.

Changes

  • flake input: add nixcord (github:4evy/nixcord, nixpkgs.follows).
  • apps/chat.nix:
    • Linux Discord now comes from the nixcord app (Vencord). Darwin keeps the plain discord package.
    • quickCss hides the Nitro/boost upsell UI (CSS is version-proof — a bad selector no-ops instead of failing eval).
    • NixOS networking.extraHosts blocklist for Discord telemetry + common ad/YouTube-embed ad domains.

Notes / caveats

  • App is named nixcord, not discord, on purpose. An app whose name matches its package (discord) does not get its home module applied to NixOS hosts under nix-config-modules (verified empirically — a differently-named app works). Documented inline.
  • Vencord plugins are a TODO. The declarative config means the in-app plugin menu won't persist, and an unknown plugin key fails eval — so I left config.plugins empty with a marked spot. After launching this once, confirm the exact keys (e.g. disableQuestButton, noDevtoolsWarning) from Vencord's plugin list and drop them in.
  • YouTube ad embeds inside Discord: the hosts blocklist helps partially; full YouTube ad-blocking still needs uBlock Origin in a real browser (Discord's embedded player can't be reached by it).

Validation

  • homeConfigurations.odin builds and contains the Vencord Discord.
  • homeConfigurations.odin-darwin keeps plain discord (nixcord correctly scoped).
  • nixosConfigurations.odin evaluates with the extraHosts blocklist.

🤖 Generated with Claude Code

Replace the plain discord package on Linux with a Vencord-patched
Discord managed declaratively via nixcord (Darwin keeps the plain
package). Adds a quickCss block that hides the Nitro upsell UI and a
NixOS hosts blocklist for Discord telemetry + common ad domains.

The app is named 'nixcord' rather than 'discord' on purpose: an app
whose name matches its package doesn't get its home module applied to
NixOS hosts under nix-config-modules.

Vencord plugin keys are left as a TODO to fill in after confirming the
exact names from the in-app plugin list (an unknown key fails eval).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@chadac
chadac force-pushed the feature/discord-adblock branch from b504ca6 to 94c47a5 Compare August 4, 2026 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant