Personal workstation bootstrap and the top-level orchestrator for my development environment.
This repository owns operating-system packages, shell startup, terminal and desktop configuration, language version managers, and coordination of two independent workbench repositories:
nvim-workbench— Neovim configuration and personal plugin development;agent-workbench— Codex and OpenCode instructions, skills, commands, plugins, and config-review workflows.
Both workbench repositories follow their upstream main branch. They own
their own installation, dependency updates, and canonical checks.
Warning
This is a personal, opinionated setup. The bootstrap assumes my project
layout under ~/Projects/IlyasYOY, manages shell startup files, clones
personal repositories, and contains macOS- and Raspberry Pi-specific setup.
- macOS packages come from
Brewfile.macandBrewfile.mac.cask; desktop configuration includes WezTerm, Hammerspoon, and Amethyst. - Raspberry Pi OS and compatible Debian systems use the smaller
Brewfile.raspberry-piplus apt-based bootstrap.
sh/setup— install, update, platform bootstrap, and workbench orchestration.sh/helpers.sh,sh/exports.sh,sh/aliases.sh— interactive shell setup.config/wezterm,config/hammerspoon,config/gnupg,config/.tmux.conf,config/.amethyst.yml,config/.vimrc— workstation configuration.Brewfile.*— platform package manifests.bin— small personal executable utilities.tests— orchestration contract tests.
Neovim and agent-tooling sources intentionally do not live here.
mkdir -pv ~/Projects/IlyasYOY
cd ~/Projects/IlyasYOY
git clone git@github.com:IlyasYOY/dotfiles.git dotfiles
cd dotfiles
make installmake install:
- creates the personal and work project directories;
- installs platform packages;
- links terminal, desktop, Git, GnuPG, and shell configuration;
- configures SDKMAN, GVM, fnm, tmux TPM, and password-store;
- clones other personal tools used by the workstation;
- clones and calls
make installin both workbench repositories.
The workbench installation can be run independently:
make install-workbenchesDefault checkout locations are:
~/Projects/IlyasYOY/nvim-workbench~/Projects/IlyasYOY/agent-workbench
Override them with ILYASYOY_NVIM_WORKBENCH_DIR and
ILYASYOY_AGENT_WORKBENCH_DIR.
nvim-workbench installs ~/.config/nvim. The former
~/.config/nvim-minimal setup is no longer managed.
agent-workbench installs managed Codex/OpenCode instructions and extensions,
but does not edit ~/.codex/config.toml or
~/.config/opencode/opencode.json. Run its repository-local $setup-codex or
$setup-opencode skill to review and reconcile those files.
make updateThe main update refreshes operating-system packages, tracked personal repositories, workbenches, tmux plugins, and Go tools. Each workbench follows its configured upstream branch and then updates the dependencies it owns.
To update only the workbenches:
make update-workbenchesThird-party Codex skills remain pinned to exact commits inside
agent-workbench; its update flow shows a diff and requires confirmation
before changing an accepted pin.
make check
make check-lua
make check-shell
make check-pythonmake check is the same first-pass check used by CI. It validates the
remaining Lua and shell configuration plus the workbench orchestration
contract. Run make check inside each workbench for its own static and runtime
checks.
- Project roots default to
~/Projects/IlyasYOY,~/Projects/Work, and~/Projects/kb-store. GIT_PARALLEL_JOBScontrols parallel checkout updates.- T-Invest MCP is built from
~/Projects/IlyasYOY/t-invest-mcp; token values remain environment variables and are never stored here. - Singularity uses its official remote MCP configuration from
agent-workbench. - The shell alias
nvimconfigopens the configuration installed bynvim-workbench.