Compare commits

..

5 commits

Author SHA1 Message Date
da4f49305e
fix(nfs): Remove deprecated nfs mounting parameter
'intr' is deprecated for nfs (v4?), as it shows in the dmesg kernel
buffer.
2025-10-28 11:44:58 +01:00
5e64e89647
feat(nfs): Add auto mounted nfs filesystem 2025-10-28 11:44:58 +01:00
9c510251ca
feat(vault): Encode system hostname in vault variable 2025-10-28 11:44:57 +01:00
e9accf9621
fix(pipewire): Fix alsa config task naming 2025-10-28 11:44:57 +01:00
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
11 changed files with 145 additions and 29 deletions

View file

@ -1,22 +1,22 @@
$ANSIBLE_VAULT;1.1;AES256
38303561343934626363616162303635316437313931306262313733316433373335663336343433
3963333661613634366462666366326338346538393237310a663635373838356637303464383262
30313034333137313466393963373237336461316530386365383530613533616461396164393937
6135316435636638630a363864303133353137633066336138616133316164346530623035303433
34316338363065666463363162663334333762353832373834666366346639646438663936303231
34646435336335393039343130666338663762643535343139396638306164666566653632336432
30373232626333363530343433326364353061663239623236666436373839383137363536623236
66306330333636303166383737653435636537353630356634353161303834646438316330393061
61323366333530356235663763366361353538613764353561623934366237356363323834393535
66383765636233353831346434323139303562323030616637653136383536363130346662393139
37623439646535653061383963303465653739626331383861616235363564663961323964663938
31666339363166353532336239393735623337376162363633373062653261663936666535383833
38376330636536376631613134323439383465666439643930386335346533383434386637383765
37383033373235653765623531626531623035636665616162653865386361343465656638303664
66326164663631353035383636383536323032666263303636613065656564653766363162623063
35336131373238373135633738363030636665336631653039393561626436623166326434643638
63383230613364333736356434626330373861353635333463343365666162373038643965383361
66356463663161303861366363363066623862623733333131636535333865623035363738383134
36643937383731626366383432366632366332393066356561643363313435653236313139646365
65313061626361663431326236346131346561646439353036316532613562343166343738616331
3834
63643336356536303236626666336363376631316464353734663530393862396664646435346637
6362303761343537323663383361386563313134343236620a633861353333303665396130633332
64376139313165353366306235633138313437643738366662643730343632353034356234636165
3563346435336639650a303437663639636137346665623036613965306663613762323230653931
37376436643866323861656338356137373437623437626632653566626239666433346330373231
39353761646463653866653664353734333761396131303166346163326139363036363531396464
36303430323730623631636537376436633562386239336337303332306663636166303864353866
35356436663337303432383436663336313235346235643935623733306635613938373639323832
66303461356331623138363733333161333338336666356363353232373533386464363163663734
31323334663433373834313737313739363832646465663338306461643636633932316462616437
63376134393139383138366631646361396636396234326339373133633839353830383034306538
35623631386234346537373565643164636430616235656634613361653766313962613962373334
31393639343061336431336265323933323236656330303938623736353864316462633439656533
64323965386235643566643137333864323934663962623065623937323235346233313133623762
63333264613233643765313064613566333536653065333262386432643535373735633735653734
33393933653265393764653565663933343463323463373836303135333234663530393437306661
34393333396537663432313233363035326666333031616530353432336364663239303238643266
63633337376239396632386564353265386434666236636430366337313338646139623834333665
63653966626236346631343533316635663463656363393937356232353138303631386362383934
36636561323434366430383461616365376138633065653866333337616334363534336635303933
35316364636335346233396332663536656637616134376164333435383235393531

View file

@ -12,9 +12,22 @@ packages_de:
- mako
- slurp
- waylock
- wlsunset
- swaybg
- swayidle
packages_gui:
- gimp
- nextcloud-client
- qutebrowser
- python3-adblock # dependency for qutebrowser adblocking
- sioyek
- wdisplays
- wezterm
- timg # requires wezterm
packages_games:
- lutris
- linux-firmware-intel
- mesa-dri # TODO: currently automatically installed by wayland role
- vulkan-loader
- mesa-vulkan-intel
- libva-intel-driver # since I have pre-Coffee Lake CPU. For newer GPUs use intel-media-driver

View file

