{ config, lib, pkgs, ... }: with lib; let cfg = config.myOptions.programs.armcord; username = config.myOptions.other.system.username; storage = "ArmCord/storage"; in { options.myOptions.programs.armcord = { enable = mkEnableOption "enable armcord"; }; config = mkIf cfg.enable { home-manager.users.${username} = { home.packages = with pkgs; [ (armcord.overrideAttrs (old: { postFixup = '' wrapProgram $out/bin/armcord \ --add-flags "--enable-features=UseOzonePlatform --ozone-platform=wayland" ''; })) ]; #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 = ""; # }; #}; }; }; }