Files
setup_ansible_playbooks/playbook_sway.yml

186 lines
5.4 KiB
YAML

---
- name: Initial installation of WSL arch
hosts: localhost,all
become: yes
pre_tasks:
- name: Run the equivalent of "pacman -Syu" as a separate step
community.general.pacman:
update_cache: yes
upgrade: yes
- name: Install packages
community.general.pacman:
name: sudo,htop,base-devel,git
state: present
- name: Make sure we have a 'wheel' group
group:
name: wheel
state: present
- name: Allow 'wheel' group to have passwordless sudo
lineinfile:
dest: /etc/sudoers
state: present
regexp: '^%wheel'
line: '%wheel ALL=(ALL) NOPASSWD: ALL'
- name: Add the user tobi
ansible.builtin.user:
name: tobi
password: $6$jUZIIwoMDSg8B3OJ$tRKNJe.YHLVQRkbRSvmPJqE4lFUBVKKDxy.K688SW.gUP8VdfrkUeIIa7XqI8ovpncoZlt5VbGk7WxMKBCS191
comment: Tobias Maier
groups: wheel,video
shell: /bin/zsh
- name: Add name to git config
community.general.git_config:
name: user.name
scope: global
value: Tobias Maier
- name: Add email to git config
community.general.git_config:
name: user.email
scope: global
value: git@maiertobi.de
- name: Create the `aur_builder` user
ansible.builtin.user:
name: aur_builder
create_home: yes
group: wheel
- name: Allow the `aur_builder` user to run `sudo pacman` without a password
ansible.builtin.lineinfile:
path: /etc/sudoers.d/11-install-aur_builder
line: 'aur_builder ALL=(ALL) NOPASSWD: /usr/bin/pacman'
create: yes
validate: 'visudo -cf %s'
- name: Add number of CPUs to MAKEPKG
ansible.builtin.lineinfile:
path: /etc/makepkg.conf
line: 'MAKEFLAGS="-j$(nproc)"'
create: yes
- name: Install paru using makepkg if it isn't installed already
kewlfft.aur.aur:
name: paru
use: makepkg
state: present
become: yes
become_user: aur_builder
- name: Install ZSH-GIT and reflector from AUR
community.general.pacman:
name: zsh-git,reflector
state: present
executable: paru
become: yes
become_user: aur_builder
- name: Run reflector to update mirrorlist
ansible.builtin.command: reflector --latest 20 --sort rate --save /etc/pacman.d/mirrorlist
- name: Install packages from AUR
community.general.pacman:
name: zsh-git,oh-my-zsh-git,zsh-theme-powerlevel10k-git,zsh-autosuggestions,zsh-syntax-highlighting,nano,ly,ansible,openssh
state: present
executable: paru
become: yes
become_user: aur_builder
- name: Install Sway stuff
community.general.pacman:
name: sway,foot,foot-terminfo,waybar,ttf-font-awesome,sway-launcher-desktop,pipewire,pipewire-pulse,bluez,bluez-utils,firefox,archlinux-wallpaper,iwd,btop,light,wob-git,udiskie,ranger,mako,micro,man,wdisplays,swayidle,swaylock-effects-git,pamixer,qt5-wayland
state: present
executable: paru
become: yes
become_user: aur_builder
- name: Add WLR_RENDERER_ALLOW_SOFTWARE to /etc/environment, needed for testing in VM
ansible.builtin.lineinfile:
path: /etc/environment
regexp: '^WLR_RENDERER_ALLOW_SOFTWARE='
line: WLR_RENDERER_ALLOW_SOFTWARE=1
- name: Clone dotfiles
ansible.builtin.git:
repo: https://gitea.maiertobi.de/tobimai/dotfiles.git
dest: /home/tobi/git/dotfiles
- name: Ensures directories exist
ansible.builtin.file:
path: /home/tobi/{{ item }}
state: directory
group: tobi
owner: tobi
mode: '0744'
loop:
- .config/sway
- .config/foot
- .config/waybar
- .config/mako
- git
- name: Copy ZSH dotfiles
copy:
src: //home/tobi/git/dotfiles/{{ item.src }}
dest: /home/tobi/{{ item.dest }}
remote_src: yes
with_items:
- { src: '.zshrc', dest: '.zshrc' }
- { src: '.p10k.zsh', dest: '.p10k.zsh' }
- name: Copy config files
copy:
src: //home/tobi/git/dotfiles/{{ item.src }}
dest: /home/tobi/.config/{{ item.dest }}
remote_src: yes
owner: tobi
group: tobi
with_items:
- { src: 'sway_config', dest: 'sway/config' }
- { src: 'foot.ini', dest: 'foot/foot.ini' }
- { src: 'waybar/waybar.config', dest: 'waybar/config' }
- { src: 'waybar/style.css', dest: 'waybar/style.css' }
- { src: 'mako.config', dest: 'mako/config' }
- name: Enable services
ansible.builtin.service:
name: "{{ item }}"
enabled: yes
with_items:
- ly
- iwd
- name: Clone install repo for later use
ansible.builtin.git:
repo: https://gitea.maiertobi.de/tobimai/setup_ansible_playbooks.git
dest: /home/tobi/git/setup_ansible
update: no
- name: Change file ownership to tobi
ansible.builtin.file:
path: /home/tobi/git
owner: tobi
group: tobi
recurse: yes
- name: Install More apps
community.general.pacman:
name: visual-studio-code-bin,cargo,python,nextcloud-client
state: present
executable: paru
become: yes
become_user: aur_builder
- name: reboot
reboot: