diff --git a/group_vars/all/vault.yaml b/group_vars/all/vault.yaml index 225958a..10c05c0 100644 --- a/group_vars/all/vault.yaml +++ b/group_vars/all/vault.yaml @@ -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 diff --git a/group_vars/desktop.yaml b/group_vars/desktop.yaml index 0e19c90..c201701 100644 --- a/group_vars/desktop.yaml +++ b/group_vars/desktop.yaml @@ -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 diff --git a/group_vars/headless.yaml b/group_vars/headless.yaml index 415667c..fc9999b 100644 --- a/group_vars/headless.yaml +++ b/group_vars/headless.yaml @@ -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 diff --git a/inv-local.yaml b/inv-local.yaml index 197eb83..5401094 100644 --- a/inv-local.yaml +++ b/inv-local.yaml @@ -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: diff --git a/play.yaml b/play.yaml index c04d189..13f1f0f 100644 --- a/play.yaml +++ b/play.yaml @@ -44,6 +44,8 @@ tags: power - role: gnupg tags: gnupg + - role: nfs + tags: nfs - role: fonts tags: fonts diff --git a/roles/nfs/defaults/main.yaml b/roles/nfs/defaults/main.yaml new file mode 100644 index 0000000..07f2dae --- /dev/null +++ b/roles/nfs/defaults/main.yaml @@ -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" diff --git a/roles/nfs/handlers/main.yaml b/roles/nfs/handlers/main.yaml new file mode 100644 index 0000000..9c93e0f --- /dev/null +++ b/roles/nfs/handlers/main.yaml @@ -0,0 +1,8 @@ +--- +- name: Restart autofs service + community.general.runit: + name: autofs + state: restarted + retries: 3 + tags: + - services diff --git a/roles/nfs/tasks/main.yaml b/roles/nfs/tasks/main.yaml new file mode 100644 index 0000000..a5ec3af --- /dev/null +++ b/roles/nfs/tasks/main.yaml @@ -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 diff --git a/roles/nfs/templates/auto.nfs.jinja b/roles/nfs/templates/auto.nfs.jinja new file mode 100644 index 0000000..5c82f0f --- /dev/null +++ b/roles/nfs/templates/auto.nfs.jinja @@ -0,0 +1,3 @@ +{% for mount in nfs_mounts %} +{{ mount.name }} -fstype=nfs4,rw,soft {{ mount.src }} +{% endfor %} diff --git a/roles/nfs/templates/nfs.autofs.jinja b/roles/nfs/templates/nfs.autofs.jinja new file mode 100644 index 0000000..5934528 --- /dev/null +++ b/roles/nfs/templates/nfs.autofs.jinja @@ -0,0 +1 @@ +{{ nfs_mount_dir }} /etc/autofs/auto.nfs --timeout=300 diff --git a/roles/pipewire/tasks/main.yaml b/roles/pipewire/tasks/main.yaml index e60fe20..4ce9da4 100644 --- a/roles/pipewire/tasks/main.yaml +++ b/roles/pipewire/tasks/main.yaml @@ -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