--- - 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: