{"id":15700037,"url":"https://github.com/clux/provision","last_synced_at":"2026-03-17T09:40:54.083Z","repository":{"id":3790319,"uuid":"4868509","full_name":"clux/provision","owner":"clux","description":"Arch Linux + Mac provisioning scripts","archived":false,"fork":false,"pushed_at":"2025-04-28T14:23:23.000Z","size":1992,"stargazers_count":6,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"ansible","last_synced_at":"2025-05-08T16:58:45.246Z","etag":null,"topics":["ansible","archlinux","macos"],"latest_commit_sha":null,"homepage":"","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/clux.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}},"created_at":"2012-07-03T05:43:01.000Z","updated_at":"2025-04-28T14:23:26.000Z","dependencies_parsed_at":"2023-10-03T14:39:16.762Z","dependency_job_id":"89a26993-a2d0-4aec-ac49-1ebeb6716bea","html_url":"https://github.com/clux/provision","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/clux%2Fprovision","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clux%2Fprovision/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clux%2Fprovision/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clux%2Fprovision/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clux","download_url":"https://codeload.github.com/clux/provision/tar.gz/refs/heads/ansible","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253112071,"owners_count":21856070,"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","archlinux","macos"],"created_at":"2024-10-03T19:44:37.359Z","updated_at":"2026-03-17T09:40:49.055Z","avatar_url":"https://github.com/clux.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# provision\n[![ci status](https://github.com/clux/provision/actions/workflows/lint.yml/badge.svg)](https://github.com/clux/provision/actions/workflows/lint.yml)\n\nArch Linux provisioning scripts with some Mac bolt-ons.\n\n## Usage\nIf you already have a desktop, then you can just run tag specific runners:\n\n```sh\njust core # generally everything, ask for sudo\njust arch # arch specific only, ask for sudo\njust cargo # install cargo clis not in package mangers\n```\n\nNote that apart from language specific package managers (lpms) we install OS packages out-of-band via either [pacstrap](./arch/pacstrap.sh) or [macstrap](./arch/macstrap.sh).\n\n## Initial Arch Setup\nThis repository also contains a [bunch of experimental scripts](./arch) to set up an arch machine from scratch. Use at own caution.\n\n## Prerequisites\nYou need two USB sticks for the arch deployment.\n\n1. [live environment](https://www.archlinux.org/download/)\n2. [genprov](./arch/genprov.sh) generated volume\n\n## Bootstrap\nBoot into the live environment using EFI boot, mount the provisioning stick on `/prov`, and start the show:\n\n```sh\nexport DCHOSTNAME=\"hprks\" # host we are installing to\nexport DCDISK=/dev/sda # disk we are re-partitioning (and wiping) for installation\n/prov/live.sh # 3 minutes unattended after setting of crypt pass\n```\n\nNote that `$DCHOSTNAME` must exist in [hosts](./hosts).\n\nThen boot to a `root` user (with pass set in prompt) then run bootstap:\n\n```sh\n./firstboot.sh # 5 min unattended middle\n```\n\nThis will ask for a new `$USER` password at the end, and ask you to run the first ansible role.\n\n## Unsafe Packaging\n\nThe goal is to remove all of these:\n\n- [x] `zinit` for [two modules](https://github.com/clux/provision/commit/a164c46c112c69f28fce96b241eef10a343ee41d) now working on both [linux](https://github.com/clux/dotfiles/commit/b7ddab12ddc0011e97f3dd16c390d1e779acc4cf) / [mac](https://github.com/clux/dotfiles/commit/ab7e2fa62772636b15bea884b6784a54d280baac) without aur\n- [ ] `aur` packages listed in [pacstrap](./arch/pacstrap.sh)\n- [x] `vscode` and its extensions [removed](https://github.com/clux/provision/commit/71c72ba2a7c07352c95f4d5e7e869a64db550bc6)\n- [ ] `vim` plugins. originally [replaced by helix](https://github.com/clux/provision/commit/fad5f0f4f5797dc1c013f5926711a4e2e0d98b0b), perhaps again..\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclux%2Fprovision","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclux%2Fprovision","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclux%2Fprovision/lists"}