Alacritty is a fast, cross-platform, GPU-accelerated terminal emulator written in Rust. It uses OpenGL/GLES for rendering, providing low-latency text display with support for modern terminal features like true color, ligatures, hyperlinks, and a vi-like cursor mode. The architecture is split into multiple crates: `alacritty` (binary with event loop, window management, and rendering), `alacritty_terminal` (reusable library for terminal emulation including grid, cell model, PTY abstraction, and escape sequence parsing), `alacritty_config` (configuration loading and merging), and `alacritty_config_derive` (proc-macro for failure-resistant config deserialization). The terminal core is decoupled from the GUI, making it embeddable in other projects. Configuration is TOML-based with support for imports, live reload, and CLI overrides. The project includes an IPC mechanism for runtime window creation and config updates, and a comprehensive regression test suite using recorded terminal sessions and serialized grid snapshots.
This repository is a comprehensive, modular dotfiles collection for a bspwm-based desktop environment on Arch Linux. It provides 18 distinct visual themes ('rices') that consistently apply color schemes, wallpapers, and style options across a wide range of applications including terminals (Alacritty, Kitty, Ghostty, ST), status bars (Polybar, Eww), launcher (Rofi), notifications (Dunst), compositor (Picom), browser (Firefox), editor (Neovim), media player (MPV), and many others. The core architecture is a modular theme application system: a central script (`Theme.sh`) sources per-theme color variables and then runs individual module scripts (e.g., `05-alacritty.sh`) that generate or overwrite application configuration files. An installer (`RiceInstaller`) sets up the entire environment, and a GUI editor (`RiceEditor`) allows runtime customization. The repository also includes numerous utility scripts for hardware detection, wallpaper selection, weather display, network management, and media control, many of which demonstrate good engineering practices like caching, parallel processing, and atomic file updates. While tightly coupled to Arch Linux and X11, the modular theming pattern and several standalone scripts are reusable in other contexts.