forked from fabian/nix
		
	
		
			
				
	
	
		
			114 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  pkgs,
 | 
						|
  lib,
 | 
						|
  config,
 | 
						|
  ...
 | 
						|
}:
 | 
						|
with lib; let
 | 
						|
  cfg = config.local.programs.halloy;
 | 
						|
in {
 | 
						|
  options.local.programs.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 = [
 | 
						|
            "##chat"
 | 
						|
            "##politics"
 | 
						|
            "##rust"
 | 
						|
            "#datahoarder"
 | 
						|
            "#git"
 | 
						|
            "#indieweb"
 | 
						|
            "#indieweb-dev"
 | 
						|
            "#linux"
 | 
						|
            "#lobsters"
 | 
						|
            "#nixos"
 | 
						|
            "#OSRS"
 | 
						|
            "#soju"
 | 
						|
          ];
 | 
						|
        };
 | 
						|
      };
 | 
						|
      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";
 | 
						|
          };
 | 
						|
        };
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |