{"id":22300509,"url":"https://github.com/professormanhattan/ansible-snapd","last_synced_at":"2026-04-02T02:50:33.007Z","repository":{"id":44365975,"uuid":"409086729","full_name":"ProfessorManhattan/ansible-snapd","owner":"ProfessorManhattan","description":"Ensures Snap is installed and properly configured on Linux systems","archived":false,"fork":false,"pushed_at":"2023-03-23T13:07:08.000Z","size":83210,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-30T20:42:38.289Z","etag":null,"topics":["ansible","fedora","install","installation","installdoc","installdoctor","linux","macos","mblabs","megabytelabs","molecule","package","professormanhattan","role","snap","snapd","software","ubuntu","washingtondc","windows"],"latest_commit_sha":null,"homepage":"https://megabyte.space","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ProfessorManhattan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"docs/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"ProfessorManhattan","open_collective":"megabytelabs","patreon":"ProfessorManhattan","custom":["donate.givedirectly.org"]}},"created_at":"2021-09-22T06:18:37.000Z","updated_at":"2023-08-18T17:56:17.000Z","dependencies_parsed_at":"2024-12-03T18:11:54.081Z","dependency_job_id":"4f7bc67e-77f2-4454-a570-a66bebe78437","html_url":"https://github.com/ProfessorManhattan/ansible-snapd","commit_stats":null,"previous_names":["professormanhattan/ansible-snapd"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessorManhattan%2Fansible-snapd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessorManhattan%2Fansible-snapd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessorManhattan%2Fansible-snapd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessorManhattan%2Fansible-snapd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProfessorManhattan","download_url":"https://codeload.github.com/ProfessorManhattan/ansible-snapd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245558569,"owners_count":20635202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","fedora","install","installation","installdoc","installdoctor","linux","macos","mblabs","megabytelabs","molecule","package","professormanhattan","role","snap","snapd","software","ubuntu","washingtondc","windows"],"created_at":"2024-12-03T18:11:42.412Z","updated_at":"2025-12-30T20:33:51.951Z","avatar_url":"https://github.com/ProfessorManhattan.png","language":"Shell","funding_links":["https://github.com/sponsors/ProfessorManhattan","https://opencollective.com/megabytelabs","https://patreon.com/ProfessorManhattan","donate.givedirectly.org","https://www.patreon.com/ProfessorManhattan"],"categories":[],"sub_categories":[],"readme":"\u003c!-- ⚠️ This README has been generated from the file(s) \".config/docs/blueprint-readme-role.md\" ⚠️--\u003e\u003cdiv align=\"center\"\u003e\n  \u003ccenter\u003e\n    \u003ca href=\"https://github.com/megabyte-labs/ansible-snapd\"\u003e\n      \u003cimg width=\"148\" height=\"148\" alt=\"Snap logo\" src=\"https://gitlab.com/megabyte-labs/ansible-roles/snapd/-/raw/master/logo.png\" /\u003e\n    \u003c/a\u003e\n  \u003c/center\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ccenter\u003e\u003ch1 align=\"center\"\u003e\u003ci\u003e\u003c/i\u003eSnap - A Linux Package Manager\u003ci\u003e\u003c/i\u003e\u003c/h1\u003e\u003c/center\u003e\n  \u003ccenter\u003e\u003ch4 style=\"color: #18c3d1;\"\u003eCrafted by \u003ca href=\"https://megabyte.space\" target=\"_blank\"\u003eMegabyte Labs\u003c/a\u003e\u003c/h4\u003e\u003ci\u003e\u003c/i\u003e\u003c/center\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://megabyte.space\" title=\"Megabyte Labs homepage\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Homepage\" src=\"https://img.shields.io/website?down_color=%23FF4136\u0026down_message=Down\u0026label=Homepage\u0026logo=home-assistant\u0026logoColor=white\u0026up_color=%232ECC40\u0026up_message=Up\u0026url=https%3A%2F%2Fmegabyte.space\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/megabyte-labs/ansible-snapd/blob/master/docs/CONTRIBUTING.md\" title=\"Learn about contributing\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Contributing\" src=\"https://img.shields.io/badge/Contributing-Guide-0074D9?logo=github-sponsors\u0026logoColor=white\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://app.slack.com/client/T01ABCG4NK1/C01NN74H0LW/details/\" title=\"Chat with us on Slack\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Slack\" src=\"https://img.shields.io/badge/Slack-Chat-e01e5a?logo=slack\u0026logoColor=white\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://gitter.im/megabyte-labs/community\" title=\"Chat with the community on Gitter\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Gitter\" src=\"https://img.shields.io/gitter/room/megabyte-labs/community?logo=gitter\u0026logoColor=white\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/megabyte-labs/ansible-snapd\" title=\"GitHub mirror\" target=\"_blank\"\u003e\n    \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/badge/Mirror-GitHub-333333?logo=github\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://gitlab.com/megabyte-labs/ansible-roles/snapd\" title=\"GitLab repository\" target=\"_blank\"\u003e\n    \u003cimg alt=\"GitLab\" src=\"https://img.shields.io/badge/Repo-GitLab-fc6d26?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAAHJJREFUCNdNxKENwzAQQNEfWU1ZPUF1cxR5lYxQqQMkLEsUdIxCM7PMkMgLGB6wopxkYvAeI0xdHkqXgCLL0Beiqy2CmUIdeYs+WioqVF9C6/RlZvblRNZD8etRuKe843KKkBPw2azX13r+rdvPctEaFi4NVzAN2FhJMQAAAABJRU5ErkJggg==\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca title=\"Ansible Galaxy role: professormanhattan.snapd\" href=\"https://galaxy.ansible.com/professormanhattan/snapd\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Ansible Galaxy role: professormanhattan.snapd\" src=\"https://img.shields.io/ansible/role/56331?logo=ansible\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"Version: 0.0.1\" href=\"https://github.com/megabyte-labs/ansible-snapd\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Version: 0.0.1\" src=\"https://img.shields.io/badge/version-0.0.1-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAACNJREFUCNdjIACY//+BEp9hhM3hAzYQwoBIAqEDYQrCZLwAAGlFKxU1nF9cAAAAAElFTkSuQmCC\u0026cacheSeconds=2592000\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"GitLab build status\" href=\"https://gitlab.com/megabyte-labs/ansible-roles/snapd/-/commits/master\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Build status\" src=\"https://img.shields.io/gitlab/pipeline-status/megabyte-labs/ansible-roles/snapd?branch=master\u0026label=build\u0026logo=gitlab\u0026logoColor=white\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"Windows 11 test status on GitHub\" href=\"https://github.com/megabyte-labs/ansible-snapd/actions/workflows/Windows.yml\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Windows 11 test status\" src=\"https://img.shields.io/github/workflow/status/ProfessorManhattan/ansible-snapd/Windows%20Ansible%20Role%20Test/master?color=cyan\u0026label=windows\u0026logo=windows\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"macOS test status on GitLab\" href=\"https://gitlab.com/megabyte-labs/ansible-roles/snapd/-/commits/master\" target=\"_blank\"\u003e\n    \u003cimg alt=\"macOS test status\" src=\"https://img.shields.io/gitlab/pipeline-status/megabyte-labs/ansible-roles/snapd?branch=test%2Fdarwin\u0026label=osx\u0026logo=apple\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"Linux Molecule test status on GitLab\" href=\"https://gitlab.com/megabyte-labs/ansible-roles/snapd/-/commits/master\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Linux Molecule test status\" src=\"https://img.shields.io/gitlab/pipeline-status/megabyte-labs/ansible-roles/snapd?branch=test%2Flinux\u0026label=linux\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAElBMVEUAAAAwPEEuOEIxOzswPj7///91+pI+AAAABXRSTlMANRkNJejDPNcAAAB+SURBVCjPddHBDYAgDIXhGtMRHMG7S3hvTP79VxFIQVq1wOVLm7wU8QIJpSThC2wGwwJoPQFKRdiAAIhGsAykZNSZAOVNMx4BMjwtpySgr6CDJdB/MAdJwAvSiFoE5aABHUb0ch0WHNQq+KPAOgCgrbEnbjAHArjGz3jr3hpumrQpvwi66rkAAAAASUVORK5CYII=\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"Ansible Galaxy quality score (out of 5)\" href=\"https://galaxy.ansible.com/professormanhattan/snapd\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Ansible Galaxy quality score\" src=\"https://img.shields.io/ansible/quality/56331?logo=ansible\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"Ansible Galaxy download count\" href=\"https://galaxy.ansible.com/professormanhattan/snapd\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Ansible Galaxy download count\" src=\"https://img.shields.io/ansible/role/d/56331?logo=ansible\u0026label=downloads\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"Documentation\" href=\"https://megabyte.space/docs/ansible\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Documentation\" src=\"https://img.shields.io/badge/documentation-yes-brightgreen.svg?logo=readthedocs\u0026logoColor=white\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"License: MIT\" href=\"https://github.com/megabyte-labs/ansible-snapd/blob/master/LICENSE\" target=\"_blank\"\u003e\n    \u003cimg alt=\"License: MIT\" src=\"https://img.shields.io/badge/license-MIT-yellow.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAAHpJREFUCNdjYOD/wMDAUP+PgYHxhzwDA/MB5gMM7AwMDxj4GBgKGGQYGCyAEEgbMDDwAAWAwmk8958xpIOI5zKH2RmOyhxmZjguAiKmgIgtQOIYmFgCIp4AlaQ9OczGkJYCJEAGgI0CGwo2HmwR2Eqw5SBnNIAdBHYaAJb6KLM15W/CAAAAAElFTkSuQmCC\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003e \u003cbr/\u003e\u003ch4 align=\"center\"\u003e**An Ansible role that ensures Snap is installed and properly configured on Linux systems**\u003c/h4\u003e\u003cbr/\u003e\n\n\u003c!--TERMINALIZE![terminalizer_title](https://gitlab.com/megabyte-labs/ansible-roles/snapd* **github**: /raw/master/docs/demo.gif\n* **gitlab**: /-/raw/master/docs/demo.gif)TERMINALIZE--\u003e\n\n\u003ca href=\"#table-of-contents\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Features](#features)\n- [Quick Start](#quick-start)\n- [Supported Operating Systems](#supported-operating-systems)\n- [Dependencies](#dependencies)\n  - [Python](#python)\n  - [Galaxy Roles](#galaxy-roles)\n  - [Galaxy Collections](#galaxy-collections)\n- [Example Playbook](#example-playbook)\n  - [Real World Example](#real-world-example)\n- [Contributing](#contributing)\n  - [Affiliates](#affiliates)\n- [License](#license)\n\n\u003ca href=\"#overview\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Overview\n\nThis repository is the home of an [Ansible](https://www.ansible.com/) role that ensures Snap is installed and properly configured on Linux systems. [Snap](https://snapcraft.io/) is a software packaging and deployment system developed by Canonical for operating systems that use the Linux kernel. The packages, called snaps, and the tool for using them, snapd, work across a range of Linux distributions and allow upstream software developers to distribute their applications directly to users. Snaps are self-contained applications running in a sandbox with mediated access to the host system.\n\n\u003ca href=\"#features\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Features\n\n**Ensures Snap is installed:**\n\n- Installs Snap on Linux systems\n- Ensures Snap is started and enabled on system boot\n\n\u003ca href=\"#quick-start\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Quick Start\n\nLooking to install Snap without having to deal with [Ansible](https://www.ansible.com/)? Simply run the following command that correlates to your operating system:\n\n**Linux/macOS:**\n\n```shell\ncurl -sS https://install.doctor/snapd | bash\n```\n\n**Windows:**\n\n```powershell\nSet-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://install.doctor/snapd?os=win'))\n```\n\n**Important Note:** _Before running the commands above you should probably directly access the URL to make sure the code is legit. We already know it is safe but, before running any script on your computer, you should inspect it._\n\nYou can also check out **[Install Doctor](https://install.doctor)**. It is an app we created that can install any Ansible role with a one-liner. It has some other nifty features too like the ability to install binaries on-the-fly without requiring a password. However, if you would like to incorporate this role into an Ansible playbook (and customize settings) then please continue reading below.\n\n\u003ca href=\"#supported-operating-systems\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Supported Operating Systems\n\nThe chart below shows the operating systems that we have tested this role on. It is automatically generated using the Ansible Molecule tests located in the `molecule/` folder. There is CI logic in place to automatically handle the testing of Windows, macOS, Ubuntu, Fedora, CentOS, Debian, and Archlinux. If your operating system is not listed but is a variant of one of the systems we test (i.e. a Debian-flavored system or a RedHat-flavored system) then it is possible that the role will still work.\n\n| OS Family | OS Version | Status | Idempotent | Tested On |\n| --------- | ---------- | ------ | ---------- | --------- |\n\n**_What does idempotent mean?_** Idempotent means that if you run this role twice in row then there will be no changes to the system the second time around.\n\nWe spent a lot of time perfecting our CI configurations and build tools. If you are interested in learning more about how we perfected our process then you might find our [Ansible common files](https://gitlab.com/megabyte-labs/common/ansible) and [Ansible documentation](https://gitlab.com/megabyte-labs/documentation/ansible) repositories interesting. See the [CONTRIBUTING.md](docs/CONTRIBUTING.md) guide for more details.\n\n\u003ca href=\"#dependencies\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Dependencies\n\nMost of our roles rely on [Ansible Galaxy](https://galaxy.ansible.com) collections. Some of our projects are also dependent on other roles and collections that are published on Ansible Galaxy. Before you run this role, you will need to install the collection and role dependencies, as well as the Python requirements, by running:\n\n```yaml\nif type poetry \u0026\u003e /dev/null; then poetry install --no-root; else pip3 install -r .config/assets/requirements.txt; fi\nansible-galaxy install -r requirements.yml\n```\n\nAlternatively, you can simply run `bash .config/scripts/start.sh` if you are new to Ansible and do not mind the development requirements also being installed. This is the easy way of making sure that everything works properly.\n\n### Python\n\nAlthough the only tool necessary to run this play on a standard machine is Ansible (a Python package), we include several other Python dependencies that are required for specialized use cases and development. The table below details these packages:\n\n| Package                                                                                                                                        | Description                                                                                                                                                                   | Required                     |\n| ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/ansible/\" title=\"ansible on pypi.org\" target=\"_blank\"\u003eansible\u003c/a\u003e\u003c/b\u003e                                     | A configuration management system that can remotely configure computers                                                                                                       | \u003cdiv align=\"center\"\u003e✔️\u003c/div\u003e |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/docker/\" title=\"docker on pypi.org\" target=\"_blank\"\u003edocker\u003c/a\u003e\u003c/b\u003e                                        | Enables the capability of provisioning Docker containers with Ansible                                                                                                         | \u003cdiv align=\"center\"\u003e✔️\u003c/div\u003e |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/python-vagrant/\" title=\"python-vagrant on pypi.org\" target=\"_blank\"\u003epython-vagrant\u003c/a\u003e\u003c/b\u003e                | Required for provisioning Vagrant VMs                                                                                                                                         | \u003cdiv align=\"center\"\u003e✔️\u003c/div\u003e |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/pywinrm/\" title=\"pywinrm on pypi.org\" target=\"_blank\"\u003epywinrm\u003c/a\u003e\u003c/b\u003e                                     | Required for provisioning Windows machines that are using WinRM                                                                                                               | \u003cdiv align=\"center\"\u003e✔️\u003c/div\u003e |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/ansible-lint/\" title=\"ansible-lint on pypi.org\" target=\"_blank\"\u003eansible-lint\u003c/a\u003e\u003c/b\u003e                      | Linting tool for Ansible files                                                                                                                                                |                              |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/ansibler/\" title=\"ansibler on pypi.org\" target=\"_blank\"\u003eansibler\u003c/a\u003e\u003c/b\u003e                                  | Custom tool used to generate advanced documentation (e.g. it generates the compatibility chart and some other charts)                                                         |                              |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/black/\" title=\"black on pypi.org\" target=\"_blank\"\u003eblack\u003c/a\u003e\u003c/b\u003e                                           | Python file auto-formatter included in case project utilizes Python test scripts                                                                                              |                              |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/blocklint/\" title=\"blocklint on pypi.org\" target=\"_blank\"\u003eblocklint\u003c/a\u003e\u003c/b\u003e                               | Linting tool that prevents certain words from entering the code base                                                                                                          |                              |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/flake8/\" title=\"flake8 on pypi.org\" target=\"_blank\"\u003eflake8\u003c/a\u003e\u003c/b\u003e                                        | Python linter that reports Python syntax and style errors                                                                                                                     |                              |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/mod-ansible-autodoc/\" title=\"mod-ansible-autodoc on pypi.org\" target=\"_blank\"\u003emod-ansible-autodoc\u003c/a\u003e\u003c/b\u003e | Custom fork of [ansible-autodoc](https://pypi.org/project/ansible-autodoc/0.5.1.1/) which allows us to auto-generate documentation based on comments in the role's YAML files |                              |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/molecule/\" title=\"molecule on pypi.org\" target=\"_blank\"\u003emolecule\u003c/a\u003e\u003c/b\u003e                                  | Test framework for Ansible                                                                                                                                                    |                              |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/molecule-docker/\" title=\"molecule-docker on pypi.org\" target=\"_blank\"\u003emolecule-docker\u003c/a\u003e\u003c/b\u003e             | Molecule plugin for provisioning Docker containers                                                                                                                            |                              |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/molecule-vagrant/\" title=\"molecule-vagrant on pypi.org\" target=\"_blank\"\u003emolecule-vagrant\u003c/a\u003e\u003c/b\u003e          | Molecule plugin for provisioning Vagrant VMs                                                                                                                                  |                              |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/pre-commit-hooks/\" title=\"pre-commit-hooks on pypi.org\" target=\"_blank\"\u003epre-commit-hooks\u003c/a\u003e\u003c/b\u003e          | Suite of tools useful for linting                                                                                                                                             |                              |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/proselint/\" title=\"proselint on pypi.org\" target=\"_blank\"\u003eproselint\u003c/a\u003e\u003c/b\u003e                               | Linter used to generate English-language improvements (used to improve documentation)                                                                                         |                              |\n| \u003cb\u003e\u003ca href=\"https://pypi.org/project/yamllint/\" title=\"yamllint on pypi.org\" target=\"_blank\"\u003eyamllint\u003c/a\u003e\u003c/b\u003e                                  | Linter for YAML files that ensures proper syntax and styling is used                                                                                                          |                              |\n\n### Galaxy Roles\n\nAlthough most of our roles do not have dependencies, there are some cases where another role has to be installed before the logic can continue. At the beginning of the play, the Ansible Galaxy role dependencies listed in `meta/main.yml` will run. These dependencies are configured to only run once per playbook. If you include more than one of our roles in your playbook that have dependencies in common then the dependency installation will be skipped after the first run. Some of our roles also utilize helper roles directly from the task files which helps keep our [main playbook (Gas Station)](repository.playbooks) DRY.\n\nThe `requirements.yml` file contains a full list of the Ansible Galaxy dependencies required by this role (i.e. `meta/main.yml` role dependencies, helper roles, collections, etc.). For your convenience, a list of the role dependencies along with quick descriptions is below:\n\nrole_dependencies\n\n### Galaxy Collections\n\nThis role is dependent on multiple Ansible Galaxy collections. The collections along with a links to their source are listed below.\n\n- \u003ca href=\"https://galaxy.ansible.com/community/general\" title=\"community.general collection on Ansible Galaxy\" target=\"_blank\"\u003e\u003cimg alt=\"community.general Ansible Galaxy badge\" src=\"https://img.shields.io/badge/Ansible%20Galaxy-community.general-000000?logo=ansible\u0026logoColor=white\u0026style=for-the-badge\"\u003e\u003c/a\u003e\n- \u003ca href=\"https://galaxy.ansible.com/google/cloud\" title=\"google.cloud collection on Ansible Galaxy\" target=\"_blank\"\u003e\u003cimg alt=\"google.cloud Ansible Galaxy badge\" src=\"https://img.shields.io/badge/Ansible%20Galaxy-google.cloud-000000?logo=ansible\u0026logoColor=white\u0026style=for-the-badge\"\u003e\u003c/a\u003e\n\n\u003ca href=\"#example-playbook\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Example Playbook\n\nWith the dependencies installed, all you have to do is add the role to your main playbook. The role handles the `become` behavior so you can simply add the role to your playbook without having to worry about commands that should not be run as root:\n\n```lang-yml\n- hosts: all\n  roles:\n    - professormanhattan.snapd\n```\n\nIf you are incorporating this role into a pre-existing playbook, then it might be prudent to copy the requirements outlined in `pyproject.toml` and `requirements.yml` to their corresponding files in the root of your playbook so you only have to worry about installing one set of requirements during future use. Note that the dependencies in `pyproject.toml` can be moved to the more traditional `requirements.txt`, if that is what you are currently using to track Python dependencies.\n\n### Real World Example\n\nYou can find an example of a playbook that incorporates this role in our main playbook (a.k.a. [Gas Station](https://github.com/ProfessorManhattan/Gas-Station)). The playbook is an excellent example for someone learning how to use Ansible. It also incorporates a lot of well-thought out build tools that more advanced Ansible users can appreciate. And people who could care less about Ansible can also benefit from it because it allows you to more or less turn your computer (and network) into the ultimate development enivornment. The bottom line is that it is an awesome project that developers should know about!\n\n\u003ca href=\"#contributing\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Contributing\n\nContributions, issues, and feature requests are welcome! Feel free to check the [issues page](https://github.com/megabyte-labs/ansible-snapd/issues). If you would like to contribute, please take a look at the [contributing guide](https://github.com/megabyte-labs/ansible-snapd/blob/master/docs/CONTRIBUTING.md).\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eSponsorship\u003c/b\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n\u003cblockquote\u003e\n\u003cbr/\u003e\nDear Awesome Person,\u003cbr/\u003e\u003cbr/\u003e\nI create open source projects out of love. Although I have a job, shelter, and as much fast food as I can handle, it would still be pretty cool to be appreciated by the community for something I have spent a lot of time and money on. Please consider sponsoring me! Who knows? Maybe I will be able to quit my job and publish open source full time.\n\u003cbr/\u003e\u003cbr/\u003eSincerely,\u003cbr/\u003e\u003cbr/\u003e\n\n**_Brian Zalewski_**\u003cbr/\u003e\u003cbr/\u003e\n\n\u003c/blockquote\u003e\n\n\u003ca title=\"Support us on Open Collective\" href=\"https://opencollective.com/megabytelabs\" target=\"_blank\"\u003e\n  \u003cimg alt=\"Open Collective sponsors\" src=\"https://img.shields.io/opencollective/sponsors/megabytelabs?logo=opencollective\u0026label=OpenCollective\u0026logoColor=white\u0026style=for-the-badge\" /\u003e\n\u003c/a\u003e\n\u003ca title=\"Support us on GitHub\" href=\"https://github.com/ProfessorManhattan\" target=\"_blank\"\u003e\n  \u003cimg alt=\"GitHub sponsors\" src=\"https://img.shields.io/github/sponsors/ProfessorManhattan?label=GitHub%20sponsors\u0026logo=github\u0026style=for-the-badge\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.patreon.com/ProfessorManhattan\" title=\"Support us on Patreon\" target=\"_blank\"\u003e\n  \u003cimg alt=\"Patreon\" src=\"https://img.shields.io/badge/Patreon-Support-052d49?logo=patreon\u0026logoColor=white\u0026style=for-the-badge\" /\u003e\n\u003c/a\u003e\n\n### Affiliates\n\nBelow you will find a list of services we leverage that offer special incentives for signing up for their services through our special links:\n\n\u003ca href=\"http://eepurl.com/h3aEdX\" title=\"Sign up for $30 in MailChimp credits\" target=\"_blank\"\u003e\n  \u003cimg alt=\"MailChimp\" src=\"https://cdn-images.mailchimp.com/monkey_rewards/grow-business-banner-2.png\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.digitalocean.com/?refcode=751743d45e36\u0026utm_campaign=Referral_Invite\u0026utm_medium=Referral_Program\u0026utm_source=badge\"\u003e\n  \u003cimg src=\"https://web-platforms.sfo2.digitaloceanspaces.com/WWW/Badge%203.svg\" alt=\"DigitalOcean Referral Badge\" /\u003e\n\u003c/a\u003e\n\n\u003c/details\u003e\n\n\u003ca href=\"#license\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## License\n\nCopyright © 2020-2021 [Megabyte LLC](https://megabyte.space). This project is [MIT](https://gitlab.com/megabyte-labs/ansible-roles/snapd/-/blob/master/LICENSE) licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofessormanhattan%2Fansible-snapd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofessormanhattan%2Fansible-snapd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofessormanhattan%2Fansible-snapd/lists"}