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";
 | |
|           };
 | |
|         };
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| }
 |