This repository manages a full developer environment across Windows and Linux.
| Role | Description | Source |
|---|---|---|
| packages | Common system utilities (jq, ripgrep, btop, etc.) | scripts/ansible/playbook.yml |
| podman | Rootless container engine (built from source) | scripts/ansible/roles/podman/tasks/main.yml |
| neovim | Modern editor built from source with C# support | scripts/ansible/roles/neovim/tasks/main.yml |
| gh | GitHub CLI (built from source) | scripts/ansible/roles/gh/tasks/main.yml |
| uv | Astral's fast Python package manager | scripts/ansible/roles/uv/tasks/main.yml |
| cargo | Rust toolchain & tools (e.g. tree-sitter) | scripts/ansible/roles/cargo/tasks/main.yml |
| zsh | Shell configuration with Oh-My-Zsh | scripts/ansible/roles/zsh/tasks/main.yml |
| tmux | Terminal multiplexer with custom config | scripts/ansible/roles/tmux/tasks/main.yml |
| oh-my-posh | Cross-shell prompt theme engine | scripts/ansible/roles/oh-my-posh/tasks/main.yml |
| fzf | Command-line fuzzy finder | scripts/ansible/roles/fzf/tasks/main.yml |
- Neovim: C# (Roslyn) support via roslyn.nvim, LazyVim integration.
- Rootless Podman: Fully configured rootless containerization on Debian/Ubuntu.
- Cross-Platform Prompt: Unified look via dot_config/oh-my-posh.
- Modern CLI Tools: Up-to-date versions of scripts/ansible/roles/bat, scripts/ansible/roles/fzf, scripts/ansible/roles/gh, scripts/ansible/roles/uv, and scripts/ansible/roles/speckit.
winget install twpayne.chezmoi
chezmoi init --apply --verbose RichardSlatersudo apt update && sudo apt install --yes curl git unzip
curl -s https://ohmyposh.dev/install.sh | bash -s
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply RichardSlaterchezmoi cd
git remote set-url --no-push origin https://github.com/richardslater/dotfiles.git
git remote set-url --push origin git@github.com:RichardSlater/dotfiles.gitThis is used only for transient environments like containers:
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --one-shot RichardSlaterThis repo enables roslyn.nvim for C# buffers.
- Install a Roslyn Language Server executable on your PATH (config prefers roslyn, but will also use Microsoft.CodeAnalysis.LanguageServer if found).
- Ensure a recent .NET SDK is installed.
Verify prerequisites on Windows:
dotnet --info
Get-Command roslyn -ErrorAction SilentlyContinue
Get-Command Microsoft.CodeAnalysis.LanguageServer -ErrorAction SilentlyContinue