nix/home/modules/halloy.nix

118 lines
2.9 KiB
Nix

{
pkgs,
lib,
config,
...
}:
with lib; let
cfg = config.local.apps.halloy;
in {
options.local.apps.halloy = {
enable = mkEnableOption "halloy irc client";
};
config = mkIf cfg.enable {
programs.halloy = {
enable = true;
settings = {
theme = "macawCustom";
font.size = 16;
preview.enabled = false;
sidebar = {
buffer_action = "replace-pane";
focused_buffer_action = "close-pane";
};
buffer = {
channel.topic = {
enabled = true;
};
chathistory.infinite_scroll = true;
server_messages = {
join.exclude = ["*"];
quit.exclude = ["*"];
};
};
servers.liberachat = {
nickname = "posixlycorrect";
nick_password_command = "pass show liberachat_irc";
username = "fabiansoju/irc.libera.chat";
password_command = "pass show soju";
server = "soju.posixlycorrect.com";
port = 6697;
chathistory = true;
channels = [
"#lobsters"
"#nixos"
"#linux"
"##rust"
"#git"
"#c"
"##programming"
"#hardware"
"##chat"
"#OSRS"
"##math"
"##physics"
"#haskell"
"#soju"
"#datahoarder"
"#startrek"
];
};
};
themes = {
macawCustom = {
general = {
background = "#333333";
border = "#505050";
horizontal_rule = "#333333";
unread_indicator = "#2884FC";
};
text = {
primary = "#DFDFDF";
secondary = "#C2C2C2";
tertiary = "#8839EF";
success = "#959595";
error = "#959595";
};
buffer = {
action = "#959595";
background = "#1E1E1E";
background_text_input = "#2E2E2E";
background_title_bar = "#2E2E2E";
border = "#1A1A1A";
border_selected = "#1A1A1A";
code = "#7287FD";
highlight = "#454645";
nickname = "#00C8FF";
selection = "#777777";
timestamp = "#959595";
topic = "#DFDFDF";
url = "#2884FC";
buffer.server_messages = {
default = "#959595";
};
};
buttons.primary = {
background = "#00000000";
background_hover = "#484848";
background_selected = "#4A4A4A";
background_selected_hover = "#666666";
};
buttons.secondary = {
background = "#3B3B3B";
background_hover = "#484848";
background_selected = "#646464";
background_selected_hover = "#666666";
};
};
};
};
};
}