dotfiles/config/automatrop/roles/system/tasks/main.yml
Geoffrey Frogeye c37a709b01
nix: Wi-Fi configuration
It's, uh, a bit ugly.
But let's try to make it work for now, improve later.
Apparently my wpa_supplicant config file was visible for everyone
already, so that's not a regression :D
2023-10-28 18:53:17 +02:00

166 lines
3.8 KiB
YAML

# TODO For other distributions
# Package are installed with --asdeps because they are needed
# Xorg configuration
- name: Check if there is Intel backlight
stat:
path: /sys/class/backlight/intel_backlight
register: intel_backlight
when: display_server == 'x11'
- name: Install Intel video drivers (Arch based)
pacman:
name: xf86-video-intel
# state: "{{ intel_backlight.stat.exists }}"
state: present
become: yes
when: display_server == 'x11' and intel_backlight.stat.exists and arch_based
# TODO With software role? Would permit other distributions
- name: Configure Xorg Intel backlight
copy:
src: xorg/intel_backlight.conf
dest: "{{ item }}/20-intel_backlight.conf"
become: yes
when: display_server == 'x11' and intel_backlight.stat.exists
notify: etc changed
loop: "{{ xorg_common_config_dirs }}"
- name: Configure Xorg joystick behaviour
copy:
src: xorg/joystick.conf
dest: "{{ item }}/50-joystick.conf"
become: yes
when: display_server == 'x11'
notify: etc changed
loop: "{{ xorg_common_config_dirs }}"
- name: List modules we're using
slurp:
src: /proc/modules
register: modules
when: display_server
# Not sure the module will be loaded in early setup stages though
- name: Make panfrost use OpenGL 3.3
lineinfile:
path: /etc/environment
line: 'PAN_MESA_DEBUG="gl3"'
regexp: '^#? ?PAN_MESA_DEBUG='
become: yes
when: display_server and using_panfrost
vars:
using_panfrost: "{{ 'panfrost' in (modules.content | b64decode) }}"
notify: panfrost config changed
# Numlock on boot
- name: set numlock on boot
copy:
src: getty.service
dest: /etc/systemd/system/getty@.service.d/override.conf
become: yes
notify:
- etc changed
- systemd changed
when: auto_numlock
- name: Unset numlock on boot
file:
path: /etc/systemd/system/getty@.service.d/override.conf
state: absent
become: yes
notify:
- etc changed
- systemd changed
when: not auto_numlock
### STOPPED HERE ###
# Time synchronisation
- name: Mask systemd-timesyncd
systemd:
name: systemd-timesyncd
state: stopped
enabled: no
masked: yes
become: yes
notify: etc changed
- name: Configure chrony
copy:
src: chrony.conf
dest: /etc/chrony.conf
become: yes
notify:
- etc changed
- chrony reconfigured
# TODO More configuration, RTC configuration
- name: Enable chronyd
systemd:
name: chronyd
enabled: yes
become: yes
notify:
- etc changed
- chrony reconfigured
- name: Configure dhcpcd chrony hook
copy:
src: dhcpcd.exit-hook
dest: /etc/dhcpcd.exit-hook
become: yes
notify: etc changed
- name: Empty motd
copy:
content: ""
dest: /etc/motd
mode: "u=rw,g=r,o=r"
become: yes
notify:
- etc changed
# VPN configuration
- name: Prepare directory for openvpn-client service override
file:
path: /etc/systemd/system/openvpn-client@.service.d
state: directory
mode: "u=rwx,g=rx,o=rx"
become: yes
- name: Make openvpn use hooks for resolvconf
copy:
src: openvpn-client.service
dest: /etc/systemd/system/openvpn-client@.service.d/override.conf
become: yes
notify:
- etc changed
- systemd changed
- name: Disable power button
lineinfile:
path: /etc/systemd/logind.conf
line: 'HandlePowerKey=ignore'
regexp: '^#? *HandlePowerKey='
insertafter: '^\[Login\]$'
become: yes
notify: systemd-logind config changed
# Reason: I sometimes press it accidentally
# (hoping to start it when it's already started,
# or really accidentally on the Pinebook).
# Suspend would be nice, but it doesn't have the locker then
# TODO Hibernation, if that's relevant
# $ sudo blkid | grep 'TYPE="swap"'
# $ sudoedit /etc/default/grub
# Add resume=UUID=<UUID-of-swap-partition> to GRUB_CMDLINE_LINUX_DEFAULT
# $ sudo grub-mkconfig -o /boot/grub/grub.cfg
# TODO udevil