~/oleksandr-ponomarov

Portfolio · Notes · Dotfiles

Search everything

Search case studies, engineering notes, and Dotfiles documentation.

    A workstation I can rebuild.

    This repository rebuilds my workstation on Apple Silicon macOS and Ubuntu ARM64. Ansible, the automation engine, configures the system; chezmoi, the dotfile manager, puts the files in place.

    Targets
    macOS + Ubuntu (ARM64)
    Automation
    Ansible
    Dotfiles
    chezmoi

    What it builds

    The result is an opinionated terminal-first environment built around fish, tmux, Alacritty, Neovim, mise, Git tools, and a curated set of command-line utilities. On macOS, it also installs desktop applications and applies personal system defaults.

    How the pieces fit together

    1. 01
      Bootstrap

      The POSIX bootstrap/setup.sh validates the platform and starts a disposable, repository-locked Ansible controller.

    2. 02
      Establish workstation state

      Ansible installs Ubuntu prerequisites, creates the persistent repository checkout, and installs Homebrew on both supported targets.

    3. 03
      Configure the workstation

      Focused roles install packages and applications, apply dotfiles, and configure fish, mise, Neovim, Rancher Desktop, tmux, and system defaults.

    4. 04
      Hand off to reconciliation

      The final role prepares the persistent runtime used by mise run reconcile for future updates.

    Choose what you need

    Design principles

    Repeatable over clever
    Repeated runs should converge on the same state.
    Visible over magical
    Package lists, roles, and managed files stay in the repository.
    Portable where practical
    Shared behavior works on macOS and Ubuntu; platform-specific changes stay explicit.
    Personal by design
    This is a working environment, not a universal starter kit.