186 lines
5.4 KiB
YAML
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:
|