From adb257b0891fcdd964e02aacea1694764db233c4 Mon Sep 17 00:00:00 2001 From: jacekpoz Date: Wed, 13 Sep 2023 16:53:37 +0200 Subject: [PATCH] feat: switch from webcord to armcord --- modules/gui/armcord.nix | 268 ++++++++++++++++++++++++++++++++ modules/gui/webcord/armcord.nix | 75 +++++++++ modules/gui/webcord/config.json | 82 ++++++++++ 3 files changed, 425 insertions(+) create mode 100644 modules/gui/armcord.nix create mode 100644 modules/gui/webcord/armcord.nix create mode 100644 modules/gui/webcord/config.json diff --git a/modules/gui/armcord.nix b/modules/gui/armcord.nix new file mode 100644 index 0000000..ad3e838 --- /dev/null +++ b/modules/gui/armcord.nix @@ -0,0 +1,268 @@ +{ + config, + lib, + pkgs, + ... +}: let + storage = "ArmCord/storage"; +in { + home.packages = with pkgs; [ + (armcord.overrideAttrs { + version = "3.2.3"; + src = pkgs.fetchurl { + url = "https://github.com/ArmCord/ArmCord/releases/download/v3.2.3/ArmCord_3.2.3_amd64.deb"; + sha256 = "0pdsqvdvr0ylc8pjc4d1krxngcwl99jz74m04804bihpwzsyzibp"; + }; + }) + ]; + + #xdg.configFile = { + # "${storage}/settings.json".text = builtins.toJSON { + # windowStyle = "native"; + # channel = "stable"; + # armcordCSP = true; + # minimizeToTray = false; + # mobileMode = false; + # automaticPatches = false; + # performanceMode = "performance"; + # useLegacyCapturer = false; + # alternativePaste = false; + # dynamicIcon = false; + # spellcheck = false; + # disableAutogain = false; + # startMinimized = false; + # trayIcon = "default"; + # mods = "vencord"; + # inviteWebsocket = true; + # tray = false; + # skipSplash = true; + # doneSetup = true; + # }; + + # "${storage}/lang.json".text = builtins.toJSON { + # lang = "en-GB"; + # }; + + # # this file doesn't actually do anything - you have to import it manually because of armcord's limitations + # "${storage}/vencord.json".text = builtins.toJSON { + # settings = { + # notifyAboutUpdates = true; + # autoUpdate = false; + # autoUpdateNotification = true; + # useQuickCss = true; + # themeLinks = []; + # enabledThemes = []; + # enableReactDevtools = false; + # frameless = false; + # transparent = false; + # winCtrlQ = false; + # macosTranslucency = false; + # disableMinSize = false; + # winNativeTitleBar = false; + # plugins = { + # BadgeAPI.enabled = true; + # CommandsAPI.enabled = true; + # ContextMenuAPI.enabled = true; + # MemberListDecoratorsAPI.enabled = false; + # MessageAccessoriesAPI.enabled = false; + # MessageDecorationsAPI.enabled = false; + # MessageEventsAPI.enabled = true; + # MessagePopoverAPI.enabled = false; + # NoticesAPI.enabled = true; + # ServerListAPI.enabled = false; + # SettingsStoreAPI.enabled = false; + # NoTrack.enabled = true; + # Settings = { + # enabled = true; + # settingsLocation = "aboveActivity"; + # }; + # AlwaysAnimate.enabled = false; + # AlwaysTrust.enabled = false; + # AnonymiseFileNames.enabled = false; + # "WebRichPresence (arRPC)".enabled = false; + # BANger.enabled = false; + # BetterFolders = { + # enabled = true; + # sidebar = true; + # closeAllHomeButton = false; + # closeAllFolders = false; + # forceOpen = false; + # sidebarAnim = true; + # }; + # BetterGifAltText.enabled = false; + # BetterNotesBox.enabled = false; + # BetterRoleDot.enabled = false; + # BetterUploadButton.enabled = false; + # BiggerStreamPreview.enabled = false; + # BlurNSFW = { + # enabled = true; + # blurAmount = 10; + # }; + # CallTimer.enabled = false; + # ClearURLs.enabled = false; + # ColorSighted.enabled = false; + # ConsoleShortcuts.enabled = false; + # CrashHandler.enabled = true; + # CustomRPC.enabled = false; + # DisableDMCallIdle.enabled = false; + # EmoteCloner.enabled = false; + # Experiments.enabled = false; + # F8Break.enabled = false; + # FakeNitro = { + # enabled = true; + # enableEmojiBypass = true; + # enableStickerBypass = true; + # enableStreamQualityBypass = true; + # transformStickers = true; + # transformEmojis = true; + # transformCompoundSentence = false; + # emojiSize = 48; + # }; + # FakeProfileThemes.enabled = false; + # FavoriteEmojiFirst.enabled = false; + # FixInbox.enabled = false; + # ForceOwnerCrown.enabled = false; + # FriendInvites.enabled = false; + # GameActivityToggle.enabled = false; + # GifPaste.enabled = false; + # HideAttachments.enabled = false; + # iLoveSpam.enabled = false; + # IgnoreActivities.enabled = false; + # ImageZoom.enabled = false; + # InvisibleChat.enabled = false; + # KeepCurrentChannel.enabled = false; + # LastFMRichPresence.enabled = false; + # LoadingQuotes.enabled = false; + # MemberCount.enabled = true; + # MessageClickActions.enabled = false; + # MessageLinkEmbeds.enabled = false; + # MessageLogger = { + # enabled = true; + # deleteStyle = "text"; + # ignoreBots = false; + # ignoreSelf = false; + # ignoreUsers = ""; + # ignoreChannels = ""; + # ignoreGuilds = ""; + # }; + # MessageTags.enabled = false; + # MoreCommands.enabled = false; + # MoreKaomoji.enabled = false; + # MoreUserTags.enabled = false; + # Moyai.enabled = false; + # MuteNewGuild.enabled = false; + # MutualGroupDMs.enabled = false; + # NoBlockedMessages = { + # enabled = true; + # ignoreBlockedMessages = false; + # }; + # NoDevtoolsWarning.enabled = false; + # NoF1.enabled = false; + # NoPendingCount.enabled = false; + # NoProfileThemes.enabled = true; + # NoReplyMention = { + # enabled = true; + # userList = ""; + # shouldPingListed = true; + # }; + # NoScreensharePreview.enabled = false; + # NoUnblockToJump.enabled = false; + # NSFWGateBypass.enabled = false; + # oneko.enabled = false; + # OpenInApp.enabled = false; + # "Party mode 🎉".enabled = false; + # PermissionsViewer.enabled = false; + # petpet.enabled = false; + # PinDMs.enabled = false; + # PlainFolderIcon.enabled = false; + # PlatformIndicators.enabled = false; + # PronounDB.enabled = false; + # QuickMention.enabled = false; + # QuickReply.enabled = false; + # ReactErrorDecoder.enabled = false; + # ReadAllNotificationsButton.enabled = false; + # RelationshipNotifier.enabled = false; + # RevealAllSpoilers.enabled = false; + # ReverseImageSearch.enabled = false; + # ReviewDB.enabled = false; + # RoleColorEverywhere.enabled = false; + # SearchReply.enabled = false; + # SendTimestamps.enabled = false; + # ServerListIndicators.enabled = false; + # ShikiCodeblocks.enabled = false; + # ShowAllMessageButtons.enabled = false; + # ShowConnections.enabled = false; + # ShowHiddenChannels = { + # enabled = true; + # showMode = 0; + # hideUnreads = true; + # }; + # ShowMeYourName.enabled = false; + # SilentMessageToggle.enabled = false; + # SilentTyping = { + # enabled = true; + # showIcon = false; + # isEnabled = true; + # }; + # SortFriendRequests.enabled = false; + # SpotifyControls.enabled = false; + # SpotifyCrack.enabled = false; + # SpotifyShareCommands.enabled = false; + # StartupTimings.enabled = false; + # SupportHelper.enabled = true; + # TextReplace.enabled = false; + # TimeBarAllActivities.enabled = false; + # Translate.enabled = false; + # TypingIndicator = { + # enabled = true; + # includeMutedChannels = false; + # }; + # TypingTweaks = { + # enabled = true; + # alternativeFormatting = true; + # showRoleColors = true; + # showAvatars = true; + # }; + # Unindent.enabled = false; + # UnsuppressEmbeds.enabled = false; + # UrbanDictionary.enabled = false; + # UserVoiceShow.enabled = false; + # USRBG.enabled = false; + # UwUifier.enabled = false; + # ValidUser.enabled = false; + # VoiceChatDoubleClick.enabled = false; + # VcNarrator.enabled = false; + # VencordToolbox.enabled = false; + # ViewIcons.enabled = false; + # ViewRaw.enabled = false; + # WebContextMenus.enabled = false; + # GreetStickerPicker.enabled = false; + # WhoReacted.enabled = false; + # Wikisearch.enabled = false; + # FavoriteGifSearch.enabled = false; + # NormalizeMessageLinks.enabled = false; + # PreviewMessage.enabled = false; + # "AI Noise Suppression" = { + # enabled = true; + # isEnabled = true; + # }; + # SecretRingToneEnabler.enabled = false; + # VoiceMessages.enabled = false; + # }; + # notifications = { + # timeout = 5000; + # position = "bottom-right"; + # useNative = "not-focused"; + # logLimit = 50; + # }; + # cloud = { + # authenticated = false; + # url = "https://api.vencord.dev/"; + # settingsSync = false; + # settingsSyncVersion = 1694474144460; + # }; + # }; + # quickCss = ""; + # }; + #}; +} diff --git a/modules/gui/webcord/armcord.nix b/modules/gui/webcord/armcord.nix new file mode 100644 index 0000000..5359926 --- /dev/null +++ b/modules/gui/webcord/armcord.nix @@ -0,0 +1,75 @@ +{ + config, + lib, + pkgs, + ... +}: { + home.packages = with pkgs; [ + webcord-vencord + ]; + + #xdg.configFile."WebCord/Themes/catppuccin-mocha.theme.css".source = builtins.fetchurl { + # url = "https://catppuccin.github.io/discord/dist/catppuccin-mocha.theme.css"; + # sha256 = "065ln4b8rgbdqnfkafqpg9pw5fnabk1nkx7hly88m4g6f6bkznkq"; + #}; + + #xdg.configFile."WebCord/config.json".text = builtins.toJSON { + # settings = { + # general = { + # menuBar.hide = true; + # tray.disable = true; + # taskbar.flash = false; + # window = { + # hideOnClose = false; + # transparent = false; + # }; + # }; + # privacy = { + # blockApi = { + # science = true; + # typingIndicator = true; + # fingerprinting = true; + # }; + # permissions = { + # audio = true; + # fullscreen = true; + # notifications = true; + # display-capture = true; + # video = false; + # background-sync = false; + # }; + # }; + # advanced = { + # csp.enabled = true; + # cspThirdParty = { + # spotify = false; + # gif = true; + # hcaptcha = true; + # youtube = true; + # twitter = false; + # twitch = false; + # streamable = false; + # vimeo = false; + # soundcloud = false; + # paypal = false; + # audius = false; + # algolia = false; + # reddit = false; + # googleStorageApi = false; + # }; + # currentInstance.radio = 0; + # devel.enabled = false; + # redirection.warn = true; + # optimize.gpu = true; + # webApi.webGl = true; + # unix.autoscroll = false; + # }; + # }; + # update.notification = { + # version = ""; + # till = ""; + # }; + # screenShareStore.audio = false; + #}; + #xdg.configFile."WebCord/config.json".source = config.lib.file.mkOutOfStoreSymlink "./config.json"; +} diff --git a/modules/gui/webcord/config.json b/modules/gui/webcord/config.json new file mode 100644 index 0000000..92674c4 --- /dev/null +++ b/modules/gui/webcord/config.json @@ -0,0 +1,82 @@ +{ + "settings": { + "general": { + "menuBar": { + "hide": true + }, + "tray": { + "disable": true + }, + "taskbar": { + "flash": true + }, + "window": { + "transparent": false, + "hideOnClose": false + } + }, + "privacy": { + "blockApi": { + "science": true, + "typingIndicator": true, + "fingerprinting": true + }, + "permissions": { + "video": null, + "audio": false, + "fullscreen": true, + "notifications": null, + "display-capture": true, + "background-sync": false + } + }, + "advanced": { + "csp": { + "enabled": true + }, + "cspThirdParty": { + "spotify": true, + "gif": true, + "hcaptcha": true, + "youtube": true, + "twitter": true, + "twitch": true, + "streamable": true, + "vimeo": true, + "soundcloud": true, + "paypal": true, + "audius": true, + "algolia": true, + "reddit": true, + "googleStorageApi": true + }, + "currentInstance": { + "radio": 0 + }, + "devel": { + "enabled": false + }, + "redirection": { + "warn": true + }, + "optimize": { + "gpu": true + }, + "webApi": { + "webGl": true + }, + "unix": { + "autoscroll": false + } + } + }, + "update": { + "notification": { + "version": "", + "till": "" + } + }, + "screenShareStore": { + "audio": false + } +}