From 258047afb702b028ecc90ae2100f4490e9e802a0 Mon Sep 17 00:00:00 2001 From: Salt Date: Fri, 11 Oct 2019 19:12:00 -0500 Subject: [PATCH] Add local-workstation playbook and role --- ansible.cfg | 1 + local-workstation.yml | 8 +++ roles/common/tasks/main.yml | 3 +- roles/workstation/meta/main.yml | 2 + roles/workstation/tasks/main.yml | 104 +++++++++++++++++++++++++++++++ 5 files changed, 117 insertions(+), 1 deletion(-) create mode 100755 local-workstation.yml create mode 100644 roles/workstation/meta/main.yml create mode 100644 roles/workstation/tasks/main.yml diff --git a/ansible.cfg b/ansible.cfg index 2a2f293..313fda5 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -5,4 +5,5 @@ private_key_file = ~/.ssh/ansible ssh_extra_args =-o ForwardAgent=yes -o StrictHostKeyChecking=no host_key_checking = false deprecation_warnings = false +ask_become_pass = true ask_vault_pass = true diff --git a/local-workstation.yml b/local-workstation.yml new file mode 100755 index 0000000..5a8eba0 --- /dev/null +++ b/local-workstation.yml @@ -0,0 +1,8 @@ +#!/usr/bin/env ansible-playbook +# vim:ft=ansible: +--- +- hosts: localhost + roles: + - common + - user + - workstation diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml index 1cdf570..a6eb4e0 100644 --- a/roles/common/tasks/main.yml +++ b/roles/common/tasks/main.yml @@ -13,7 +13,8 @@ name: "{{ packages }}" vars: packages: - - vim + - python-apt + - vim become: true - name: Assure Cockpit user user: diff --git a/roles/workstation/meta/main.yml b/roles/workstation/meta/main.yml new file mode 100644 index 0000000..d098f75 --- /dev/null +++ b/roles/workstation/meta/main.yml @@ -0,0 +1,2 @@ +--- +allow_duplicates: no diff --git a/roles/workstation/tasks/main.yml b/roles/workstation/tasks/main.yml new file mode 100644 index 0000000..6ce8c00 --- /dev/null +++ b/roles/workstation/tasks/main.yml @@ -0,0 +1,104 @@ +#!/usr/bin/ansible-playbook +# vim:ft=ansible: +--- +- name: Add third-party repos + apt_repository: + repo: + - "ppa:dolphin-emu/ppa" # A GCN and Wii emulator + become: true +- name: Remove unwanted packages + apt: + name: + - lightlocker # I use xfce4-screensaver instead + state: absent + become: true +- name: Install DE + apt: + name: + - dunst # Notification daemon + - notify-send # A requirement for several of my scripts + - pavucontrol # Not strictly required but very nice to have + - policykit-1-gnome # Because I've heard reports that XFCE on 18.04 may not include a pokit agent + - qt5ct # Qt needs some love too + - redshift # Red light filter is basically required + - rofi # dmenu would also work I guess, but this one looks nice + - xfce4 # Base DE + - xfce4-goodies # More base DE + - xfce4-screensaver # Because lightlocker likes to shut my monitors off sometimes + - xcompmgr # Compositor, because the default a shit + become: true +- name: Install themes + apt: + name: + - arc-theme # Because plebian + - papirus-icon-theme # Because more plebian but also flat + - dmz-cursor-theme # Looks baller, fight me + become: true +- name: Install fonts + apt: + name: + - fonts-inconsolata # Inconsolata for monospace + - fonts-noto # Noto Sans for variable-width + become: true +- name: Install desktop utilities + apt: + name: + - audacity # For that once in a while audio edit + - dropbox # Because I haven't into Nextcloud yet + - filelight # Disk usage statistics are nice + - firefox # Web browser + - gimp # The GIMP + - gparted # Every good desktop needs a partition editor + - imagemagick # Wew IM + - inkscape # I'm no vector artist, but this is handy + - libreoffice # I use it less frequently than inkscape but sure + - liferea # Feed reader + - mpd # Music because music + - mpv # An actually good video player + - qbittorrent # The best bittorrent client, bar none + - sonata # An MPD frontend + - syncthing + - syncthing-gtk # These two are separate so that the daemon itself is marked as installed + - thunderbird # I'm one of like four people who actually use a mail client + - virt-manager # VM manager for toys + become: true +- name: Install games + apt: + name: + - dolphin-emu-master # BLEEDING EDGE EMULATION + - lutris # Windows vidya + - minetest # Minecraft but FOSS and cubic chunks + - steam # Basically mandatory + become: true +- name: Install miscellaneous utilities through apt + apt: + name: + - build-essential # Because of course + - curl # For some reason this isn't usually in the default install + - ffmpeg # Very useful for compressing your animus (slowly over the course of a week) + - g810-led # Because keyboards + - htop # Regular top a shit + - pip # Aw shit, here we go again + - shellcheck # Because I write a ton of scripts + - snapd # A default component of every Ubuntu install but let's just make sure + become: true +- name: Install miscellaneous utilities through pip + pip: + name: + - youtube-dl + become: true + become_user: salt +- name: Install Discord + apt: + # Chat client everyone uses + deb: "https://discordapp.com/api/download?platform=linux&format=deb" + become: true +- name: Install Riot via Snap + snap: + # Chat client I wish everyone would use + name: "riot-web" + become: true +- name: Install MultiMC wrapper + apt: + deb: "https://files.multimc.org/downloads/multimc_1.3-1.deb" + become: true