Add roles for Arch Linux

This commit is contained in:
Anthony Rose 2020-04-07 15:20:27 +01:00
parent d5b8bc59b7
commit 12a9ad442c
9 changed files with 140 additions and 0 deletions

View file

@ -5,6 +5,9 @@
vars: vars:
gui: false gui: false
tasks: tasks:
- include_role:
name: arch
when: ansible_distribution == 'Archlinux'
- include_role: - include_role:
name: debian name: debian
when: ansible_distribution == 'Debian' when: ansible_distribution == 'Debian'

View file

@ -5,6 +5,9 @@
vars: vars:
gui: true gui: true
tasks: tasks:
- include_role:
name: arch
when: ansible_distribution == 'Archlinux'
- include_role: - include_role:
name: debian name: debian
when: ansible_distribution == 'Debian' when: ansible_distribution == 'Debian'

View file

@ -0,0 +1,19 @@
# Notify ModemManager this device should be ignored
ACTION!="add|change|move", GOTO="mm_usb_device_blacklist_end"
SUBSYSTEM!="usb", GOTO="mm_usb_device_blacklist_end"
ENV{DEVTYPE}!="usb_device", GOTO="mm_usb_device_blacklist_end"
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a2ca", ENV{ID_MM_DEVICE_IGNORE}="1"
LABEL="mm_usb_device_blacklist_end"
# Solo bootloader + firmware access
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a2ca", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a2ca", TAG+="uaccess"
# ST DFU access
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess"
# U2F Zero
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="8acf", TAG+="uaccess"

View file

@ -0,0 +1,7 @@
---
- include: packages-cli.yml
- include: packages-gui.yml
when: gui == true
- include: modules.yml
- include: ssh.yml
- include: solokeys.yml

View file

@ -0,0 +1,13 @@
---
- name: Blacklist pcspkr module
become: true
lineinfile:
path: /etc/modprobe.d/blacklist.conf
line: blacklist pcspkr
create: yes
- name: Blacklist dvb_usb_rtl28xxu module
become: true
lineinfile:
path: /etc/modprobe.d/blacklist.conf
line: blacklist dvb_usb_rtl28xxu
create: yes

View file

@ -0,0 +1,37 @@
---
- name: Upgrade all packages
become: true
pacman:
upgrade: yes
- name: Install CLI packages
become: true
pacman:
name: '{{ packages }}'
state: present
update_cache: yes
vars:
packages:
- ansible
- arch-wiki-docs
- asciidoctor
- bc
- bind-tools
- clang
- git
- gnupg
- lldb
- mc
- nmap
- openssh
- python
- python-psutil
- sudo
- tlp
- tmux
- zsh
- name: Enable TLP
become: true
systemd:
name: tlp.service
enabled: true
state: started

View file

@ -0,0 +1,23 @@
---
- name: Upgrade all packages
become: true
pacman:
upgrade: yes
- name: Install GUI packages
become: true
dnf:
name: '{{ packages }}'
state: present
update_cache: yes
vars:
packages:
- emacs
- evolution
- evolution-ews
- galculator
- gvim
- libgnome-keyring
- nextcloud-client
- remmina
- rxvt-unicode
- xterm

View file

@ -0,0 +1,15 @@
---
- name: install solokeys udev rule
become: true
copy:
src: 70-solokeys-access.rules
dest: /etc/udev/rules.d/70-solokeys-access.rules
register: solokeys_copy
- name: reload udevadm rules
become: true
command: udevadm control --reload-rules
when: solokeys_copy.changed
- name: trigger udevadm
become: true
command: udevadm trigger
when: solokeys_copy.changed

20
roles/arch/tasks/ssh.yml Normal file
View file

@ -0,0 +1,20 @@
---
- name: Disable SSH passwords
become: true
lineinfile:
path: /etc/ssh/sshd_config
regexp: '^#?\w*PasswordAuthentication (yes|no)'
line: 'PasswordAuthentication no'
register: changed_ssh_config
- name: Enable SSH
become: true
systemd:
name: sshd.service
enabled: yes
state: started
- name: Restart SSH
become: true
systemd:
name: sshd.service
state: restarted
when: changed_ssh_config.changed == true