slack-term.nix (1154B)
1 { config, lib, pkgs, ... }: 2 3 with lib; 4 let 5 cfg = config.programs.slack-term; 6 in 7 { 8 meta.maintainers = [ maintainers.sikmir ]; 9 10 options.programs.slack-term = { 11 enable = mkEnableOption "Slack client for your terminal"; 12 13 package = mkOption { 14 default = pkgs.slack-term; 15 defaultText = literalExpression "pkgs.slack-term"; 16 description = "slack-term package to install."; 17 type = types.package; 18 }; 19 20 token = mkOption { 21 description = "Slack token."; 22 type = types.str; 23 }; 24 }; 25 26 config = mkIf cfg.enable { 27 home.packages = [ cfg.package ]; 28 29 home.file.".slack-term".text = '' 30 { 31 "slack_token": "${cfg.token}", 32 "sidebar_width": 2, 33 "notify": "mention", 34 "emoji": true, 35 "theme": { 36 "message": { 37 "time_format": "02/01 15:04", 38 "time": "fg-green,fg-bold", 39 "name": "colorize,fg-bold", 40 "text": "fg-white" 41 }, 42 "channel": { 43 "prefix": "fg-red,fg-bold", 44 "icon": "fg-green,fg-bold", 45 "text": "fg-blue,fg-bold" 46 } 47 } 48 } 49 ''; 50 }; 51 }