Glossary¶
Definitions of common terms and tools used throughout this repository.
Concepts¶
Mise¶
Our tool version manager (formerly rtx). It replaces asdf, nvm, pyenv, and rustup. It manages: - Tools: CLI utilities like fzf, ripgrep, node. - Tasks: Scripts defined in mise.toml or mise-tasks/. - Env: Environment variables.
Chezmoi¶
Our dotfile manager. It manages configuration files (.zshrc, .gitconfig) across multiple machines using a single source of truth. It handles: - Templates: Generating files based on OS/hostname. - Secrets: Decrypting sensitive data at runtime.
Idempotency¶
The property that an operation can be applied multiple times without changing the result beyond the initial application. All scripts and tasks in this repo must be idempotent.
Drift¶
When the actual state of a system diverges from its desired configuration (the code). We use mise run doctor and CI checks to detect and prevent drift.
Profile¶
A named configuration set for deployment. - Default: Full workstation setup. - Server: Minimal setup for servers (no GUI). - Minimal: Dotfiles only.
Bootstrap¶
The initial setup process (scripts/bootstrap) that brings a fresh machine to a fully configured state.
Age¶
A modern, simple, and secure encryption tool used to encrypt secrets in this repository.
Chezmoi¶
A powerful dotfile manager written in Go. It manages your configuration files (.zshrc, .gitconfig) across multiple machines using a source-state approach. It handles templates, secrets (encryption), and differences between operating systems.
Mise¶
(Formerly rtx). A polyglot runtime manager and task runner. It replaces nvm (Node), pyenv (Python), rustup (Rust), and even brew (for some tools). It manages environment variables and provides a task runner (like make) defined in mise.toml.
Ansible¶
An open-source IT automation tool that handles configuration management, application deployment, and task automation. We use it to provision servers and configure system-level packages that are outside the scope of home directory dotfiles.
Neovim¶
A hyperextensible text editor based on Vim. It is designed for extensibility and usability, with a strong focus on plugin capability via Lua.
LazyVim¶
A Neovim configuration framework powered by lazy.nvim that makes it easy to customize and extend your editor configuration.
Zsh (Z Shell)¶
An extended Bourne shell with many improvements, including plugin support, themes, and better interactive use.
Powerlevel10k¶
A theme for Zsh that emphasizes speed, flexibility, and out-of-the-box experience.
Concepts¶
Dotfiles¶
Configuration files that typically start with a dot (.), e.g., .bashrc, .vimrc. They store user preferences for various applications.
Idempotency¶
A property of operations whereby they can be applied multiple times without changing the result beyond the initial application. Our bootstrap scripts are designed to be idempotent—you can run them every day without breaking your setup.
Declarative Configuration¶
A style of configuration where you define the desired state (e.g., "I want Node.js installed"), rather than the steps to achieve it.
Shim¶
A lightweight executable that intercepts a command and delegates it to the actual executable. mise differs from asdf by not using shims, instead modifying the PATH directly for better performance.