nix-conf/pkgs/overlays/vesktop.nix
2026-01-10 12:46:40 +08:00

42 lines
1.2 KiB
Nix
Executable file

final: prev:
let
discordIcon = prev.lib.readFile ../../pkgs/assets/discord.svg;
discordSplash = prev.lib.readFile ../../pkgs/assets/peepoLeave.gif.base64;
hideChannels = prev.pkgs.fetchurl {
url = "https://raw.githubusercontent.com/Farcrada/DiscordPlugins/cf906b358eddfe75edba215e33020c234be514b7/Hide-Channels/HideChannels.plugin.js";
hash = "sha256-JdwKnGHMtJU1hKRlx1TXSHWUA2hT5D6vw1Ez46Hhe5c=";
};
in
{
vesktop = prev.vesktop.overrideAttrs (oldAttrs: {
desktopItems = prev.lib.optional prev.stdenv.hostPlatform.isLinux (
(prev.lib.head oldAttrs.desktopItems).override {
name = "discord";
desktopName = "Discord";
}
);
postPatch = ''
# Add plugins
mkdir -p src/userplugins
cp ${hideChannels} src/userplugins/hideChannels.js
'';
patches = oldAttrs.patches ++ [
../../pkgs/patches/splash.patch
];
# Change Splash
preConfigure = ''
echo "${discordSplash}" | base64 -d > static/peepo.gif
'';
# Change Icon
postInstall = ''
rm -rf $out/share/icons/hicolor/*
mkdir -p $out/share/icons/hicolor/scalable/apps
echo '${discordIcon}' > $out/share/icons/hicolor/scalable/apps/vesktop.svg
'';
});
}