Ansible plays setting up the complete infrastructure of my voidlinux installation. Usable on local machine or through chroot.
Find a file
Marty Oehme 421df69cc9
feat(acpi): Add custom LID event handling
We disable the default ACPI handler script logic for LID events.
We _only_ disable that in the script - the default handler script will
still fire for LID events, just not do anything in its routine. That is
so that in the future it is easy to rectify with any upstream changes.
If, over time we add more custom event and action chain to our ACPI
settings, we can think about spinning out all event types into our own
rules and completely disabling the deafult handler script.

Our custom LID action only fires for LID open close events, and only
logs that the lid has been opened for open events. For close events, it
adds one extra step before suspending: Checking if any DP screens are
connected - and inhibiting suspend then. That way we still automatically
suspend when closing the screen lid if we are in portable mode (no
external screens connected) but do nothing if they are.
2025-03-13 11:24:17 +01:00
group_vars docs: Update readme and add headless packages 2025-03-13 11:24:15 +01:00
roles feat(acpi): Add custom LID event handling 2025-03-13 11:24:17 +01: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