Add local-workstation playbook and role

This commit is contained in:
Salt 2019-10-11 19:12:00 -05:00
parent 2bb29965bd
commit 258047afb7
5 changed files with 117 additions and 1 deletions

View File

@ -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

8
local-workstation.yml Executable file
View File

@ -0,0 +1,8 @@
#!/usr/bin/env ansible-playbook
# vim:ft=ansible:
---
- hosts: localhost
roles:
- common
- user
- workstation

View File

@ -13,7 +13,8 @@
name: "{{ packages }}"
vars:
packages:
- vim
- python-apt
- vim
become: true
- name: Assure Cockpit user
user:

View File

@ -0,0 +1,2 @@
---
allow_duplicates: no

View File

@ -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