Dot_Files/roles/arch-post-setup/tasks/main.yml
Price Hiller 36a944888c
refactor(arch): use xwaylandvideobridge from source instead of cursor
Patches applied by cursormode are now in upstream (mostly)
2023-10-24 04:13:50 -05:00

219 lines
4.7 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
- wofi
- qbittorrent
- qt5-wayland
- qt6-wayland
- bind
- man
- pavucontrol-qt
- sddm
- silicon
- slurp
- gifski
- feh
- grim
- wireshark-qt
- libva-mesa-driver
- intel-media-driver
- intel-media-sdk
- onevpl-intel-gpu
- docker
- docker-compose
- docker-buildx
- llvm
- protobuf
- sdbus-cpp
- libfido2
- yarn
- musl
- clang
- bat
- ccache
- python-pip
- timeshift
- tlp
- thermald # Handle intel cpu overheating better
- polkit-kde-agent # Allows apps to elevate themselves by prompting for password, e.g. timeshift
- lxappearance
- waybar # Top status bar in DE
- qt6ct
- qt5ct
- gtk-engine-murrine
- mpv # Video playing from command line
- fuse2 # appimage support
# Some deps needed for some neovim plugins
- lua51
- imagemagick
# Tectonic for latex and dependencies
- tectonic
- openssl-1.1
# 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
# Wayland Compositor
- hyprland
- xdg-desktop-portal-hyprland
state: present
- name: Install Needed Programs From AUR
kewlfft.aur.aur:
name:
# 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-bin
- clight-git
- clight-gui-git
- slimbookbattery
- 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:
- tlp.service
- docker.service
- libvirtd.service
- virtlogd.service
- opensnitchd.service
- cronie.service
- man-db.timer
- polkit.service
- sddm.service
- clightd.service
- thermald.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
- swww.service
- swww-init-wallpapers.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
- modprobe-powersave.yml
- dns.yml
- powertop.yml
- pacman-hooks.yml