This is my own "personal" fork for Ansible roles to setup Pop!_OS. This playbook is focused on quickly deploying a "ready to use" Pop!_OS machine. It installs a number of utilites that I use for homelab work, "dev" work and gaming. This is also where I learn and test out Git and GitHub features and tools. So if you see a lot of odd, pointless commits that would be why.
- Git
- Ansible 2+ (automatically installed from Ansible offical PPA with the provided install.sh script)
First, you need to install Git and Ansible :
$ sudo apt-get install git
$ git clone https://github.com/W00glin/ansible-pop_os-desktop.git
$ cd ansible-pop_os-desktop
$ bash ./install.sh
Then you need to copy the group_vars/all.yml
to group_vars/local.yml
and customize the which role you need suits your needs. All roles are disabled by default. To customize the install, simply enable any of the boolean options in the all.yml
file.
Now if you want to view what the ansible playbook is going to change prior to actually running the playbook you should run ansible-playbook ansible-desktop.yml --check
. From the documentation -
Run ansible-playbook ansible-desktop.yml --ask-become-pass
and enter your sudo password to run the playbook
Optionaly you can run just some of the tags like:
ansible-playbook ansible-desktop.yml --ask-become-pass --tags=common,locales
Tags are named the same as role dirs. If a role is in a sub dir then the tag for that specific role is sepparated with a colon like: aws:cli
. But you can also use aws
and that should install all the roles under the aws
dir.
Role | Description |
---|---|
General | |
common | Install a lot of usefull packages (curl, htop, less, zip ... see corresponding task file |
java-openjdk | Install Default Java JDK. |
🖥️ Desktop tools 💻 | |
desktop | Install a lot of usefull packages (meld, tilda, vlc, xclip). |
filezilla | Install Filezilla (no particular settings, basic installation). |
firefox | Install Firefox (no particular settings, basic installation). |
gimp | Install Gimp and some minor settings. |
nautilus-plugins | Install Nautilus plugins. |
tmux | Install tmux, is a terminal multiplexer. It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal. And do a lot more. |
vagrant | Install Vagrant from online deb file. |
terraform | Install Terraform an open-source infrastructure-as-code software tool created by HashiCorp. |
virtualbox | Install VirtualBox from VirtualBox APT repositories. |
qemu | Install qemu as an alternative to virtualbox if you want to avoid virtualbox and Oracle. |
steam | Install steam video game platform with add GNU/Linux compatability layers. |
numix-circle | Install numix-circle as the icon theme. |
visual studio code | Install Visual Studio Code |
neofetch | Install neofetch, a CLI tool for system info. |
lutris | Install lutris, a game manager tool for GNU/Linux. |
Flameshot | Install Flameshot to screenshot all the things. |
LocalSend | Install LocalSend a FOSS cross-platform filesharing tool. |
📡 Services & server tools 🛠️ | |
ssh | Install OpenSSH Server |
ufw | Install ufw, it is the uncomplicated firewall. |
gufw | Install gufw, it is a graphical interface for ufw. |
cutecom | Install cutecom, it is a graphical interface for interacting with console ports. |
ipmitool | Install ipmitool, it is a CLI tool for managing old IPMI interfaces |
virt-manager | Install virt-manager KVM managment tool. |
wireshark | Install wireshark PCAP file analysis tool. |
nmap | Install nmap, a common CLI tool for network troubleshooting and information gathering. |
openvpn | Install openvpn, for utilizing VPN configs for PIA. |
vagrant | Install Vagrant from online deb file. |
Do whatever you want. This is my fork. I don't plan on upstreaming any of my changes. If you like it, go ahead and fork it, or not. If you want to make changes, feel free to submit a PR.