{"id":14069629,"url":"https://github.com/ahstn/ansible-dev-setup","last_synced_at":"2026-01-19T20:02:59.664Z","repository":{"id":88466139,"uuid":"118383138","full_name":"ahstn/ansible-dev-setup","owner":"ahstn","description":"Development Workstation Provisioning Ansible Playbook and Roles","archived":false,"fork":false,"pushed_at":"2018-09-30T10:40:34.000Z","size":37,"stargazers_count":1,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-30T05:54:35.468Z","etag":null,"topics":["ansible","development","linux","mac","windows"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ahstn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-21T23:27:53.000Z","updated_at":"2021-08-31T21:41:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"3fa90a9c-26a5-4b9c-a11c-33b2df729c17","html_url":"https://github.com/ahstn/ansible-dev-setup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ahstn/ansible-dev-setup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahstn%2Fansible-dev-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahstn%2Fansible-dev-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahstn%2Fansible-dev-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahstn%2Fansible-dev-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahstn","download_url":"https://codeload.github.com/ahstn/ansible-dev-setup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahstn%2Fansible-dev-setup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28583644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T19:46:29.903Z","status":"ssl_error","status_checked_at":"2026-01-19T19:45:54.560Z","response_time":67,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","development","linux","mac","windows"],"created_at":"2024-08-13T07:07:05.953Z","updated_at":"2026-01-19T20:02:59.641Z","avatar_url":"https://github.com/ahstn.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"\u003cimg src=\"https://i.imgur.com/yKtGfSa.png\" align=\"left\" width=\"128px\" height=\"128px\"/\u003e\n\n### **Ansible Dev Setup**\n\u003e *Provision development devices or virtual machines using [Ansible]*\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n### Requirements\n* [Ansible] (use bootstrap script if needed)\n\n### Platforms Supported\nCurrently only CentOS 7 is tested, but it should also work on Debian \u0026 Ubuntu. \nIn the future more distros will be tested for.\n\n## Usage\nOnce the playbook has been configured with your preferred roles and variables, \nthe provision can be initiated by running the following command:\n```bash\n$ ansible-playbook -K playbook.yml\n```\n\n`-K` is short for telling Ansible to prompt for the user's sudo password, \nwhich is required when installing packages, modifying system files and such.\n\n### Tasks\nThe role contains many tasks, each for installing and setting up a specific tool. They are as follows:\n\n| Name                  | Description                                                   |\n|-----------------------|---------------------------------------------------------------|\n| [`golang`]            | Installs the Go programming language and some common packages |\n| [`jetbrains-toolbox`] | Installs Jetbrains' Toolbox                                   |\n| [`vim`]               | Installs Vim, [vim-plug] and the template .vimrc              |\n| [`vscode`]            | Installs Visual Studio Code                                   |\n| [`zsh`]               | Installs ZSH, [zplug] and the template .zshrc                 |\n\n### Variables\nThe role utilises many variables for running, which can be found in [defaults/main.yml], \nbut some of the most important for user customisation are:\n\n| Name                    | Description                                         | Default    |\n|-------------------------|-----------------------------------------------------|------------|\n| `vimrc_ansible_managed` | Determines whether user vim config should be edited | `true`     |\n| `vim_plugins`           | List appended to vim config of plugins for vim-plug | `$array`   |\n| `vim_install_plugins`   | Determines whether to install vim plugins or not    | `$array`   |\n| `zshrc_ansible_managed` | Determines whether user zsh config should be edited | `true`     |\n\n## Testing and Development\nTests are written in YAML and verified [Goss]. \nThese tests specify a base state that will be verified after the provision happens in test environments.\nAll tests occur in short-lived Docker containers, orchestrated by [Molecule] . \nThis allows for provisioning of multiple test environments at once with minimal downtime. (i.e. waiting for VM spinup)\nPlaybooks and tests are also analysed by YAML Lint and [Ansible Lint]\n\n### Testing Requirements\n* [Docker]\n* Python\n* [Molecule]\n\nWith Python installed Molecule can be installed, with it's dependencies using the following command:\n```bash\n$ pip install pyOpenssl docker molecule\n```\n\n### Testing Execution\nTests can now be ran by the following command:\n```bash\n$ molecule test\n```\nSetup of the Docker test environments, provisioning and verification can also be ran in seperate steps using\n`molecule setup`, `molecule converge` and `molecule verify` respectively.\n\nFor more options, view the [Molecule Docs] or run `molecule -h`\n\n[Ansible]: https://www.ansible.com/\n[`golang`]: ./tasks/golang.yml\n[`jetbrains-toolbox`]: ./tasks/jetbrains-toolbox.yml\n[`vim`]: ./tasks/vim.yml\n[`vscode`]: ./tasks/vscode.yml\n[`zsh`]: ./tasks/zsh.yml\n[vim-plug]: https://github.com/junegunn/vim-plug\n[zplug]: https://github.com/zplug/zplug\n[defaults/main.yml]: ./defaults/main.yml\n[Goss]: https://github.com/aelsabbahy/goss\n[Docker]: https://docker.com\n[Molecule]: https://github.com/metacloud/molecule\n[Ansible Lint]: https://github.com/willthames/ansible-lint\n[Molecule Docs]: https://molecule.readthedocs.io/en/latest/usage.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahstn%2Fansible-dev-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahstn%2Fansible-dev-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahstn%2Fansible-dev-setup/lists"}