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:

  1. 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
  2. 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:

  1. Try with a GitHub token (see section above)
  2. Wait and retry - Rate limits reset every hour
  3. 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