# 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 ### - name: Configure wpa_supplicant template: src: wpa_supplicant.conf.j2 dest: /etc/wpa_supplicant/wpa_supplicant.conf notify: - etc changed - wpa_supplicant changed become: yes tags: - wificonf - name: Prepare directory for wpa_supplicant service override file: path: /etc/systemd/system/wpa_supplicant@.service.d state: directory mode: "u=rwx,g=rx,o=rx" become: yes - name: Make wpa_supplicant use a common configuration file copy: src: wpa_supplicant.service dest: /etc/systemd/system/wpa_supplicant@.service.d/override.conf become: yes notify: - etc changed - systemd changed - wifi setup changed - name: Disable wpa_supplicant for networkmanager systemd: name: wpa_supplicant enabled: no become: yes notify: - etc changed - wifi setup changed - name: Start/enable wpa_supplicant for interface systemd: name: "wpa_supplicant@{{ item }}" enabled: yes become: yes notify: - etc changed - wifi setup changed loop: "{{ ansible_interfaces }}" when: "item.startswith('wl')" # Could probably use something better like # listing /sys/class/ieee80211/*/device/net/ - name: Uninstall networkmanager pacman: name: networkmanager state: absent extra_args: "--cascade --recursive" when: arch_based become: yes notify: - wifi setup changed - name: Mask systemd-networkd systemd: name: systemd-networkd state: stopped enabled: no masked: yes become: yes notify: etc changed # 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= to GRUB_CMDLINE_LINUX_DEFAULT # $ sudo grub-mkconfig -o /boot/grub/grub.cfg # TODO udevil