{"id":19876412,"url":"https://github.com/foo-dogsquared/ansible-playbooks","last_synced_at":"2025-10-08T09:19:23.751Z","repository":{"id":115061203,"uuid":"470969305","full_name":"foo-dogsquared/ansible-playbooks","owner":"foo-dogsquared","description":"Reaching the declarative desktop management ala-NixOS with Ansible","archived":false,"fork":false,"pushed_at":"2022-06-13T00:59:56.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-11T17:22:17.274Z","etag":null,"topics":["ansible","ansible-playbook","ansible-playbooks"],"latest_commit_sha":null,"homepage":"","language":null,"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/foo-dogsquared.png","metadata":{"files":{"readme":"README.adoc","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":"2022-03-17T11:39:45.000Z","updated_at":"2022-03-17T12:00:19.000Z","dependencies_parsed_at":"2023-06-02T12:16:38.689Z","dependency_job_id":null,"html_url":"https://github.com/foo-dogsquared/ansible-playbooks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo-dogsquared%2Fansible-playbooks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo-dogsquared%2Fansible-playbooks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo-dogsquared%2Fansible-playbooks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo-dogsquared%2Fansible-playbooks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/foo-dogsquared","download_url":"https://codeload.github.com/foo-dogsquared/ansible-playbooks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241304296,"owners_count":19941101,"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","ansible-playbook","ansible-playbooks"],"created_at":"2024-11-12T16:32:58.468Z","updated_at":"2025-10-08T09:19:23.700Z","avatar_url":"https://github.com/foo-dogsquared.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"= foo-dogsquared's Ansible playbooks\n:toc:\n\nThis is my link:https://www.ansible.com/[Ansible] playbooks for various systems (only for Fedora desktop for now).\nThis is an attempt in making a reproducible and declarative desktop management ala\\-link:https://nixos.org/[NixOS] (and link:https://guix.gnu.org/[Guix]).\n\n\n\n\n== A tour of the project\n\nWelcome to the project, wandering \"declarative desktop management\" dreamers!\nHere's one of the many ways to achieve what you've been looking for while the world is not enlightened yet.\n\n\n=== Prerequisites\n\nFor this project to work, you need the following dependencies.\n\n* Ansible (of course)\n* `ansible-galaxy`\n\nThe playbook collection also makes use of several collections from link:https://galaxy.ansible.com/[Ansible Galaxy].\nThis mainly includes the following collections.\n\n* `ansible.posix`\n* `community.general`\n\n\n=== Core tasks\n\nThe maintenance required for this project is not that big.\nIt requires the same amount of attention as often as you install operating systems for the desktop (unless that's what you do professionally).\n\nThis playbook collection is primarily intended for automating my personal desktop systems.\nIt shouldn't require an Ansible server running but having one is immensely beneficial.\nAll operations are assumed to be done at the project root.\n\nThe main commands to interact with the playbooks can be summarized in this postcard-sized code block.\n\n[source, shell]\n----\n# To do the thing for one of your host.\nansible-playbook --ask-become-pass $PLAYBOOK_FILE\n\n# Checking time!\nansible-playbook --ask-become-pass --check $PLAYBOOK_FILE\n----\n\n\n=== Project structure\n\nThis Ansible playbook collection takes a lot of cues from https://gitlab.com/jwflory/swiss-army/[Justin W. Flory's Ansible playbooks] down to the very folder structure.\n\n[source, tree]\n----\nansible-playbooks\n├── inventory/  \u003c1\u003e\n├── playbooks/  \u003c2\u003e\n├── roles/      \u003c3\u003e\n├── ansible.cfg \u003c4\u003e\n└── README.adoc\n----\n\n\u003c1\u003e Contains the inventory for the Ansible server.\nfootnote:[Though, this is mostly meant to be used locally.]\n\n\u003c2\u003e Various playbooks for various setups.\nPractically, this is similar to the `hosts` directory from my link:https://github.com/foo-dogsquared/nixos-config[NixOS configuration].\n\n\u003c3\u003e Contains the roles that mainly contain modularized tasks.\nThis is similarly used to the `modules` directory from my link:https://github.com/foo-dogsquared/nixos-config[NixOS configuration].\n\n\u003c4\u003e The custom configuration for the Ansible server.\n\n\n\n\n== Resources\n\nThis configuration may evolve into an abominable framework of configuration over time.\nAt some point, it won't be the simple \"Hello World\"-esque reference for Ansible.\nIf you're looking where to start learning about this, I've saved a list of them from the beginning:\n\n* link:https://fedoramagazine.org/using-ansible-setup-workstation/[Fedora Magazine's article with a very simple example.]\nThis is where I first found about it and the very beginning of the Ansible usage journey.\n\n* The link:https://docs.ansible.com/ansible/latest/user_guide/index.html[user guide from the official documentation].\n\n* Some already existing configurations laying out and about on the internet...\n** link:https://gitlab.com/jwflory/swiss-army/[Justin W. Flory's Ansible playbooks] are a nice example on getting a complete configuration with Ansible.\n** link:https://github.com/fabaff/fedora-ansible/[fabaff's Ansible playbook for Fedora] is a perfect example for Fedora-specific configurations and it is simpler compared to the previously mentioned examples.\n** link:https://github.com/89luca89/ansible-fedora-minimal[89luca89's Ansible playbook for a minimal Fedora installation.] It's a simpler example than the previous making it easier to explore the features.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoo-dogsquared%2Fansible-playbooks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoo-dogsquared%2Fansible-playbooks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoo-dogsquared%2Fansible-playbooks/lists"}