39 lines
906 B
Nix
39 lines
906 B
Nix
|
{ lib, pkgs, config, ... }:
|
||
|
with lib;
|
||
|
{
|
||
|
options = {
|
||
|
communication.discord.enable = mkOption {
|
||
|
type = types.bool;
|
||
|
default = !config.isProfessional;
|
||
|
example = true;
|
||
|
};
|
||
|
|
||
|
communication.slack.enable = mkOption {
|
||
|
type = types.bool;
|
||
|
default = config.isProfessional;
|
||
|
example = true;
|
||
|
};
|
||
|
|
||
|
communication.weechat.enable = mkOption {
|
||
|
type = types.bool;
|
||
|
default = true;
|
||
|
example = false;
|
||
|
};
|
||
|
|
||
|
communication.matrix.enable = mkOption {
|
||
|
type = types.bool;
|
||
|
default = !config.isProfessional;
|
||
|
example = false;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
config.home.packages = with pkgs; [
|
||
|
(mkIf config.communication.discord.enable (discord.override {
|
||
|
nss = nss_latest;
|
||
|
}))
|
||
|
(mkIf config.communication.slack.enable slack)
|
||
|
(mkIf config.communication.weechat.enable weechat)
|
||
|
(mkIf config.communication.matrix.enable element)
|
||
|
];
|
||
|
}
|