dotfiles

My PC Dotfiles & Website

modules/apps/discord.nix (3017B)


 1## Discord Configuration ##
 2{inputs, ...}: {
 3  flake.modules.homeManager.discord = {
 4    config,
 5    osConfig ? {},
 6    ...
 7  }: let
 8    isGnome = osConfig.services.desktopManager.gnome.enable or false;
 9    isWM = (osConfig.programs.hyprland.enable or false) || (osConfig.programs.niri.enable or false);
10  in {
11    imports = [inputs.nixcord.homeModules.nixcord];
12    home.persist.directories = [".config/discord"];
13    programs.nixcord = {
14      enable = true;
15      discord = {
16        enable = true;
17        vencord.enable = true;
18      };
19
20      # Theming
21      quickCss =
22        if isGnome
23        then ''@import url("https://raw.githubusercontent.com/ricewind012/discord-gnome-theme/master/gnome.theme.css");''
24        else if isWM
25        then ''@import url("https://catppuccin.github.io/discord/dist/catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}.theme.css");''
26        else "";
27
28      config = {
29        useQuickCss = true;
30        frameless = false;
31        transparent = false;
32
33        # Vencord Plugins
34        plugins = {
35          betterFolders = {
36            enable = true;
37            showFolderIcon = 2;
38            closeAllHomeButton = true;
39          };
40          betterGifAltText.enable = true;
41          betterGifPicker.enable = true;
42          betterRoleContext.enable = true;
43          betterSessions.enable = true;
44          betterSettings.enable = true;
45          biggerStreamPreview.enable = true;
46          blurNsfw.enable = true;
47          copyEmojiMarkdown.enable = true;
48          copyFileContents.enable = true;
49          copyUserUrls.enable = true;
50          crashHandler.enable = true;
51          decor.enable = true;
52          expressionCloner.enable = true;
53          favoriteEmojiFirst.enable = true;
54          fakeNitro.enable = true;
55          fixImagesQuality.enable = true;
56          fixSpotifyEmbeds.enable = true;
57          fullSearchContext.enable = true;
58          imageZoom.enable = true;
59          memberCount.enable = true;
60          mentionAvatars.enable = true;
61          messageClickActions.enable = true;
62          messageLinkEmbeds.enable = true;
63          pinDms.enable = true;
64          platformIndicators.enable = true;
65          previewMessage.enable = true;
66          quickMention.enable = true;
67          readAllNotificationsButton.enable = true;
68          relationshipNotifier.enable = true;
69          replyTimestamp.enable = true;
70          serverInfo.enable = true;
71          serverListIndicators.enable = true;
72          showHiddenChannels.enable = true;
73          showHiddenThings.enable = true;
74          showMeYourName.enable = true;
75          showTimeoutDuration.enable = true;
76          typingTweaks.enable = true;
77          validUser.enable = true;
78          voiceChatDoubleClick.enable = true;
79          voiceDownload.enable = true;
80          voiceMessages.enable = true;
81          volumeBooster.enable = true;
82          webKeybinds.enable = true;
83          webScreenShareFixes.enable = true;
84        };
85      };
86    };
87  };
88}