Skip to content

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.