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

184 lines
3.9 KiB
YAML

---
# 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
- light
- wofi
- qbittorrent
- qt5-wayland
- qt6-wayland
- bind
- man
- sddm
- silicon
- slurp
- gifski
- grim
- wireshark-qt
- libva-mesa-driver
- intel-media-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
- 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
- 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: 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