diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 8bb2486..2b48f99 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -94,7 +94,7 @@ dev.git.enable = true; # distractions distractions.discord.enable = true; - distractions.discord.equibop = true; + distractions.discord.vesktop = true; distractions.steam.enable = true; distractions.steam.useGamescope = true; # tools diff --git a/modules/desktop/fuzzel.nix b/modules/desktop/fuzzel.nix index b468d24..46e9613 100644 --- a/modules/desktop/fuzzel.nix +++ b/modules/desktop/fuzzel.nix @@ -15,7 +15,6 @@ in { config = mkIf cfg.enable { hm.programs.fuzzel = { enable = true; - package = cfg.package; settings = { main = { terminal = "wezterm start"; diff --git a/modules/software/distractions/discord.nix b/modules/software/distractions/discord.nix index 255e14b..9797b7f 100644 --- a/modules/software/distractions/discord.nix +++ b/modules/software/distractions/discord.nix @@ -3,31 +3,47 @@ with lib; let cfg = config.modules.software.distractions.discord; + flags = [ + "--flag-switches-begin" + "--disable-gpu-memory-buffer-video-frames" + "--enable-accelerated-mjpeg-decode" + "--enable-accelerated-video" + "--enable-gpu-rasterization" + "--enable-native-gpu-memory-buffers" + "--enable-zero-copy" + "--ignore-gpu-blocklist" + "--enable-features=UseOzonePlatform" + "--enable-features=VaapiVideoDecoder" + "--enable-features=VaapiVideoEncoder" + "--enable-features=WebRTCPipeWireCapturer" + "--flag-switches-end" + ]; vanillaDiscordPackage = pkgs.discord-canary.override { withOpenASAR = true; withVencord = true; }; - finalPackage = - if cfg.equibop then pkgs.equibop else - if cfg.vesktop then pkgs.vesktop else - vanillaDiscordPackage; + package = if cfg.armcord then pkgs.armcord else (if cfg.vesktop then pkgs.vesktop else vanillaDiscordPackage); in { options.modules.software.distractions.discord = { - enable = mkEnableOption "Enable Discord, a social messaging app"; - vesktop = mkEnableOption "Use Vesktop, an alternative Electron client with Vencord preinstalled"; - equibop = mkEnableOption "Use Equibop, a fork of Vesktop with Equicord preinstalled"; + enable = mkEnableOption "Enable discord, a social messaging app"; + armcord = mkEnableOption "Use Armcord, an alternative Electron client"; + vesktop = mkEnableOption "Use Vesktop, an alternative Electron client with vencord preinstalled"; }; config = mkIf cfg.enable { assertions = [ { - assertion = !(cfg.vesktop && cfg.equibop); - message = "You must either enable Vesktop or Equibop, not both"; + assertion = !(cfg.armcord && cfg.vesktop); + message = "You must either enable Armcord or Vesktop, not both"; } ]; user.packages = [ - finalPackage + (package.overrideAttrs (old: { + preInstall = '' + gappsWrapperArgs+=("--add-flags" "${concatStringsSep " " flags}") + ''; + })) ]; }; }