summaryrefslogtreecommitdiff
path: root/chaos-at-home/ch-equinox-ws.yml
blob: e89df4f3e6c7eb485ace3de6c104e7fce3b3846f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
---
- name: Basic Setup
  hosts: ch-equinox-ws
  roles:
  - role: apt-repo/base
  - role: core/base
  - role: core/sshd/base
  - role: core/zsh
  - role: core/cpu-microcode
  - role: network/wakeonlan
  post_tasks:
  - name: get list of foreign architectures from dpkg
    command: dpkg --print-foreign-architectures
    changed_when: false
    register: dpkg_foreign_architectures
    check_mode: no
  - name: add i386 to dpkg foreign architectures
    when: "'i386' not in dpkg_foreign_architectures.stdout_lines"
    command: dpkg --add-architecture i386

- name: Payload Setup
  hosts: ch-equinox-ws
  roles:
  - role: apt-repo/backports
  - role: apt-repo/spreadspace
  - role: apt-repo/ansible
  - role: apt-repo/tor-project
  - role: apt-repo/kubernetes
  - role: apt-repo/element
  - role: apt-repo/kicad6
  - role: storage/zfs/base
  - role: storage/zfs/sanoid
  - role: ws/base
  - role: core/users
  - role: ws/pipewire
  - role: ws/flatpak
  post_tasks:
  - name: disable caps-lock
    lineinfile:
      path: /etc/default/keyboard
      regexp: '#?\s*XKBOPTIONS='
      line: 'XKBOPTIONS="caps:none"'

  - name: mount fileserver volumes
    mount:
      src: "{{ network_zones.lan.prefix | ansible.utils.ipaddr(network_zones.lan.offsets['ch-prometheus']) | ansible.utils.ipaddr('address') }}:/"
      path: /srv/files
      fstype: nfs4
      opts: nodev,x-systemd.automount,nofail
      state: mounted

  - name: install deps for c3voc/cm repo
    pip:
      name:
      - "bundlewrap>=4.13.6"
      - "bundlewrap-keepass"

  # - name: install gotify-desktop
  #   become: yes
  #   become_method: su
  #   become_user: "equinox"
  #   block:
  #   - name: get list of installed cargo crates
  #     check_mode: no
  #     command: "cargo install --list"
  #     changed_when: false
  #     register: installed_cargo_crates

  #   - name: build
  #     loop:
  #     - name: gotify-desktop
  #       version: 1.2.0
  #       url: https://github.com/desbma/gotify-desktop.git
  #     loop_control:
  #       label: "{{ item.name }} ({{ item.version }})"
  #     when: (item.name+' v'+ item.version) not in installed_cargo_crates.stdout
  #     command: "cargo install --git '{{ item.url }}' --tag '{{ item.version }}'"