--- # tasks file for arch-post-setup - name: Ensure yay is installed kewlfft.aur.aur: name: yay - name: Install pacman.conf become: true ansible.builtin.copy: src: pacman.conf dest: /etc/pacman.conf owner: root group: root mode: "0644" - name: Update Pacman Caches become: true community.general.pacman: update_cache: true - name: Install Needed Programs via Pacman become: true community.general.pacman: name: # Pacman goodies, importantly checkupdates used in waybar - pacman-contrib # Driver support for Intel GPUs for vulkan - vulkan-intel # Access linux machine from phones - chromium - github-cli - firefox-developer-edition - thunderbird - ffmpeg - jq - inotify-tools - wf-recorder - mako - wl-clipboard - udiskie - playerctl - wofi - qbittorrent - qt5-wayland - qt6-wayland - bind - man - pavucontrol-qt - sddm - silicon - slurp - gifski - grim - wireshark-qt - libva-mesa-driver - intel-media-driver - docker - docker-compose - docker-buildx - llvm - yarn - musl - clang - bat - ccache - python-pip - timeshift - power-profiles-daemon - polkit-kde-agent # Allows apps to elevate themselves by prompting for password, e.g. timeshift - cronie - qt6ct - qt5ct - gtk-engine-murrine - waybar # Top status bar in DE - mpv # Video playing from command line - fuse2 # appimage support # Opensnitch and dependencies - opensnitch - python-qt-material - python-pyasn # Ansible at the system level - ansible - ansible-lint # Dell audio driver support - sof-firmware - alsa-ucm-conf # Fonts - noto-fonts - noto-fonts-cjk - noto-fonts-emoji - ttf-firacode-nerd - ttf-liberation - ttf-roboto - ttf-opensans - ttf-meslo-nerd # Terminals - kitty # Zathura pdf viewer stuff - zathura - zathura-pdf-mupdf - texlive-latexextra - texlive-lang - texlive-langextra - biber - texlive-bibtexextra - texlive-fontsextra # Virtual Machines - qemu-full - virt-manager - dnsmasq - dmidecode # Command completion for bash & zsh - bash-completion - zsh-completions state: present - name: Install Needed Programs From AUR kewlfft.aur.aur: name: - hyprland-git - xdg-desktop-portal-hyprland-git # Allows vpn to work while opensnitch is running - opensnitch-ebpf-module - swww - qt5-styleplugins - qt6gtk2 - swaylock-effects-git - wev - pw-volume - wezterm-git - spotify - powershell-bin - xwaylandvideobridge-cursor-mode-2-git - clight-git - clight-gui-git - kanagawa-gtk-theme-git - ttf-twemoji state: present - name: Get User ansible.builtin.set_fact: user: "{{ ansible_env.USER | default('sam') }}" changed_when: false - name: Ensure User Groups and Shell Are Set become: true ansible.builtin.user: name: "{{ user }}" groups: - wheel - docker - sys - log - libvirt shell: /usr/bin/zsh state: present when: user is defined and not user == 'root' - name: Enable and Start Needed Systemd Services become: true ansible.builtin.systemd: name: "{{ item }}" state: started enabled: true loop: - power-profiles-daemon.service - docker.service - libvirtd.service - virtlogd.service - opensnitchd.service - cronie.service - man-db.timer - polkit.service - sddm.service - clightd.service - name: Enable and Start Needed Systemd User Services environment: XDG_RUNTIME_DIR: "/run/user/{{ ansible_user_gid }}" ansible.builtin.systemd: name: "{{ item }}" scope: user state: started enabled: true loop: - polkit.service - name: Import Other Arch Tasks ansible.builtin.include_tasks: file: '{{ task }}' loop_control: loop_var: task loop: - reflector.yml - bluetooth.yml - disable-gpu.yml - dns.yml - powertop.yml - pacman-hooks.yml