Installation
There are different starting points for installing pbonh/ars on your system, and they will depend
on your OS. If you are on Linux, pick a bootstrap_* script that closely matches the system. There
is also a portable version of ansible available(scripts/bootstrap_ansible).
Bootstrap Examples
- Install Ansible(Portable)
wget -O - https://raw.githubusercontent.com/pbonh/ars/main/scripts/bootstrap_ansible.sh | bash
- Bootstrap Bluefin
wget -O - https://raw.githubusercontent.com/pbonh/ars/main/scripts/bootstrap_bluefin.sh | bash
- Bootstrap Ubuntu
wget -O - https://raw.githubusercontent.com/pbonh/ars/main/scripts/bootstrap_ubuntu.sh | bash
- Bootstrap Fedora
wget -O - https://raw.githubusercontent.com/pbonh/ars/main/scripts/bootstrap_fedora.sh | bash
Git/SSH(Optional)
Optionally, git & ssh can be configured via a prompt:
- Configure Git/SSH
wget -O - https://raw.githubusercontent.com/pbonh/ars/main/scripts/bootstrap_gitssh.sh | bash
Workstation GUI
If GUI support is desired, the following desktop environments are available:
- KDE
Developer Tools
There are 4 installation options to choose from for the developer tools (homebrew is the default):
- Homebrew (default)
- Mise
- Devbox
- Non-Root
Homebrew is the default tool manager for the developer toolset. Mise provides a curated toolchain,
and Devbox uses nix with support for custom shell environments. Non-Root is useful when you don’t
have root permissions, but still need to install the developer tools. All 4 are compatible with
Linux & macOS.
EITHER
Checkout repository and create .envrc file (base example):
touch .envrc
ln -s .envrc .env
cat << EOF >> .envrc
DOTFILES_TASK_PRELUDE=python
OPENAI_API_KEY="MY_OPENAI_API_KEY"
ANTHROPIC_API_KEY="MY_ANTHROPIC_API_KEY"
EOF
Optional Git-Enabled .envrc values (for the dev role):
cat << EOF >> .envrc
DOTFILES_BOOTSTRAP_GIT_NAME="Your Name"
DOTFILES_BOOTSTRAP_GIT_EMAIL="your_name@address.com"
DOTFILES_BOOTSTRAP_GITHUB_USERNAME="username"
EOF
For SSH mode examples (YubiKey/FIDO2 defaults vs plain ssh-agent), see:
Apply optional Git/SSH + Git tooling config:
ansible-pull -U https://github.com/pbonh/ars.git dev.yml -e "{dev_machine: true}"
OR Ansible Pull
# (Non-Root, Shell Tools Only)
ansible-pull -U https://github.com/pbonh/ars.git ars.yml --tags "env" -e "{tool_provider: \"nonroot\"}"
# (Install Non-Root, Shell Tools Only)
ansible-pull -U https://github.com/pbonh/ars.git ars.yml --tags "install,env" -e "{tool_provider: \"nonroot\"}"