50 lines
1.7 KiB
Nix
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;
|
|
};
|
|
};
|
|
};
|
|
})
|
|
]);
|
|
};
|
|
}
|