Ansible plays setting up the complete infrastructure of my voidlinux installation. Usable on local machine or through chroot.
Find a file
Marty Oehme e51abbfebe
feat(packages): Add packages to installation groups
Many new packages added which I am using. Some void-specific packages,
mostly usable for headless devices, but some specific to desktop (GUI)
devices, which are added to the relevant group variable file.

Additionally, contains some custom packages from my personal repository,
which I am not sure yet how to best proceed with. But since we also
install my custom repo (in the packages role) this should be fine for
the moment.
2025-10-28 11:44:56 +01:00
group_vars feat(packages): Add packages to installation groups 2025-10-28 11:44:56 +01:00
roles feat(packages): If yq-go is installed make it callable as yq 2025-09-02 12:27:24 +02:00
.gitignore ref(inventory): Split up inventory into group vars 2025-03-13 11:24:13 +01:00
ansible.cfg ref(inventory): Split up inventory into group vars 2025-03-13 11:24:13 +01:00
inv-chroot.yaml ref(inventory): Split up inventory into group vars 2025-03-13 11:24:13 +01:00
inv-local.yaml ref(inventory): Split up inventory into group vars 2025-03-13 11:24:13 +01:00
play.yaml ref(acpi): Spin out acpi role 2025-03-13 11:24:16 +01:00
README.md docs: Update readme and add headless packages 2025-03-13 11:24:15 +01:00
requirements.yaml Set up basic ansible repo 2025-02-21 17:57:58 +01:00

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
  • 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