Files
chiasson-nix/modules/wisdom/apps/discord.nix
T
2026-05-08 19:12:16 -03:00

50 lines
1.7 KiB
Nix

{ inputs, ... }: {
flake.homeManagerModules.wisdomAppsDiscord =
{ config, lib, pkgs, ... }:
let
root = config.chiasson.home;
cfg = config.chiasson.home.apps.discord;
# nixcord still pulls `discord` on some paths; that package is not built for aarch64-linux.
nixcordSupported = lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.discord;
in
{
imports = [ inputs.nixcord.homeModules.default ];
options.chiasson.home.apps.discord.enable = lib.mkEnableOption ''
Vesktop (nixcord). Needs nixpkgs `discord` breaks on e.g. aarch64-linux.
'';
config = lib.mkIf root.enable (lib.mkMerge [
{
assertions = lib.mkIf cfg.enable [
{
assertion = nixcordSupported;
message = "chiasson.home.apps.discord uses nixcord, which currently requires nixpkgs `discord` (not available on ${pkgs.stdenv.hostPlatform.system}). Disable `chiasson.home.apps.discord` on this host.";
}
];
}
(lib.mkIf (cfg.enable && nixcordSupported) {
programs.nixcord = {
enable = true;
vesktop.enable = true;
dorion.enable = false;
config = {
useQuickCss = true;
transparent = true;
enabledThemes = lib.optionals (
lib.attrByPath [ "programs" "dank-material-shell" "enable" ] false config
) [ "dank-discord.css" ];
plugins = {
showHiddenChannels = {
enable = true;
showMode = 0;
};
platformIndicators.enable = true;
};
};
};
})
]);
};
}