Skip to content

My ansible playbook collection that has been written for setting up a Debian 12 (bookworm) Linux machine

License

Notifications You must be signed in to change notification settings

Kaweees/ansible

Repository files navigation

Contributors Forks Stargazers

Text changing depending on mode. Light: 'Ansible Logo Light Mode' Dark: 'Ansible Logo Dark Mode'

~ansible

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.

Built With

Ansible

Getting Started

To get a local copy of the project up and running on your machine, follow these simple steps:

Installation

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:

  1. Add your user to the sudoers group
    # execute the following commands from root
    apt install -y sudo curl
    sudo usermod -aG sudo <username>
  2. Execute the ansible-install script
    bash < <(curl -s https://raw.githubusercontent.com/Kaweees/ansible/main/ansible-install)
  3. Start and enable NetworkManager
    sudo systemctl start NetworkManager #.service
    sudo systemctl enable NetworkManager #.service

Enter your machine's password when prompted by Ansible.

Usage

Running

Testing

Testing this playbook locally can be done by following the steps below:

  1. Clone the repository
     git clone https://github.com/Kaweees/ansible.git
     cd ansible
  2. Install Ansible via pip
    pip install ansible
  3. Install Molecule with Docker support via pip
    pip install molecule[docker]
  4. Initialize a Molecule scenario locally with Docker as the driver
    molecule init scenario -r local -d docker
  5. Run the Molecule tests with the initialized scenario
    molecule test

Roadmap

See the [open issues](

Project Structure

. 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

License

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.

About

My ansible playbook collection that has been written for setting up a Debian 12 (bookworm) Linux machine

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published