@ -1,69 +1,86 @@
packages_voidspecific:
- snooze
- vsv # nice service listing util (also svs exists)
- xmirror
- xtools
packages_terminal:
- abduco
- aerc
- ansible
- atuin
- autofs
- bat
- bc
- bottom
- brightnessctl
- carapace
- chafa
- docker
- docker-compose
- docx2txt
- duf
- dust
- enca # provides enconv for vifm previews
- entr
- eza
- fd
- flavours # TODO: To be replaced with tinty
- fwupd
- fuse-sshfs
- gallery-dl
- git-lfs
- go
- goimapnotify
- htop
- iftop
- ImageMagick
- libmagick-devel # required for image.nvim
- incus
- ijq # jiq replacement
- jrnl
- just
- khal
- khard
- lua51
- lua51-devel # required for nvim plugs
- luarocks-lua51 # required for nvim plugs
- miniserve
- moreutils
- msmtp
- neomutt
- neovim
- newsboat
- nmap
- notmuch
- nushell
- papis
- pass
- pdftk
- podman
- python3
- python3-pyperclip # for copying from qutebrowser & neovim
- python3-jupyter
- restic
- ripgrep
- sc-im
- sane
- sane-airscan
- snooze
- starship
- swaybg
- swayidle
- tailspin
- task
- tasksh
- tectonic
- thermald
- timewarrior
- tlp
- tmux
- topgrade
- translate-shell
- uv
- vdirsyncer
- vifm
- visidata
- wezterm
- w3m
- wlopm
- wlsunset
- wtype
- yq-go
- yt-dlp
@ -72,9 +89,20 @@ packages_terminal:
- zr # zsh plugin manager
- zsh
packages_spellcheck:
- enchant2
- enchant2-hunspell
- enchant2-nuspell
- hunspell-en
- hunspell-en_GB-all
- hunspell-de
- hunspell-fr_FR
packages_custom:
- bemoji
- dotter
- filtile-bin
- localsend-go
- ripgrep-all
- netbird-bin
- topen

View file

@ -6,6 +6,7 @@ target_system:
void_local:
ansible_host: 127.0.0.1
ansible_connection: ansible.builtin.local
host_name: "{{ vault_host_name }}"
hostsystem:

View file

@ -44,6 +44,8 @@
tags: power
- role: gnupg
tags: gnupg
- role: nfs
tags: nfs
- role: fonts
tags: fonts

View file

@ -0,0 +1,12 @@
---
nfs_mount_dir: /mnt/nfs
# TODO: Remove hard-coding to IP for vpn access
nfs_mounts:
- name: media
src: "192.168.0.151:/srv/media"
- name: files
src: "192.168.0.151:/srv/files"
- name: videos
src: "192.168.0.151:/mnt/ext/data/videos"

View file

@ -0,0 +1,8 @@
---
- name: Restart autofs service
community.general.runit:
name: autofs
state: restarted
retries: 3
tags:
- services

48
roles/nfs/tasks/main.yaml Normal file
View file

@ -0,0 +1,48 @@
---
- name: Install nfs related packages
community.general.xbps:
name:
- nfs-utils
- autofs
state: "{{ desired_package_state | default('present') }}"
tags:
- packages
- name: Ensure autofs master config directory
ansible.builtin.file:
dest: "/etc/autofs/auto.master.d"
state: directory
mode: "0755"
- name: Add nfs master autofs configuration
ansible.builtin.template:
src: nfs.autofs.jinja
dest: "/etc/autofs/auto.master.d/nfs.autofs"
owner: root
group: root
mode: "0644"
force: true
notify: Restart autofs service
- name: Ensure nfs main mount directory
ansible.builtin.file:
dest: "{{ nfs_mount_dir }}"
state: directory
mode: "0755"
- name: Add nfs automounts configuration
ansible.builtin.template:
src: auto.nfs.jinja
dest: "/etc/autofs/auto.nfs"
owner: root
group: root
mode: "0644"
force: true
notify: Restart autofs service
- name: Enable autofs service
ansible.builtin.file:
force: "yes"
src: "/etc/sv/autofs"
dest: "/etc/runit/runsvdir/default/autofs"
state: link

View file

@ -0,0 +1,3 @@
{% for mount in nfs_mounts %}
{{ mount.name }} -fstype=nfs4,rw,soft {{ mount.src }}
{% endfor %}

View file

@ -0,0 +1 @@
{{ nfs_mount_dir }} /etc/autofs/auto.nfs --timeout=300

View file

@ -56,7 +56,7 @@
- packages
- alsa
- name: Set up wireplumber to auto start
- name: Ensure alsa config directory exists
ansible.builtin.file:
dest: "/etc/alsa/conf.d"
state: directory