Commit graph

37 commits

Author SHA1 Message Date
8b778c1b33 feat(packages): Add bluetooth stack 2025-02-26 18:55:55 +01:00
3de5e42b28 feat(audio): Add pipewire stack 2025-02-26 18:55:55 +01:00
3bcf928bc5 feat(inventory): Add local inventory
Can be used to have the ansible playbook run on the currently running
(host) machine, using a local connection instead of a chroot.

TODO: This _will_ change your host machine so be careful running this.
Additionally, we need to find a way to deduplicate the inventory
variables since we have them doubled for chroot/local now.
2025-02-26 18:55:55 +01:00
cf9e8165df
ref(inventory): Create target type indirection
Allows setting the current target to any of the groups sorted by target
type (i.e. 'what' type of machine it is). For example, we currently
target our system to a 'workstation' type machine. But we could switch
it to a headless machine which would not install any of the DE/GUI
grouped packages.
2025-02-23 11:39:26 +01:00
38a4425d94
fix(inventory): Correctly assign groups to keep vars
If assigning a list of 'host's to a group those become actual hosts and
have their own host variables. What we want to use groups with
child/parent relationships to group things is to not directly use hosts.
2025-02-23 11:39:25 +01:00
aae6b2d7ff
ref(inventory): Split packages into groups 2025-02-23 11:39:25 +01:00
8e79c5f804
ref(playbook): Move all plays into separate directory 2025-02-23 11:39:24 +01:00
996560410e
ref(inventory): Make chroot target one child of target systems
This should allow just having a general 'target' system for ansible
which will take all the modifications - but not care whether we connect
to it locally (i.e. running from void) or through chroot.

We can set the connection method for the specific system(s) in whatever
we group as part of the target group then. For local installation we
simply add locally connected hosts and for chroot set up chrooted hosts.
2025-02-23 11:39:24 +01:00
9138d7b66b
ref(chroot): Move exe selection to host variable 2025-02-23 11:39:23 +01:00
b07d7be58d
feat(packages): Set desired package state in group var 2025-02-23 11:39:23 +01:00
55d752ee19
feat(packages): Create unified installation task 2025-02-23 11:39:22 +01:00
7fa1fd38a1
feat(packages): Move font packages to group var 2025-02-23 11:39:22 +01:00
e226be23e9
chore(packages): Formatting 2025-02-23 11:39:21 +01:00
db76d2ae58
feat(packages): Add de interface installation stack
contains input interfaces, display, fonts, etc - all running in
graphical (wayland) environment
2025-02-23 11:39:21 +01:00
b3c5347143
feat(inventory): Change to yaml definition 2025-02-23 11:39:20 +01:00
79a30d2adb
fix(wayland): Do not call non-existent handler 2025-02-23 11:39:19 +01:00
9775627854
ref(packages): Rename from custom to packages 2025-02-23 11:39:19 +01:00
e70b6428fd
ref(inventory): Rename guest group to void 2025-02-23 11:39:18 +01:00
05fd2e1324
feat(custom): Add riverwm and fonts 2025-02-23 10:12:35 +01:00
6aa2188f50
feat(wayland): Add wayland stack 2025-02-23 10:12:35 +01:00
d8450a8ac9
feat(base): Activate acpid service 2025-02-23 10:12:34 +01:00
c321289ca0
feat(custom): Add keyd service 2025-02-23 10:12:33 +01:00
dc0f272c04
feat(base): Add chrony 2025-02-23 10:12:33 +01:00
83e64b6776
feat(user): Enable sudo for wheel group 2025-02-23 10:12:32 +01:00
b57c92d458
feat(base): Only set glibc locales if we are in glibc installation 2025-02-23 10:12:32 +01:00
457fb3517a
feat(network): Create separate networking playbook 2025-02-23 10:12:31 +01:00
f77a5c4e33
ref(base): Rename guest playbook to void_base
Sets up the void basics while other playbooks handle other things
2025-02-23 10:12:31 +01:00
a3df7eeb27
feat(user): Set up user management for void 2025-02-21 17:58:07 +01:00
b3a13f112f
feat(base): Automatically regenerate locales 2025-02-21 17:58:06 +01:00
6ca2a5586d
fix(base): Remove disabled root check for chroot
It does not work like I want it to - presumably since it counts for
tasks _within_ the play while it is the connection for the play itself
which requires root?
2025-02-21 17:58:06 +01:00
cfb30260e4
feat(base): Configure void system 2025-02-21 17:58:05 +01:00
d57196fb67
Put resolvd file into chroot to give chroot void network access 2025-02-21 17:58:04 +01:00
68e1cf4098
Build booster initramfs if it does not exist
Working from a chroot we need to manually look for the existing kernels
and build an initramfs from them. We can not just use the auto detection
functionality since it will detect the _HOST_ system's running kernel.

Instead we get the kernel module dir(s) and manually build a booster
initramfs for each one found.
2025-02-21 17:58:04 +01:00
8a77b201bd
Split up playbooks into host-level and guest-level 2025-02-21 17:58:03 +01:00
bf1e99b197
Create rootfs for mounted void guest 2025-02-21 17:58:03 +01:00
45f9d88890
Install system through chroot 2025-02-21 17:58:02 +01:00
9c06b98fde
Set up basic ansible repo 2025-02-21 17:57:58 +01:00