# carl

> A command-line calendar tool with colors, iCal support, and customizable themes that mimics traditional cal implementations

Stars: 124 · Categories: Productivity

- Repository: https://github.com/b1rger/carl
- Website: https://codeberg.org/birger/carl
- Page: https://www.trmn.sh/tools/carl

## Install

- Cargo: `cargo install carl`

## Overview

Carl is a command-line calendar application that extends traditional cal(1) functionality with color support, iCal integration, and extensive customization options. The tool displays monthly, yearly, or multi-month calendar views with configurable week start days, Julian dates, and various layout options including single month (-1), three-month (-3), or custom month ranges.

The application supports iCal file integration to highlight events directly in calendar views, with an optional agenda mode (-a) that displays event summaries below the calendar. Carl uses a comprehensive theming system based on TOML configuration files, allowing users to define custom styles for different date properties (weekdays, current date, events, etc.) with full RGB color support, text formatting, and separate dark/light theme variants.

Configuration is managed through XDG-compliant config files that define theme names, iCal file paths, and custom Jinja2 templates for calendar layout. The tool targets users who need calendar functionality in terminal environments, particularly those who want to integrate calendar events from external sources or customize the visual appearance beyond basic terminal colors. Carl accepts standard date arguments (YYYY, MM YYYY, DD MM YYYY) and provides Julian date display for specialized use cases.

### Installation

```bash
# via Cargo
cargo install carl
```

![Default carl calendar output](https://media.trmn.sh/cached/4e506010d285d53ac07dafa92a9575269d217aada85c8a2d0ce722743494f959.png)

![Carl with custom colors](https://media.trmn.sh/cached/e89c79b451c1c5c40ac8e58b5bf9d76ed65bc6223305bdc59e46d4b01acce130.png)

![Carl with iCal events highlighted](https://media.trmn.sh/cached/556e76e8045091841357fdd232336e64cddf981bdec76d696f87247dc4037d8f.png)

![Carl with agenda display](https://media.trmn.sh/cached/4eefbc0f06a277a9444e3c257d1367dfce0805f8912521fb0ce3035b19ef5cd3.png)

## Alternatives

- [bbcli](https://www.trmn.sh/tools/bbcli.md): Terminal-based BBC News reader with vim-like navigation, feed selection, and multiple image protocol support (142 stars)
- [outside](https://www.trmn.sh/tools/outside.md): Terminal weather client with multiple output formats including TUI, JSON, and Waybar integration (Rust, 103 stars)
- [tempy](https://www.trmn.sh/tools/tempy.md): Terminal weather report tool displaying current and near-future conditions without requiring API keys (Python, 194 stars)
- [bmm](https://www.trmn.sh/tools/bmm.md): Command-line bookmark manager with local storage, search capabilities, and both CLI and TUI interfaces (239 stars)
- [omm](https://www.trmn.sh/tools/omm.md): Keyboard-driven task manager for the command line with priority reordering and context management (Go, 334 stars)

---

Canonical: https://www.trmn.sh/tools/carl
