https://github.com/clux/provision
Arch Linux + Mac provisioning scripts
https://github.com/clux/provision
ansible archlinux macos
Last synced: 7 days ago
JSON representation
Arch Linux + Mac provisioning scripts
- Host: GitHub
- URL: https://github.com/clux/provision
- Owner: clux
- Created: 2012-07-03T05:43:01.000Z (over 13 years ago)
- Default Branch: ansible
- Last Pushed: 2025-04-28T14:23:23.000Z (11 months ago)
- Last Synced: 2025-05-08T16:58:45.246Z (11 months ago)
- Topics: ansible, archlinux, macos
- Language: Shell
- Homepage:
- Size: 1.9 MB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# provision
[](https://github.com/clux/provision/actions/workflows/lint.yml)
Arch Linux provisioning scripts with some Mac bolt-ons.
## Usage
If you already have a desktop, then you can just run tag specific runners:
```sh
just core # generally everything, ask for sudo
just arch # arch specific only, ask for sudo
just cargo # install cargo clis not in package mangers
```
Note 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).
## Initial Arch Setup
This repository also contains a [bunch of experimental scripts](./arch) to set up an arch machine from scratch. Use at own caution.
## Prerequisites
You need two USB sticks for the arch deployment.
1. [live environment](https://www.archlinux.org/download/)
2. [genprov](./arch/genprov.sh) generated volume
## Bootstrap
Boot into the live environment using EFI boot, mount the provisioning stick on `/prov`, and start the show:
```sh
export DCHOSTNAME="hprks" # host we are installing to
export DCDISK=/dev/sda # disk we are re-partitioning (and wiping) for installation
/prov/live.sh # 3 minutes unattended after setting of crypt pass
```
Note that `$DCHOSTNAME` must exist in [hosts](./hosts).
Then boot to a `root` user (with pass set in prompt) then run bootstap:
```sh
./firstboot.sh # 5 min unattended middle
```
This will ask for a new `$USER` password at the end, and ask you to run the first ansible role.
## Unsafe Packaging
The goal is to remove all of these:
- [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
- [ ] `aur` packages listed in [pacstrap](./arch/pacstrap.sh)
- [x] `vscode` and its extensions [removed](https://github.com/clux/provision/commit/71c72ba2a7c07352c95f4d5e7e869a64db550bc6)
- [ ] `vim` plugins. originally [replaced by helix](https://github.com/clux/provision/commit/fad5f0f4f5797dc1c013f5926711a4e2e0d98b0b), perhaps again..