### Enable Themes Source: https://flameflag.github.io/nixcord Specify a list of theme filenames to enable from the themes directory. Example: `["my-theme.css"]`. ```nix programs.nixcord.config.enabledThemes = [ "my-theme.css" ]; ``` -------------------------------- ### Configure Nixcord User Plugins Source: https://flameflag.github.io/nixcord Specify user plugins to fetch and install. Supports GitHub URLs, absolute local paths, Nix path literals, and packages/derivations. Ensure any required JSON config is enabled in `extraConfig`. ```nix { localPlugin = "/home/user/projects/myPlugin"; someCoolPlugin = "github:someUser/someCoolPlugin/someHashHere"; } ``` -------------------------------- ### Configure Discord Client and Plugins Source: https://flameflag.github.io/nixcord Enable a Discord client (Vencord, Equicord, Vesktop, etc.) and configure plugins and theming. ```nix { programs.nixcord = { enable = true; # Choose your client (enable only one of these two) discord.vencord.enable = true; # Standard Vencord # discord.equicord.enable = true; # Equicord (has more plugins) # Or these vesktop.enable = true; # dorion.enable = true; # legcord.enable = true; # Theming quickCss = "/* css goes here */"; config = { useQuickCss = true; themeLinks = [ "https://raw.githubusercontent.com/link/to/some/theme.css" ]; frameless = true; plugins = { hideAttachments.enable = true; ignoreActivities = { enable = true; ignorePlaying = true; ignoredActivities = [ { id = "game-id"; name = "League of Legends"; type = 0; } ]; }; }; }; }; } ``` -------------------------------- ### Import Nixcord Home Manager Module Source: https://flameflag.github.io/nixcord Import the Nixcord Home Manager module into your home.nix configuration. ```nix # home.nix { imports = [ inputs.nixcord.homeModules.nixcord ]; } ``` -------------------------------- ### Configure CollapsibleUI Channel List Source: https://flameflag.github.io/nixcord Set to `true` to persist the channel list in a collapsed state. ```nix programs.nixcord.config.plugins.CollapsibleUI.channelListCollapsed = true; ``` -------------------------------- ### Configure Legcord Client Source: https://flameflag.github.io/nixcord Enable the Legcord client and optionally bundle Vencord or Equicord. Configure Legcord-specific settings. ```nix { programs.nixcord.legcord = { enable = true; # Optionally bundle Vencord or Equicord (also installs userPlugins) vencord.enable = true; # equicord.enable = true; settings = { channel = "stable"; tray = "dynamic"; minimizeToTray = true; mods = [ "vencord" ]; doneSetup = true; }; }; } ``` -------------------------------- ### Enable Frameless Client Window Source: https://flameflag.github.io/nixcord Set to `true` to enable a frameless client window. ```nix programs.nixcord.config.frameless = true; ``` -------------------------------- ### Enable Vesktop in Nixcord Source: https://flameflag.github.io/nixcord Set to `true` to enable Vesktop integration. This option controls whether the Vesktop client is activated. ```nix true ``` -------------------------------- ### Enable Nixcord Source: https://flameflag.github.io/nixcord Set to `true` to enable Nixcord, which integrates Discord with Vencord/Equicord. ```nix programs.nixcord.enable = true; ``` -------------------------------- ### Import Nixcord NixOS Module Source: https://flameflag.github.io/nixcord Import the Nixcord NixOS module into your configuration.nix for system-wide configuration. ```nix # configuration.nix { imports = [ inputs.nixcord.nixosModules.nixcord ]; programs.nixcord = { enable = true; user = "your-username"; # Needed for system-level config }; } ``` -------------------------------- ### Configure CollapsibleUI Members List Source: https://flameflag.github.io/nixcord Set to `true` to persist the members list in a collapsed state. ```nix programs.nixcord.config.plugins.CollapsibleUI.membersListCollapsed = true; ``` -------------------------------- ### Add Third-Party User Plugins Source: https://flameflag.github.io/nixcord Load custom Vencord/Equicord plugins from GitHub repositories or local paths. Ensure they are also enabled in `extraConfig.plugins`. ```nix { programs.nixcord = { # GitHub repo at a specific commit userPlugins = { someCoolPlugin = "github:someUser/someCoolPlugin/abc123def456..."; # Local path (requires --impure with flakes) myLocalPlugin = "/home/user/projects/myPlugin"; # Nix path literal anotherPlugin = ./plugins/anotherPlugin; }; extraConfig.plugins = { someCoolPlugin.enable = true; myLocalPlugin.enable = true; anotherPlugin.enable = true; }; }; } ``` -------------------------------- ### Configure BlurNSFW Blur All Channels Source: https://flameflag.github.io/nixcord Set to `true` to blur attachments in all channels, not just NSFW ones. ```nix programs.nixcord.config.plugins.BlurNSFW.blurAllChannels = true; ```