This document outlines the plan to build an Ansible repository integrated with my existing dotfiles repository. The goal is to automate configuration across various hosts, each belonging to different groups with specific requirements.
- Architecture: ARMv7
- OS: Hypriot, Raspbian OS
- Special considerations:
- Possibly exclude certain software like Obsidian due to hardware constraints
- Configure with lightweight setups suitable for ARM devices
- OS: Typically Arch Linux or Arch-based distributions
- Focus on:
- Installing development tools
- Synchronizing dotfiles and common software
- OS: Parrot (Debian-based)
- Used for practicing on HTB platform
- OS: Windows
- Consider:
- WSL (Windows Subsystem for Linux) configurations for Linux tools and environments
- Setting up Windows-specific software
| Software | Notes | Customization/Config Source |
|---|---|---|
| Obsidian | Not for Raspberry Pis | Use only on applicable hosts |
| Mask | Standard installation | |
| Starship.rs | Shell prompt | With my custom dotfiles config |
| Kitty terminal | With my dotfiles config | |
| Neovim | With my dotfiles config | |
| Stow | Package manager for dotfiles | |
| Hosts | Manage /etc/hosts |
Used mostly on the PwnBox |
| Atuin | Shell history management |
- Atkinson Hyperlegible: Used across most applications for clarity (excluding terminal)
- MonaSpace: For terminal fonts, customized through Kitty config within dotfiles repo
- Refer to HackTheBox PwnBox guide for specifics
- Initial setup steps:
- Ensure
ansibleis installed on the host machine viauser_initscript - Use
ansible-pullto fetch and run configuration playbooksansible-pull -U https://github.com/cam-barts/ansible.git -d ~/ansible-pwnbox -i pwnbox -C main playbooks/configure_pwnbox.yml
- Ensure
- Install
ansibleduring initial setup (user_init) - Use
ansible-pullto synchronize configurations - Set up AutoRecon with markdown output into the Obsidian vault stored in
my_data(which is synced via sshfs)
- Structure the Ansible inventory with host groups matching the above categories
- Develop playbooks for:
- Base system setup
- Dotfiles deployment (leveraging
stow) - Software installation (e.g., Obsidian, Mask, starship, kitty, nvim)
- Font management
- Windows-specific setup and WSL configurations
- Automate initial PwnBox environment configuration and synchronize tools like AutoRecon and Mask