Dot_Files/roles/arch-post-setup/tasks/main.yml

167 lines
3.8 KiB
YAML

---
# tasks file for arch-post-setup
- name: Ensure yay is installed
kewlfft.aur.aur:
name: yay
- name: Ensure Choatic AUR Mirror List is in Place
become: true
ansible.builtin.shell:
cmd: >
set -o pipefail; yes | pacman-key --recv-key FBA220DFC880C036 --keyserver keyserver.ubuntu.com && yes | pacman-key --lsign-key FBA220DFC880C036 && yes | pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'
creates: /etc/pacman.d/chaotic-mirrorlist
- 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 AMD GPUs for vulkan
- vulkan-radeon
# Access linux machine from phones
- kdeconnect
- chromium
- github-cli
- firefox-developer-edition
- thunderbird
- ffmpeg
- jq
- inotify-tools
- wf-recorder
- mako
- wl-clipboard
- udiskie
- playerctl
- light
- wev
- wofi
- qbittorrent
- qt5-wayland
- qt6-wayland
- swaybg
- bind
- man
- silicon
- slurp
- gifski
- grim
- wireshark-qt
- libva-mesa-driver
- docker
- docker-compose
- docker-buildx
- llvm
- musl
- clang
- bat
- ccache
- timeshift
- power-profiles-daemon
- polkit-kde-agent # Allows apps to elevate themselves by prompting for password, e.g. timeshift
- cronie
- mpv # Video playing from command line
- fuse2 # appimage support
# 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-bin
- xdg-desktop-portal-hyprland-git
- waybar-hyprland-git
- kbct-git
- swaylock-effects-git
- pw-volume
- wezterm-git
- spotify
- powershell-bin
- ttf-ms-win11-auto
- xwaylandvideobridge-cursor-mode-2-git
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
- cronie.service
- man-db.timer
- polkit.service
- name: Import Other Arch Tasks
ansible.builtin.include_tasks:
file: '{{ task }}'
loop_control:
loop_var: task
loop:
- reflector.yml
- bluetooth.yml