ansible/roles/desktop/tasks/main.yml
2020-05-10 01:04:43 -05:00

186 lines
4.8 KiB
YAML

#!/usr/bin/ansible-playbook
# vim:ft=ansible:
---
- name: Configure desktop system
block:
- name: Create config directories
file:
path: "{{ item }}"
state: directory
recurse: yes
loop:
- "/etc/X11/xorg.conf.d"
- name: Nuke some configs
file:
path: "{{ item }}"
state: absent
loop:
# Works around a bug where this causes failed logins
- "/etc/X11/Xsession.d/70im-config_launch"
- name: Copy system configs
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
mode: "{{ item.mode }}"
loop:
- { src: "hosts", dest: "/etc/hosts", mode: "0644" }
- { src: "nomouseaccel.conf", dest: "/etc/X11/xorg.conf.d/90-mouse-acceleration.conf", mode: "0644" }
- { src: "i3.desktop", dest: "/usr/share/xsessions/i3-custom.desktop", mode: "0644" }
- name: Copy udev rules
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
mode: "{{ item.mode }}"
loop:
- { src: "g810-led.rules", dest: "/etc/udev/rules.d/50-g810-led.rules", mode: "0644" }
- { src: "switch-rcm.rules", dest: "/etc/udev/rules.d/50-switch-rcm.rules", mode: "0644" }
notify: reload udev
- name: Reload udev
command: /usr/bin/udevadm trigger
- name: Enable i386 architecture
command: /usr/bin/dpkg --add-architecture i386
- name: Add repos
apt_repository:
repo: "{{ item }}"
loop:
- "ppa:drewwalton19216801/dolphin-master-cosmic" # Because Dolphin doesn't update their shit
- "ppa:lutris-team/lutris"
- name: Update and upgrade apt packages
apt:
upgrade: "yes"
update_cache: yes
# One day
cache_valid_time: 86400
- name: Install terminal packages
apt:
name:
- adb
- build-essential
- earlyoom
- fastboot
- ffmpeg
- git
- lua-check # I am good ComputerCraft guy
- network-manager-openconnect
- network-manager-openvpn
- openjdk-8-jre # For Minecraft
- pwgen
- python3-appdirs
- python3-eyed3
- python3-pip
- python3-pyqt5
- python3-usb # fuselee-gelee
- python3-venv
- qt5-default # For Multimc, should be installed on Kubuntu
- units
- vim
- wamerican # Dictionaries because I have like two scripts that use them
- wamerican-large
- wamerican-huge
- wamerican-insane
- wine
- wine-binfmt
- xz-utils # For Ansible deb support
- name: Install development packages
apt:
install_recommends: no
name:
- php # Dev stuff
- php-xml
- name: Install fonts
apt:
name:
- fonts-inconsolata
- fonts-noto
- fonts-roboto
- name: Install games
apt:
name:
- minetest
- name: Install out-of-repo packages
apt:
deb: "{{ item }}"
loop:
- "https://github.com/MultiMC/MultiMC5/releases/download/0.6.8/multimc_1.4-1.deb"
- "https://d11yldzmag5yn.cloudfront.net/prod/5.0.399860.0429/zoom_amd64.deb"
- name: Install desktop applications through APT
apt:
name:
- cantata
- chromium-browser
- clonezilla
- dolphin-emu-master
- dolphin-plugins
- filelight
- filezilla
- firefox
- g810-led
- gimp
- joy2key
- joystick
- kcolorchooser
- kdenlive
- keepassxc
- kubuntu-desktop
- lutris
- mesa-vulkan-drivers
- mpc
- mpd
- mpv
- mupen64plus-qt
- nextcloud-desktop
- obs-studio
- pulseeffects
- qbittorrent
- redshift
- rofi
- sonata
- steam-installer
- syncthing-gtk
- telegram-desktop
- torbrowser-launcher
- virt-manager
- vulkan-tools
- vulkan-utils
- winetricks
- xdotool
- "libgl1-mesa-dri:i386"
- "mesa-vulkan-drivers:i386"
- name: Install Focal-exclusive desktop applications
apt:
name:
- piper
when: ansible_distribution_release == "focal"
- name: Remove desktop applications through APT
apt:
state: absent
name:
- ktorrent
- name: Install desktop applications through pip3
pip:
executable: "/usr/bin/pip3"
name:
- protontricks
- youtube-dl
- name: Install desktop applications through Snap
snap:
name:
- discord
- riot-web
- scrcpy # Remote Android viewing
- name: Install Snap applications classically
snap:
classic: yes
name: "{{ item }}"
loop:
- slack
- name: Stop services
systemd:
name: "{{ item }}"
enabled: no
state: stopped
loop:
- mpd.socket
- mpd.service
become: yes