Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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):

  1. Homebrew (default)
  2. Mise
  3. Devbox
  4. 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\"}"