{"id":20714351,"url":"https://github.com/junjuew/ansible-dotfiles","last_synced_at":"2026-02-04T09:09:05.491Z","repository":{"id":79257449,"uuid":"82955052","full_name":"junjuew/ansible-dotfiles","owner":"junjuew","description":"Machine Bootstrap Scripts","archived":false,"fork":false,"pushed_at":"2023-04-04T00:10:32.000Z","size":237,"stargazers_count":1,"open_issues_count":4,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-27T22:46:41.672Z","etag":null,"topics":["ansible","bash","fish","fzf","tmux","tmux-conf","z"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/junjuew.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":"2017-02-23T17:50:27.000Z","updated_at":"2023-09-05T09:49:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"cee845a1-5fce-48c2-ae6b-e465444bcb31","html_url":"https://github.com/junjuew/ansible-dotfiles","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/junjuew%2Fansible-dotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junjuew%2Fansible-dotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junjuew%2Fansible-dotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junjuew%2Fansible-dotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/junjuew","download_url":"https://codeload.github.com/junjuew/ansible-dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245001488,"owners_count":20545261,"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","bash","fish","fzf","tmux","tmux-conf","z"],"created_at":"2024-11-17T02:31:25.189Z","updated_at":"2026-02-04T09:09:05.467Z","avatar_url":"https://github.com/junjuew.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automated Configuration, Preferences and Software Installation for Linux using Ansible Scripts\n\nThese ansible scripts gear up your vanilla Linux (with a focus on Ubuntu) with\nhelpful and better defaults and packages to make you smile. In ancient times,\nsuch automated configurations are often implemented with\n[Dotfiles](https://dotfiles.github.io/). But why use easily breakable and hard\nto read shell scripts when we have mature IT automation tools like\n[Ansible](https://www.ansible.com/)?\n\n## Installation\n\n```bash\ngit clone --recurse-submodules -j8 https://github.com/junjuew/ansible-dotfiles.git\n```\n\n## How to Use\n\n### Linux Servers\n1. Modify hosts to be machine hostname or ip.\n3. Modify group_vars/desktops to configure whether you want to install emacs gui, fish, and what fish auto completions scripts to install\n4. Run:\n\n        ./run.sh\n\n### MacOS Dev Machine\n\n1. Modify hosts to be machine hostname or ip. See host-example\n2. Run:\n```\nansible-playbook -u \u003cuser-name\u003e -i hosts macos-setup-playbook.yml\n```\n\n\n## What's in this Repo?\n\n* hosts: inventory file specifying hostnames or IPs and connection configurations of remote machines.\n* group_vars: default variables for groups of machines.\n* requirements.yml: role requirements from Ansible Galaxy.\n* roles: tasks that would be performed for different hosts, organized by roles.\n* hosts-*: host group files with machine access info. Hosts are the target of\n  playbook. There is one such hosts file for each playbook to demonstrate\n  available roles to apply with the playbook.\n* *-playbook.yml: playbooks to set up machines, including\n  * [common-setup-playbook.yml](common-setup-playbook.yml): playbook to setup\n        development machines.\n  * [gpu-passthrough-playbook.yml](gpu-passthrough-playbook.yml): playbook to\n    enable/disable gpu passthrough to kvm guests.\n  * [k8s-gpu-playbook.yml](k8s-gpu-playbook.yml) and\n    [k8s-gpu-cluster-init-playbook.yml](k8s-gpu-cluster-init-playbook.yml):\n    playbooks to install and create k8s GPU cluster.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunjuew%2Fansible-dotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunjuew%2Fansible-dotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunjuew%2Fansible-dotfiles/lists"}