{"id":19319392,"url":"https://github.com/loksonarius/workstation-setup","last_synced_at":"2025-04-22T17:31:50.124Z","repository":{"id":46798493,"uuid":"216890542","full_name":"loksonarius/workstation-setup","owner":"loksonarius","description":"Ansible playbooks to configure my development machines","archived":true,"fork":false,"pushed_at":"2024-05-06T21:00:21.000Z","size":93,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-24T05:12:41.948Z","etag":null,"topics":["ansible","ansible-playbook","ansible-role","configuration-management","dotfiles"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/loksonarius.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-10-22T19:11:14.000Z","updated_at":"2024-09-14T22:26:39.000Z","dependencies_parsed_at":"2024-01-02T19:37:57.529Z","dependency_job_id":"7c5d2359-6f26-412c-806e-181e6e328cbc","html_url":"https://github.com/loksonarius/workstation-setup","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/loksonarius%2Fworkstation-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loksonarius%2Fworkstation-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loksonarius%2Fworkstation-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loksonarius%2Fworkstation-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loksonarius","download_url":"https://codeload.github.com/loksonarius/workstation-setup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250287603,"owners_count":21405647,"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-role","configuration-management","dotfiles"],"created_at":"2024-11-10T01:23:31.875Z","updated_at":"2025-04-22T17:31:49.764Z","avatar_url":"https://github.com/loksonarius.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# workstation-config\n\n_Ansible playbooks to set up my development machines_\n\n## Bootstrap\n\nRun `./bootstrap.sh` to install the tooling needed to run the setup playbook.\n\n## Running\n\n### tl;dr\n\n```bash\nsource venv/bin/activate\nansible-playbook setup.yaml\n```\n\n### Install Binaries\n\n```bash\nsource venv/bin/activate\nansible-playbook --tags install setup.yaml\n```\n\n### Configure Tooling\n\n```bash\nsource venv/bin/activate\nansible-playbook --tags configure setup.yaml\n```\n\n## Repo Layout\n\n```\n.\n├── LICENSE\n├── README.md\n├── ansible.cfg       # Configures options used by ansible-playbook\n├── bootstrap.sh      # Run this to get Ansible ready to roll\n├── inventory         # Explicitly delcares and configures localhost inventory\n├── requirements.txt  # Requirements file for Ansible venv\n├── roles\n│   └── workstation   # Contains bulk of configuration code\n└── setup.yaml        # Entry point for configuration code\n```\n\n## Iteration\n\nTesting changes for this repo should occur on a local dev machine. Currently,\nmost of the configuration code is specific to OSX, so that's something to keep\nin mind if ever working on getting the workstation role to be OS-agnostic.\n\nTo test changes, run the `setup.yaml` playbook as described in the above usage\ninstructions and check to ensure whatever changes you made worked.\n\nAditionally, the `requirements.txt` file will install `ansible-lint` and\n`yamllint` to the tools installed by pip into `venv`. Before committing code,\nrun the following to check for lint errors:\n\n```bash\n# Lint Ansible\nansible-lint setup.yaml roles/*\n\n# Lint YAML\nyamllint .\n```\n\n## Upgrading\n\nMildly destructive, but if you're looking to upgrade the `ansible` version being\nused by this repo, try:\n\n```bash\n# delete the current venv on disk\nrm -rf venv\n\n# create a new venv with a fresh pip installation\npython3 -m venv --prompt workstation-venv venv\nsource venv/bin/activate\npip install --upgrade pip\n\n# install the project dependencies\npip install ansible yamllint\n\n# freeze the newly set dependency versions\npip freeze \u003e requirements.txt\n```\n\n[:heart:](README.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floksonarius%2Fworkstation-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floksonarius%2Fworkstation-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floksonarius%2Fworkstation-setup/lists"}