A collection of .*rc files and sometimes something more, shared by several Linux hosts and a macOS work laptop. ai-agents/tools/manifest.txt declares the agent configuration each host deploys; ai-agents/tools/README.md explains it. MacBook setup: read macos/README.md first.
Authored by LLM.
- Before you edit on a host, run
git pull. The globalpull.rebase = truerebases local commits ontoorigin. - Commit small changes and push at the end of the session, so hosts don't drift apart.
- Where practical, keep host-specific settings out of shared files: use manifest
@host/@!hostselectors,ai-agents/hosts/<host>/, orincludeIfin.gitconfig. When a shared change breaks another host, say so in the commit message and fix it on that host. - After each pull, run
ai-agents/tools/apply.sh, thenai-agents/tools/apply.sh --verify.
Authored by LLM.
-
Install git, zsh, neovim, tmux, ripgrep, fd, and a C compiler.
-
Clone the repository:
git clone git@github.com:msf/configs.git ~/configs. Use the HTTPS URL if the host has no SSH key yet. -
Run
~/configs/macos/link-dotfiles.sh(--dry-runpreviews it). Despite its path, it works on Linux too. It links zsh, git, tmux, nvim, kitty, ghostty, and the commonbin/scripts, creates~/.ssh/configwith the shared include, and moves displaced files to<path>.bak.<timestamp>. Run it only on a fresh home: on hosts where~/binis a symlink into this repository, it renames repository files. -
Make zsh the login shell:
chsh -s "$(command -v zsh)". -
Deploy the agent configuration:
~/configs/ai-agents/tools/apply.sh. -
On a Linux desktop with sway, link its configuration:
ln -s ~/configs/sway ~/.config/sway for d in i3status-rust mako kanshi fuzzel swaylock xdg-desktop-portal; do ln -s ~/configs/sway/$d ~/.config/$d; done
- Start
nvimonce. It clones lazy.nvim and installs the plugins. - Run
:Lazy restoreto pin the plugins tolazy-lock.json. - Install the LSP servers through Mason:
:MasonInstall gopls golangci-lint-langserver rust-analyzer.golangci-lint-langserveralso needsgolangci-lintonPATH.
Treesitter compiles its parsers with the C compiler (:TSUpdate), and Telescope uses ripgrep and fd.