# Install void linux from arch linux

Uses btrfs subvolumes, chroot and the void linux root tarball for a full
installation. Can be used for a local system to keep it up-to-date and enable a
whole bunch of services for a full wayland workstation experience. This is
primarily made for _my_ setup to quickly get void linux up and running for
playing around with stuff.

## Usage

Currently the playbook defaults to keeping a 'local' system configured.
That means, you are running ansible on a void installation and it will operate on the local system itself.

To run like that just invoke `(sudo) ansible-playbook play.yaml`
or `(sudo) ansible-playbook play.yaml --tags=backup`
to run a specific tag.

To run a _full_ installation from an arch host system to a btrfs subvolume (through a void tarball)
run `(sudo) ansible-playbook -i inv-chroot.yaml play.yaml`, or a tagged version.

## Roadmap

- [ ] printing
- [ ] scanning
    - scantopaperless needs 'ImageMagick' pkg
    - sane & sane-airscan
- [x] audio
- [ ] arduino/iot
- [ ] vpn
- [ ] statusbar integration
- [ ] custom repository

- automatic kernel rebuild
  - should try to update kernel first (if desired_state == latest)
  - if changed should hook into booster kernel rebuild
  - then delete last kernel?
- automatic kernel boot selection
  - refind should either manually be pointed to correct kernel(s)
  - or kernel/initramfs/config should be renamed to simple items
    - could maybe symlink to `booster-void.img` and `initramfs-void.img`?
    - and then do a search and add subitems for each 6.12.xyz kernel found?


## Package wishlist

Packages I found but did not yet set up:
    - incus

Packages I didn't find in repos:
    - [ ] bemoji!
    - [ ] bugwarrior
    - [ ] viddy
    - [ ] netbird / protonvpn / piactl

packages built xbps-src style:
    - [x] filtile (src)
    - [x] dotter (src)
    - [x] git-bug (src)
    - [~] git-delta

- packages to investigate:
    - [ ] impala (iwd TUI)
    - [ ] localsend