automatrop: Run ansible-lint --fix
This commit is contained in:
parent
d60f5aaa9d
commit
9c3dcba2e5
18 changed files with 342 additions and 333 deletions
|
@ -1,46 +1,47 @@
|
|||
---
|
||||
- name: Create a etckeeper commit
|
||||
command: "etckeeper commit 'automatrop {{ ansible_date_time.iso8601 }}'"
|
||||
listen: "etc changed"
|
||||
become: yes
|
||||
ansible.builtin.command: etckeeper commit 'automatrop {{ ansible_date_time.iso8601 }}'
|
||||
listen: etc changed
|
||||
become: true
|
||||
register: etckeeper_commit
|
||||
failed_when: "etckeeper_commit.rc != 0 and 'nothing to commit' not in etckeeper_commit.stdout"
|
||||
failed_when: etckeeper_commit.rc != 0 and 'nothing to commit' not in etckeeper_commit.stdout
|
||||
changed_when: "'nothing to commit' not in etckeeper_commit.stdout"
|
||||
|
||||
- name: Restart chrony
|
||||
systemd:
|
||||
ansible.builtin.systemd:
|
||||
name: chronyd
|
||||
state: restarted
|
||||
listen: chrony reconfigured
|
||||
become: yes
|
||||
become: true
|
||||
|
||||
- name: Reload systemd daemon
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
ansible.builtin.systemd:
|
||||
daemon_reload: true
|
||||
listen: systemd changed
|
||||
become: yes
|
||||
become: true
|
||||
|
||||
- name: Restart wpa_supplicant
|
||||
systemd:
|
||||
name: "wpa_supplicant@{{ item }}"
|
||||
ansible.builtin.systemd:
|
||||
name: wpa_supplicant@{{ item }}
|
||||
state: restarted
|
||||
become: yes
|
||||
become: true
|
||||
loop: "{{ ansible_interfaces }}"
|
||||
when: "item.startswith('wl')"
|
||||
when: item.startswith('wl')
|
||||
listen: wpa_supplicant changed
|
||||
# Could probably use something better like
|
||||
# listing /sys/class/ieee80211/*/device/net/
|
||||
|
||||
- name: Warn about changed Wi-Fi setup
|
||||
debug:
|
||||
msg: "The Wi-Fi configuration was changed, but not applied to let this playbook finish. A reboot is required."
|
||||
ansible.builtin.debug:
|
||||
msg: The Wi-Fi configuration was changed, but not applied to let this playbook finish. A reboot is required.
|
||||
listen: wifi setup changed
|
||||
|
||||
- name: Warn about changed Panfrost config
|
||||
debug:
|
||||
msg: "The Panfrost display driver configuration was changed, but needs a reboot to be applied."
|
||||
ansible.builtin.debug:
|
||||
msg: The Panfrost display driver configuration was changed, but needs a reboot to be applied.
|
||||
listen: panfrost config changed
|
||||
|
||||
- name: Reload systemd-logind
|
||||
command: systemctl kill -s HUP systemd-logind
|
||||
become: yes
|
||||
ansible.builtin.command: systemctl kill -s HUP systemd-logind
|
||||
become: true
|
||||
listen: systemd-logind config changed
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
# TODO For other distributions
|
||||
|
||||
# Package are installed with --asdeps because they are needed
|
||||
|
@ -5,97 +6,96 @@
|
|||
# Etckeeper
|
||||
|
||||
- name: Check if etckeeper is initialized
|
||||
stat:
|
||||
ansible.builtin.stat:
|
||||
path: /etc/.git
|
||||
register: etckeeper
|
||||
become: yes
|
||||
become: true
|
||||
|
||||
- name: Initialize etckeeper
|
||||
command: "etckeeper init"
|
||||
become: yes
|
||||
ansible.builtin.command: etckeeper init
|
||||
become: true
|
||||
when: not etckeeper.stat.exists
|
||||
changed_when: yes
|
||||
changed_when: true
|
||||
|
||||
- name: Configure git user.name for etckeeper
|
||||
git_config:
|
||||
community.general.git_config:
|
||||
scope: local
|
||||
repo: /etc
|
||||
name: "{{ item.name }}"
|
||||
value: "{{ item.value }}"
|
||||
loop:
|
||||
- name: "user.name"
|
||||
value: "etckeeper on {{ inventory_hostname_short }}"
|
||||
- name: "user.email"
|
||||
value: "etckeeper@{{ inventory_hostname }}"
|
||||
become: yes
|
||||
- name: user.name
|
||||
value: etckeeper on {{ inventory_hostname_short }}
|
||||
- name: user.email
|
||||
value: etckeeper@{{ inventory_hostname }}
|
||||
become: true
|
||||
|
||||
# Manjaro configuration
|
||||
|
||||
- name: Remove Manjaro's pamac
|
||||
pacman:
|
||||
community.general.pacman:
|
||||
name: pamac
|
||||
state: absent
|
||||
become: yes
|
||||
become: true
|
||||
when: arch_based and False # I'm trying to remember why I usually delete this thing
|
||||
|
||||
# Verbose logging during boot
|
||||
|
||||
- name: Check if using Uboot
|
||||
stat:
|
||||
ansible.builtin.stat:
|
||||
path: /boot/extlinux/extlinux.conf
|
||||
register: extlinux
|
||||
# This (and the following) was made with the Pinebook in mind,
|
||||
# not sure about compatibility
|
||||
|
||||
- name: Remove non-tty1 console (Uboot)
|
||||
replace:
|
||||
ansible.builtin.replace:
|
||||
path: /boot/extlinux/extlinux.conf
|
||||
regexp: '^APPEND(.*) console=(?!tty1)\S+(.*)$'
|
||||
replace: 'APPEND\1\2'
|
||||
become: yes
|
||||
regexp: ^APPEND(.*) console=(?!tty1)\S+(.*)$
|
||||
replace: APPEND\1\2
|
||||
become: true
|
||||
when: extlinux.stat.exists
|
||||
# Only one console= will be removed because regular expression are either hard
|
||||
# or somewhat limited. It's just what I need anyway
|
||||
|
||||
- name: Remove bootsplash.bootfile (Uboot)
|
||||
replace:
|
||||
ansible.builtin.replace:
|
||||
path: /boot/extlinux/extlinux.conf
|
||||
regexp: '^APPEND(.*) bootsplash.bootfile=\S+(.*)$'
|
||||
replace: 'APPEND\1\2'
|
||||
become: yes
|
||||
regexp: ^APPEND(.*) bootsplash.bootfile=\S+(.*)$
|
||||
replace: APPEND\1\2
|
||||
become: true
|
||||
when: extlinux.stat.exists
|
||||
|
||||
- name: Remove bootsplash packages (Arch based)
|
||||
pacman:
|
||||
community.general.pacman:
|
||||
name:
|
||||
- bootsplash-systemd
|
||||
- bootsplash-theme-manjaro
|
||||
state: absent
|
||||
become: yes
|
||||
become: true
|
||||
when: arch_based
|
||||
|
||||
|
||||
# Display Manager
|
||||
|
||||
- name: Remove display manager packages (Arch based)
|
||||
pacman:
|
||||
community.general.pacman:
|
||||
name:
|
||||
- sddm
|
||||
- sddm-breath2-theme
|
||||
state: absent
|
||||
become: yes
|
||||
become: true
|
||||
when: arch_based
|
||||
|
||||
# Xorg configuration
|
||||
|
||||
- name: Check if there is nvidia-xrun is installed
|
||||
stat:
|
||||
ansible.builtin.stat:
|
||||
path: /etc/X11/nvidia-xorg.conf
|
||||
register: nvidia_xrun
|
||||
when: display_server == 'x11'
|
||||
|
||||
- name: Add nvidia-xrun xorg config directory
|
||||
set_fact:
|
||||
ansible.builtin.set_fact:
|
||||
xorg_common_config_dirs: "{{ xorg_default_config_dirs + xorg_nvidia_config_dirs }}"
|
||||
vars:
|
||||
xorg_default_config_dirs:
|
||||
|
@ -104,78 +104,78 @@
|
|||
when: display_server == 'x11'
|
||||
|
||||
- name: Configure Xorg keyboard layout
|
||||
copy:
|
||||
ansible.builtin.copy:
|
||||
src: xorg/keyboard.conf
|
||||
dest: "{{ item }}/00-keyboard.conf"
|
||||
become: yes
|
||||
become: true
|
||||
when: display_server == 'x11'
|
||||
notify: etc changed
|
||||
loop: "{{ xorg_common_config_dirs }}"
|
||||
|
||||
- name: Use Alt keys for numpad
|
||||
patch:
|
||||
ansible.posix.patch:
|
||||
src: us_qwert_alt_numpad.patch
|
||||
dest: /usr/share/X11/xkb/symbols/us_qwerty-fr
|
||||
become: yes
|
||||
become: true
|
||||
when: display_server == 'x11'
|
||||
# This is not very nice but it's updated so infrequently that it's not worth
|
||||
# the trouble
|
||||
|
||||
- name: Check if there is Intel backlight
|
||||
stat:
|
||||
ansible.builtin.stat:
|
||||
path: /sys/class/backlight/intel_backlight
|
||||
register: intel_backlight
|
||||
when: display_server == 'x11'
|
||||
|
||||
- name: Install Intel video drivers (Arch based)
|
||||
pacman:
|
||||
community.general.pacman:
|
||||
name: xf86-video-intel
|
||||
# state: "{{ intel_backlight.stat.exists }}"
|
||||
state: present
|
||||
become: yes
|
||||
become: true
|
||||
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:
|
||||
ansible.builtin.copy:
|
||||
src: xorg/intel_backlight.conf
|
||||
dest: "{{ item }}/20-intel_backlight.conf"
|
||||
become: yes
|
||||
become: true
|
||||
when: display_server == 'x11' and intel_backlight.stat.exists
|
||||
notify: etc changed
|
||||
loop: "{{ xorg_common_config_dirs }}"
|
||||
|
||||
- name: Configure Xorg touchpad behaviour
|
||||
copy:
|
||||
ansible.builtin.copy:
|
||||
src: xorg/touchpad.conf
|
||||
dest: "{{ item }}/30-touchpad.conf"
|
||||
become: yes
|
||||
become: true
|
||||
when: display_server == 'x11'
|
||||
notify: etc changed
|
||||
loop: "{{ xorg_common_config_dirs }}"
|
||||
|
||||
- name: Configure Xorg joystick behaviour
|
||||
copy:
|
||||
ansible.builtin.copy:
|
||||
src: xorg/joystick.conf
|
||||
dest: "{{ item }}/50-joystick.conf"
|
||||
become: yes
|
||||
become: true
|
||||
when: display_server == 'x11'
|
||||
notify: etc changed
|
||||
loop: "{{ xorg_common_config_dirs }}"
|
||||
|
||||
- name: List modules we're using
|
||||
slurp:
|
||||
ansible.builtin.slurp:
|
||||
src: /proc/modules
|
||||
register: 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:
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/environment
|
||||
line: 'PAN_MESA_DEBUG="gl3"'
|
||||
regexp: '^#? ?PAN_MESA_DEBUG='
|
||||
become: yes
|
||||
line: PAN_MESA_DEBUG="gl3"
|
||||
regexp: ^#? ?PAN_MESA_DEBUG=
|
||||
become: true
|
||||
when: display_server and using_panfrost
|
||||
vars:
|
||||
using_panfrost: "{{ 'panfrost' in (modules.content | b64decode) }}"
|
||||
|
@ -183,21 +183,21 @@
|
|||
|
||||
# Numlock on boot
|
||||
|
||||
- name: set numlock on boot
|
||||
copy:
|
||||
- name: Set numlock on boot
|
||||
ansible.builtin.copy:
|
||||
src: getty.service
|
||||
dest: /etc/systemd/system/getty@.service.d/override.conf
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- etc changed
|
||||
- systemd changed
|
||||
when: auto_numlock
|
||||
|
||||
- name: Unset numlock on boot
|
||||
file:
|
||||
ansible.builtin.file:
|
||||
path: /etc/systemd/system/getty@.service.d/override.conf
|
||||
state: absent
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- etc changed
|
||||
- systemd changed
|
||||
|
@ -206,163 +206,163 @@
|
|||
# TLP configuration
|
||||
|
||||
- name: Start/enable TLP
|
||||
systemd:
|
||||
ansible.builtin.systemd:
|
||||
name: tlp
|
||||
state: started
|
||||
enabled: yes
|
||||
become: yes
|
||||
enabled: true
|
||||
become: true
|
||||
notify: etc changed
|
||||
|
||||
# Network configuration
|
||||
|
||||
- name: Start/enable dhcpcd
|
||||
systemd:
|
||||
ansible.builtin.systemd:
|
||||
name: dhcpcd
|
||||
state: started
|
||||
enabled: yes
|
||||
become: yes
|
||||
enabled: true
|
||||
become: true
|
||||
notify: etc changed
|
||||
|
||||
- name: Configure wpa_supplicant
|
||||
template:
|
||||
ansible.builtin.template:
|
||||
src: wpa_supplicant.conf.j2
|
||||
dest: /etc/wpa_supplicant/wpa_supplicant.conf
|
||||
notify:
|
||||
- etc changed
|
||||
- wpa_supplicant changed
|
||||
become: yes
|
||||
become: true
|
||||
tags:
|
||||
- wificonf
|
||||
|
||||
- name: Prepare directory for wpa_supplicant service override
|
||||
file:
|
||||
ansible.builtin.file:
|
||||
path: /etc/systemd/system/wpa_supplicant@.service.d
|
||||
state: directory
|
||||
mode: "u=rwx,g=rx,o=rx"
|
||||
become: yes
|
||||
mode: u=rwx,g=rx,o=rx
|
||||
become: true
|
||||
|
||||
- name: Make wpa_supplicant use a common configuration file
|
||||
copy:
|
||||
ansible.builtin.copy:
|
||||
src: wpa_supplicant.service
|
||||
dest: /etc/systemd/system/wpa_supplicant@.service.d/override.conf
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- etc changed
|
||||
- systemd changed
|
||||
- wifi setup changed
|
||||
|
||||
- name: Disable wpa_supplicant for networkmanager
|
||||
systemd:
|
||||
ansible.builtin.systemd:
|
||||
name: wpa_supplicant
|
||||
enabled: no
|
||||
become: yes
|
||||
enabled: false
|
||||
become: true
|
||||
notify:
|
||||
- etc changed
|
||||
- wifi setup changed
|
||||
|
||||
- name: Start/enable wpa_supplicant for interface
|
||||
systemd:
|
||||
name: "wpa_supplicant@{{ item }}"
|
||||
enabled: yes
|
||||
become: yes
|
||||
ansible.builtin.systemd:
|
||||
name: wpa_supplicant@{{ item }}
|
||||
enabled: true
|
||||
become: true
|
||||
notify:
|
||||
- etc changed
|
||||
- wifi setup changed
|
||||
loop: "{{ ansible_interfaces }}"
|
||||
when: "item.startswith('wl')"
|
||||
when: item.startswith('wl')
|
||||
# Could probably use something better like
|
||||
# listing /sys/class/ieee80211/*/device/net/
|
||||
|
||||
- name: Uninstall networkmanager
|
||||
pacman:
|
||||
community.general.pacman:
|
||||
name: networkmanager
|
||||
state: absent
|
||||
extra_args: "--cascade --recursive"
|
||||
extra_args: --cascade --recursive
|
||||
when: arch_based
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- wifi setup changed
|
||||
|
||||
- name: Mask systemd-networkd
|
||||
systemd:
|
||||
ansible.builtin.systemd:
|
||||
name: systemd-networkd
|
||||
state: stopped
|
||||
enabled: no
|
||||
masked: yes
|
||||
become: yes
|
||||
enabled: false
|
||||
masked: true
|
||||
become: true
|
||||
notify: etc changed
|
||||
|
||||
# Time synchronisation
|
||||
|
||||
- name: Mask systemd-timesyncd
|
||||
systemd:
|
||||
ansible.builtin.systemd:
|
||||
name: systemd-timesyncd
|
||||
state: stopped
|
||||
enabled: no
|
||||
masked: yes
|
||||
become: yes
|
||||
enabled: false
|
||||
masked: true
|
||||
become: true
|
||||
notify: etc changed
|
||||
|
||||
- name: Configure chrony
|
||||
copy:
|
||||
ansible.builtin.copy:
|
||||
src: chrony.conf
|
||||
dest: /etc/chrony.conf
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- etc changed
|
||||
- chrony reconfigured
|
||||
# TODO More configuration, RTC configuration
|
||||
|
||||
- name: Enable chronyd
|
||||
systemd:
|
||||
ansible.builtin.systemd:
|
||||
name: chronyd
|
||||
enabled: yes
|
||||
become: yes
|
||||
enabled: true
|
||||
become: true
|
||||
notify:
|
||||
- etc changed
|
||||
- chrony reconfigured
|
||||
|
||||
- name: Configure dhcpcd chrony hook
|
||||
copy:
|
||||
ansible.builtin.copy:
|
||||
src: dhcpcd.exit-hook
|
||||
dest: /etc/dhcpcd.exit-hook
|
||||
become: yes
|
||||
become: true
|
||||
notify: etc changed
|
||||
|
||||
- name: Empty motd
|
||||
copy:
|
||||
ansible.builtin.copy:
|
||||
content: ""
|
||||
dest: /etc/motd
|
||||
mode: "u=rw,g=r,o=r"
|
||||
become: yes
|
||||
mode: u=rw,g=r,o=r
|
||||
become: true
|
||||
notify:
|
||||
- etc changed
|
||||
|
||||
# VPN configuration
|
||||
|
||||
- name: Prepare directory for openvpn-client service override
|
||||
file:
|
||||
ansible.builtin.file:
|
||||
path: /etc/systemd/system/openvpn-client@.service.d
|
||||
state: directory
|
||||
mode: "u=rwx,g=rx,o=rx"
|
||||
become: yes
|
||||
mode: u=rwx,g=rx,o=rx
|
||||
become: true
|
||||
|
||||
- name: Make openvpn use hooks for resolvconf
|
||||
copy:
|
||||
ansible.builtin.copy:
|
||||
src: openvpn-client.service
|
||||
dest: /etc/systemd/system/openvpn-client@.service.d/override.conf
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- etc changed
|
||||
- systemd changed
|
||||
|
||||
- name: Disable power button
|
||||
lineinfile:
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/systemd/logind.conf
|
||||
line: 'HandlePowerKey=ignore'
|
||||
regexp: '^#? *HandlePowerKey='
|
||||
insertafter: '^\[Login\]$'
|
||||
become: yes
|
||||
line: HandlePowerKey=ignore
|
||||
regexp: ^#? *HandlePowerKey=
|
||||
insertafter: ^\[Login\]$
|
||||
become: true
|
||||
notify: systemd-logind config changed
|
||||
# Reason: I sometimes press it accidentally
|
||||
# (hoping to start it when it's already started,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue