{"id":46786601,"url":"https://github.com/lily-gh/dev-bootstrap","last_synced_at":"2026-03-10T01:37:27.087Z","repository":{"id":322137512,"uuid":"1088323997","full_name":"lily-gh/dev-bootstrap","owner":"lily-gh","description":"Easily set up your new dev machine with your favorite tools with Ansible. 👩🏼‍💻","archived":false,"fork":false,"pushed_at":"2026-01-13T08:08:24.000Z","size":44,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-13T10:46:50.686Z","etag":null,"topics":["ansible","automation","dev-bootstrap","developer-setup","developer-tools"],"latest_commit_sha":null,"homepage":"https://dev-bootstrap.sh","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/lily-gh.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-02T18:44:12.000Z","updated_at":"2026-01-13T08:08:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lily-gh/dev-bootstrap","commit_stats":null,"previous_names":["lily-gh/dev-bootstrap"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lily-gh/dev-bootstrap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lily-gh%2Fdev-bootstrap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lily-gh%2Fdev-bootstrap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lily-gh%2Fdev-bootstrap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lily-gh%2Fdev-bootstrap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lily-gh","download_url":"https://codeload.github.com/lily-gh/dev-bootstrap/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lily-gh%2Fdev-bootstrap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30320940,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T01:36:58.598Z","status":"ssl_error","status_checked_at":"2026-03-10T01:36:50.788Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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","automation","dev-bootstrap","developer-setup","developer-tools"],"created_at":"2026-03-10T01:37:26.557Z","updated_at":"2026-03-10T01:37:27.079Z","avatar_url":"https://github.com/lily-gh.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dev Bootstrap\nEasily set up a new computer with developer tools in under 10 minutes.\n\nThese automations have been tested on: MacOS, Ubuntu and Arch Linux.\n  \n### How to use\n#### On MacOS/Ubuntu\n[Download this repository](https://github.com/lily-gh/dev-bootstrap/archive/refs/heads/main.zip), go to the root folder of the repository and run:\n\n```sh\n./bootstrap.sh\n```\n\nEnter the `sudo` password when prompted for the `BECOME` password and sit back while ansible does all the hard work.\n\n#### On Arch\nArch usually doesn't come with `unzip` preinstalled, so the best option is to use `bsdtar`, which comes preinstalled, to unzip the downloaded contents. \n\nHere's a _one-liner_ to download this repository as a `zip` file, unzip it using `bsdtar` and `cd` into the repository folder:\n\n```bash\ncurl -L -o ~/Downloads/dev-bootstrap.zip https://github.com/lily-gh/dev-bootstrap/archive/refs/heads/main.zip \u0026\u0026 cd ~/Downloads \u0026\u0026 bsdtar -xf dev-bootstrap.zip \u0026\u0026 cd dev-bootstrap-main\n```\n\nThen run:\n```sh\n./bootstrap.sh\n```\n\nEnter the `sudo` password when prompted for the `BECOME` password and sit back while ansible does all the hard work.\n\n\n### Packages\nThe playbook in this repository ensures that the following packages/apps are installed:\n  - bat\n  - ffmpeg\n  - fzf\n  - git\n  - gpg\n  - eza\n  - ansible\n  - asdf\n  - neovim  \n  - zsh\n  - zsh-syntax-highlighting\n  - zsh-autosuggestions\n  - oh-my-zsh\n  - powerlevel10k\n  - vlc\n  - telegram\n  - 1password\n\n\n### How it works\nThe main `bootstrap.sh` script will check if ansible is installed in the system, and install it if it's not already installed, then, it will use ansible to start the main playbook with the following command:\n\n```sh\nansible-playbook main.yml --ask-become-pass\n```\n\nWhen **_I_** (Lily) run the script, I pass in an additional parameter `lily` when running `bootstrap.sh`, this causes the script to execute an additional ansible playbook and uses an additional argument:\n\n```sh\nansible-playbook main.yml lily.yml --ask-become-pass --ask-vault-pass\n```\n\nThe `lily.yml` playbook imports two other playbooks that are used to setup my ssh key and download one of my private repos:\n```yml\n- import_playbook: tasks/setup-ssh.yml\n- import_playbook: tasks/clone-lilydevtools.yml \n```\n\nThe parameter `--ask-vault-pass` prompts me for a password to decrypt the ssh key in this repository.\n\n\n## Future Ideas\n### Configuration Wizard\n\nA web-based wizard to help users generate customized Ansible configuration files for their development environment. Similar to [Spring Initializr](https://start.spring.io/), this tool would:\n\n- Provide an interactive interface to select desired tools, languages, and frameworks\n- Allow users to configure version preferences and optional features\n- Generate a tailored `playbook.yml` and variable files based on selections\n- Offer a preview of what will be installed before downloading\n- Enable quick bootstrapping without manually editing configuration files\n\nThis would lower the barrier for users unfamiliar with Ansible syntax while maintaining the flexibility of the underlying automation.\n\n\n## Quality Certificate\n\u003cimg src=\"https://github.com/lily-gh/lily-gh/blob/main/img/works_on_my_machine.png\" width=\"350\" alt=\"Works on my machine\" /\u003e ![Kitty](https://github.com/lily-gh/lily-gh/blob/main/img/kitty_paws.gif)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flily-gh%2Fdev-bootstrap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flily-gh%2Fdev-bootstrap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flily-gh%2Fdev-bootstrap/lists"}