Usage
Getting Started
Clone this repo, enter the directory and run the ansible-playbook command to install the software.
wget https://github.com/TerrorSquad/ansible-post-installation/archive/refs/heads/master.zip \
&& unzip master.zip \
&& cd ansible-post-installation-master
Optional: GitHub Token for Rate Limiting
Griffin downloads many packages from GitHub releases. If you encounter rate limiting issues, you can optionally provide a GitHub token:
- Create a Personal Access Token (optional):
- Go to GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
- Generate a token with
public_repo
scope - Copy the token
- Use with playbook:
ansible-playbook ./playbook.yaml -K -e username=$(whoami) -e github_token=YOUR_TOKEN_HERE
Note: This is completely optional. Griffin works without a token, but may hit GitHub's rate limits during heavy usage (60 requests/hour vs 5000 with token).
Running Playbooks
Linux Systems
Default: Install CLI Tools
This is the default playbook that installs command-line interface (CLI) tools. It's useful for servers or headless systems like WSL.
ansible-playbook ./playbook.yaml -K -e username=$(whoami)
Configure git user
To configure git user, pass the following extra variables:
ansible-playbook ./playbook.yaml -K -e username=$(whoami) -e "git_user_email='your@email.com'" -e "git_user_name='Your Name'"
Install GUI tools
This playbook enables the installation of graphical user interface (GUI) tools.
ansible-playbook ./playbook.yaml -K -e username=$(whoami) -e=gui=true -e=dev_tools_gui=true
Install all software
To install all available software (both CLI and GUI), use the following command:
ansible-playbook ./playbook.yaml -K -e username=$(whoami) -e=all=true
macOS Systems
Default: Install CLI Tools
ansible-playbook ./playbook_macos.yaml -K -e username=$(whoami)
Configure git user
ansible-playbook ./playbook_macos.yaml -K -e username=$(whoami) -e "git_user_email='your@email.com'" -e "git_user_name='Your Name'"
Install GUI tools
ansible-playbook ./playbook_macos.yaml -K -e username=$(whoami) -e=gui=true -e=dev_tools_gui=true
Install all software
ansible-playbook ./playbook_macos.yaml -K -e username=$(whoami) -e=all=true
Congratulations
You've successfully installed Griffin! Now you can enjoy a streamlined and efficient Linux experience.
Available Flags
You can customize the installation by using these flags:
-e all=true
: Installs all software, including both CLI and GUI tools.-e dev_tools_gui=true
: Installs GUI tools specifically for development from the dev_tools_gui.yaml file.-e gui=true
: Installs general-purpose GUI tools from the general_use_software_gui.yaml file-e gestures=true
: Installs tools related to libinput gestures from the libinput_gestures.yaml file-e rust=true
: Installs the Rust programming language and associated tools.-e golang=true
: Installs the Go programming language (Golang) and associated tools-e java=true
: Installs SDKMan, a tool for managing multiple Java versions-e git_user_email="your@email.com" and -e git_user_name="Your Name"
: Sets the Git user configuration values username: Sets the username for which the configuration should be applied. Can be overridden from its default value in defaults/main.yaml-K
: Prompts for the root password, necessary for certain installation and update tasks-e github_token=YOUR_TOKEN
: Optional GitHub token to avoid rate limiting (see above section)
Troubleshooting
GitHub Rate Limiting
If you see errors related to GitHub API rate limits:
- Try with a GitHub token (see section above)
- Wait and retry - Rate limits reset every hour
- Run with fewer packages - Use specific flags instead of
-e all=true
Common Issues
- Permission denied: Make sure to use
-K
flag for sudo password - Connection timeouts: Check your internet connection
- Package conflicts: Some packages may conflict with existing installations