This playbook installs most of the software I use on my Linux machine for software development. This is a work-in-progress, and things will probably change as the sands of time flow.
To get a local copy of the project up and running on your machine, follow these simple steps:
It is best to run this playbook remotely, as it is designed to be executed on a fresh install of Linux. To do so, run the following commands:
- Add your user to the sudoers group
# execute the following commands from root apt install -y sudo curl sudo usermod -aG sudo <username>
- Execute the ansible-install script
bash < <(curl -s https://raw.githubusercontent.com/Kaweees/ansible/main/ansible-install)
- Start and enable NetworkManager
sudo systemctl start NetworkManager #.service sudo systemctl enable NetworkManager #.service
Enter your machine's password when prompted by Ansible.
Testing this playbook locally can be done by following the steps below:
- Clone the repository
git clone https://github.com/Kaweees/ansible.git cd ansible
- Install Ansible via pip
pip install ansible
- Install Molecule with Docker support via pip
pip install molecule[docker]
- Initialize a Molecule scenario locally with Docker as the driver
molecule init scenario -r local -d docker
- Run the Molecule tests with the initialized scenario
molecule test
See the [open issues](
. ansible/
├── .ssh/ - ssh configuration files
├── auth_codes/ - auth codes for various services
├── meta/ - metadata regarding this project for Ansible Galaxy
├── molecule/ - molecule tests
│ └── default/ - default molecule scenario
│ ├── converge.yml - main ansible playbook
│ ├── molecule.yml - molecule configuration
│ └── verify.yml - molecule verification
├── tasks/ - various ansible tasks
├── vars/ - various ansible variables
├── .ansible-lint - ansible-lint configuration
├── .editorconfig - editorconfig configuration
├── .yamllint - yamllint configuration
├── Dockerfile - dockerfile for molecule tests
├── README.md - you are here
├── ansible-install - entry point that install ansible and runs the playbook
├── local.yml - ansible playbook to run locally
└── nvim.Dockerfile - dockerfile for neovim
My ansible scripts are distributed under the terms of the GNU General Public License v3.0, as I firmly believe that collaborating on free and open-source software fosters innovations that mutually and equitably beneficial to both collaborators and users alike. See LICENSE for details and more information.